2.PEGA Interview Dump 1
2.PEGA Interview Dump 1
Activity
10. What is the difference between parameter variable and local variable ?
* Parameter Variable : It is used to pass the values from one rule to another. Param is the keyword.
Local Variable : Scope of local variable is within the activity. Local is the keyword.
11. Keywords:
(Current : It holds the current index values (iteration value)
Last : If we use it will take the last index whatever it is.
Append : Adding one page to page list.
Primary key word : when we use a primary means, it is pointing to a primary class.
Example : suppose we are writing a activity, that activity lies under a class A, in activity we have a loop
step, if we want use the class A properties inside the loop step we can use primary key.
12. Methods :
Call, Branch, Apply-data-transform, commit, page-copy, property-set, page-new, connect-soap,
connect-rest, obj-methods and rdb-methods.
13. Page-Validate:
* Using this methods we can validate all the properties in the page. If a page has a embedded page,
this method validates all of the attributes in a recursive manner.
14. Property-Validate:
* Using this method we can validate the particular property and we can specify more than one
property also.
15. Page-Change-Class:
* Using this method we can change the class of step page in run time.
17. Obj-save-cancel:
* This method rolls back the latest uncommitted obj-save step.
18. Rollback:
* This method rolls back the all uncommitted data.
19. Log-method:
* Types of log files: *Pega logs: These are also called as systems logs. A message was created since
the server starts recently.
*Alert logs: It contains only alerts and supports performance related monitoring.
Agents
28. Queue-for-agent?
* Is the activity method for queuing the items.
29. Class :
* System-Queue_scheduletask.
* Advanced agents : we have a purge activity, we have to delete all assignments which are 10 days old
and this should run everyday 9pm. For this we created a advanced agents and in agent activity we
maintain a logic for fetching assignments and deleting a assignments.
* Standard Agents : best example for standard agents is SLA’s. suppose if we define a sla on
assignment shape, once flow reached the assignments, sla can trigger and it will monitor by pega-pro-
com agent which is standard agent and it will monitor the SLA’s.
Security
33. ARO :
It is nothing but Access of Role to Object : which provide permission to access a item. It is a
combination of class and access role. Once we created ARO we will add a privileges into ot. So that we
can apply these privileges for restricting the users. Generally we will apply these privileges in flow,
flow action, activity, report definition and correspondence rules.
To implementing the Authorization : We have to create a access role, ARO (means of access of role to
object ) and privileges. First we have to add a access role to the acces group and later we have to
apply a privileges to rules so that in run time which operator having this access role those can access.
If operation don’t have this access role than he don’t have a permission to access it.
Service Package
35. I am calling service from connect-soap, while calling how the systems can
identify this is my service package ? what is service package ?
* If any incoming request coming to the service, first it will contact service package and then it will
route to the particular service type, I mean whether it is soap or rest service.
* In service package we can provide Authentication and Authorization information.
36. How ?
* For authorization, we will provide access group, generally it is mandatory parameter.
* Authentication, in a service package have a check box called requires authentication. If we click that
we get authentication types. 1. Basic, 2. Custom, 3. Authentication. Once we will select a
authentication service, it will call authentication activity to validate the incoming request. In activity
we will implement the logic for validation.
* In service package we will provide what type of service it is, whether it is soap or rest and we can
provide pooling details and we can maintain a statefull or stateless request.
* Stateless : generally when the request is coming to service package, once the request is processed,
we will delete all clipboard pages to the particular request.
* Statefull : The clipboard pages we can keep them for other requestor.
Note : In service package we will carry the WSDL information. One service package can handle more
than one service.
SOAP
Service_Soap
39. Service-Soap
How can we implement service-soap in pega ?
* For service - soap we have wizard. Once we run the wizard
* 1ST step : select a purpose of the service as Invoke service on existing activity or input/output.
If we select service type as invoke service on existing activity, we must provide activity class and select
the activity.
* Once this is done, we must proivde a communication between the request and response in the form
of XML. We must select input and output properties
* Once the wizard is done it will create a Parse rule and Stream rule, Then,
* We must create a service package, in the wizard itself.
* Next step is configuring the service package details.
* The final step is Review and Save.
* After this it will generate the WSDL Url, Generally we will share this information to the consumers.
40. While creating a service soap, how many rules it will create ?
* Service soap rule (means service method rule )
* Parse rule
* Stream rule
*Service package
* Service activity.
Connect soap..
Service_Rest
Connect-Rest
2. Requestor : When the scope is requestor, the data pages is available for requestor level, means as
a requestor the data pages can be shared all case types, but the data pages cannot be shared with
other requestor, which means the data page is available within the work object.
OR
* As a Requestor once I populated Requestor level data page – the data pages data is available for all
case-type under that particular requestor. Or Between the work-object.
3. Node : When the scope is node, the data page can be shared among multiple requestor on that
particular node. Node is nothing but server and with in the server, we have other requestor also right.
So, the data page is available for all requestor available on particular node. We will specify the access
group for giving our application access to all the requestor. Here access group will provide application
access, that is the reason we will specify the access group when we can change the data page scope is
node.
OR
* We are giving a data page access to the server, so we have to add access-group under node level data-page.
Who many requestor are available under that particular node(server)- all can access this data-page.
65. What are the options to explicitly use/trigger the savable data pages ?
* In the flow rule-we have advance shape- Save data pages.
* In the flow action rule-action tab post processing.
* Activity Method-(save-datapage)method.
Note : If data page mode is savable :
* We have scope is Thread or Requestor.
* Refresh strategy is not applicable.
67. What is the difference between Keyed page data pages and Parameter Data
Pages ?
* Parameter Variables, we can pass the parameter values to data-pages in run-time.
* So, data will be sorted in run-time.
* But keyed page access data pages we will refer under pagelist property. When the property pass the
key to data pages, the values are automatically sorted.
* It means no need to pass any run-time values but data will sort automatically. ( Stop Here).
* In clipboard under property side we can see refer data page option, that data page automatically
sorted.
69. Where we can refer these keyed page access data pages ?
* We can refer property level under data access.
If data page is parameter then we will pass the values in square brackets with comma separated
values.
* Ex: D_EmployeePage(Emp No : “1”, Ename : “Ram”).
81. Association ?
* Association is similar to a join in pega. Instead of adding a join in report definition, we can create
association one place and same association we can apply into many report definitions.
Flows
90. Fork ?
* If we want to use when rule in flow than we have a fork option in decision shape. So, that we can
call when rule on connector. Generally to use when rule in flow we use fork option.
Note : * we will not move draft-on flow into production, if it is moved into the production, the impact
is “it will not pick the flow”.
* All productions flows should be draft-off.
Flow Actions
97. Where SLA entries are stored or What is the table for SLA entries ?
* pr_sys_queue_SLA
98. Dynamic SLA ?
* In SLA rule we have a option-calculate service level. Here we have 2 options, they are
1. One is based on intervals we can set a SLA.
2. Another one is based on property value we can set a SLA.
* If we set SLA based on property, which means in run time before execute the assignment SLA, if we
set these property by using data transform than whatever the property value it will apply
automatically to SLA. So, that we can set the dynamic values in SLA.
Harness
Rule-sets
* Blocked : If any rule is blocked, the blocked effect current version and all below version of that
particular rule-set, and it will blocked other rule-sets specified in application stack (Hole application
Blocked).
Example : SCB:01-01-05-Personal details(Blocked)….01,02,03,04.
Same rules is present if SCBInt:01-01-01
Note : Here it will blocked even in SCBInt rule-set.
104. Check-In ?
* My changes are done, once I will check-in other people can see my changes.
105. Check-out ?
* I have checked-out and I am currently working on that rule.
Product Rule
A=B+C a whenever we have a source values B or C. it will look for target property A. It means A value
is automatically calculated.
Backward Chaining : In declare On change rule we will specify the properties to watch based on when
condition.
If when return true or false-we will call separate activities for true or false. In activity we will
implement the business logic.
* Declare Trigger : When an instance of a specify class is created or updated or deleted. These declare
trigger can execute an activity. If we want we can specify the when condition we can specify.
* Basically these declare trigger can automatically update the history of work item, when certain
property change.
* Declare Index : For single value properties we have a property optimization, so that it will create a
separate column in DB table and we can use it for reports but aggregate properties like single page or
page list. We don’t have any property optimization. If we want use this property in report it will have
a performance issue, to avoid this we will create a declare index rule.
Implementation :
* 1st we have to create a DB table with properties.
* 2nd step we will create index class in pega application and we will map this index class with DB table
and we have to create a same properties under this class.
* 3rd step we will define a declare index on aggregate property like page or list.
* 4th step in declare index rule we will map the source as clipboard properties and target as index
properties. So, that these values stored in index table.
* whenever we required to use these properties in report definition, we will specify declare index
joins in data access tab so that we can retrieve the values.
If we want use this properties(aggregated properties) in report it will have a performance issue :
Reason is these properties we don’t have any separate column in DB table.
Inheritance
Decision Rules
Data Transform
118. What is the difference between Append and Map to & Append to ?
* Both will help copy page list to page list.
* If we use append to both source and target properties should be having same class definitions,
which means compatibility. Whereas Append and Map to it does not required. We can copy if both
are different class definitions.
120. How we can call Decision Tree or Decision Table from data transform ?
* We have an expression, Evaluate decision tree or evaluate decision table. From there we can call.
121. What is the use of Call Super class data transform in data transform rule ?
* Before invoking the current data transform, it will execute the parent class data transform (parent
class DT name is same as child DT).
Property
Class group
Debugging Tools
131. Log-Method ?
* Debug-produces the largest number of messages, least severe.
* Info - record as INFO severity.
* Warn - Record as Warn severity.
* Error - Record as ERROR severity, most severe.
* Info-Forced - Always record INFO event.
133. Suppose if you are facing a issue. How to debug the issue ?
* Development Environment : first I will try to trace the issue and I can check in tracer. If anything is
fail or not.
* Suppose I am writing a activity and if it is not executing as per expectation. So in this situation I can
trace the issue and in tracer I will check step by step. So that I will analyze and fix the issue.
* Production Environment : In production we don’t have a tracer. We have to check the log and try to
analyze.
* First we try to replicate the issue in lower environment.
* If it is not replicate in lower environment and only happening in production we have to see the logs
and check any exceptions are coming or not. Based on that I will analyze the issue.
1. Explain about Data Pages and scopes
Data page is a shared / cached page on servers’ clipboard. We use data pages when the data is common data and constant data
which is frequently been accessed in the application. It can be created under Data Model Category., Data Page is instance Class is
Rule-Declare-Pages.
D-pages
Data Page Can be available in one of two structures.
Modes
Read only: - These Data Pages gets created on clipboard under ‘Data Pages”.
Editable Modes: - These Data Pages gets created on clipboard under “User Pages”., These can be updated or deleted
Scopes
Thread: A thread scope of data page is accessible for sharing with in a single WO multiple times.
Requestor: This scope of data page is accessible for sharing with in a single requestor session among multiple WO’s but not
with other requestors.
Node: This scope of data page is accessible among multiple requestors who logon to same node but not with requestors of
another node.
Report definition is used to fetch data from tables and display the data in table or charts format.
Real life example: If amazon application developed using pega, we can use report definition to fetch all the returned items into a
report to analyse the monthly returns data. It can be created under Report Category., Report Definition is instance Class is Rule-Obj-
Report-Definition.
1.1 Report Definition Continuation.
A. Reporting can be done on Exposed columns. Reporting on BLOB brings down the performance of Application. (To performs Joins, both
tables should have common data columns).
For Example, Work Class and Worklist Class. 1. pyID of Worktable= pxrefobjectinsname 2. pzInskey of worktable= pxrefobjectkey.
**They are four types Report Definition.
a. Class Joins (Two or More table can be joined): - Created a report to fetch data from work table and worklist tables by Class Joins.
b. Association (Two table can be Joined its reusable Join): - Association rule defined Joins b/w two classes. This rule can be reused for
Joins. *** Association rule can be directly referenced in the select clause or where clause by its name. Let’s impl above report using
association Joins. -> For this we need to create association rule which defines Joins b/w work class and work list tables. PRPC provides
OOTB association for the Same “pxWorklistAssignments”.
C. Index Joins (Joins can be done on index table): - Indexing in pega can be done for Embedded properties like page list. When we Optimize
Page list properties, PRPC create a dedicated tables for Page list. This table each row corresponds to one index page to page list.
1 Index Class (derives from OOTB class Index-) 1. Properties 2. Declare index 3. Perform joins b/w work and page list index class
D. Sub-Report: - A sub report is a report that is called by another report to provide data. Sub reports enable you to reference results
from any report definition in the main report.
Case Management:
Case Management is a technique of designing or defining the case life cycle to have multiple work object been created.
In Case Manager we have one Parent Case (Cover Case) and remaining are children (covered cases).
If we want to access data from child to parent, then we have to open parent case by obj-open or open-by-handle and update it back
to work table.
On Parent Case
pxCoveredCountOpen = The number of child cases which are yet to get resolved.
* Under pyWorkPage of Parent Case we have an OOTB Value List property, pxcoveredInsKeys
While Processing parent case, if we want to read the pzInsKeys of child cases, those will be available on Value List
pyWorkPage.pxCoveredInsKeys.
1. Default locking: The moment a case is opened, lock will get acquired.
2. Optimistic locking: This allows more than one user to open a case at a time. Lock will not be quired on open but it gets acquired
when an action is been performed on the case like submit.
Lock table is PR_SYS_LOCKS.
1.What are Differences between Edit Validate & Constraints & Obj Validate.
**It can be created under Data Model Category., Edit Validate is instance Class is Rule-edit-Validate.
** It can be created under Decision Category., Declare Constraints is instance Class is Rule-Declare-Constraints.
** It can be created under Process Category., Obj Validate is instance Class is Rule-Obj-Validate.
Edit Validate Constraint Obj Validate
One property can be validated Multiple properties can be validated Multiple properties can be validated
This gets executed where ever we use This gets executed where ever we use This is specific the Screen / flow
property. property. action on which we call it.
This is Client-side validation This is Client-side validation This is Server-side validation
This has to be explicitly called on There is no need to call this, This has to be explicitly called on flow
property automatically called internally when action or activity
we use properties.
This is not a dependent validation This is dependency validation This can be dependent / independent
validation.
This required java coding. This one-use functions This one uses functions.
Local Action: - It allows us to perform an action on the assignment but still WO will be there on same assignment and assignment will not be
completed. Example: - Pop Up Windows, Attaching documents to WO. ** When We Create Local Action make sure go to Action Tab Change into
Local Action.
Local Action Can be called from, 1. A control Events. 2. Assignments Shape. 3. Diagram tab of Work Flow 4. Case Type Rule.
** If we call local action on assignment or Flow or Case type, we can access that using Action drop down of Work Object Form
5. What are the Split Join, Sub Process, Spin Off, Split for Each.
Split join: - Using this flow shape we can call multiple sub flows. All these sub flows gets executed parallel. Once all the sub flow are
completed, process flow can be resumed. ** When we select ‘Join Any’, Process flow can be resumed when any of the sub flows completed.
2.** When we select ‘Join Some’ process flow can be resumes when any of the sub flows completed with a when condition met.
Split For Each: - Using this flow shape we can call one sub flow. 1.This flow shape takes the Page List a parameter to it and executes the sub
flow N number of times where N = number of pages in page list.
Spin Off: - This option is available in sub process shape, when selected, both process flow and sub flow will run parallel. This is called
asynchronous processing.
Sub Process: Using this shape we can call only one sub flow where the process flow will wait for sub flow to be completed. Once
sub flow is completed process flow can resume its execution.
6. What is Circumstance?
Circumstance is creating multiple variants of a single rule with conditions.
Two types of circumstance
1. Single property circumstance: The condition involves only one property
2. Multi property circumstance: The condition involves multiple properties
We need to create two other rules for multi property circumstance
1.Circumstance template Rules. It can be created under Technical Category., Circumstance template is instance Class is Rule-
Circumstance-template.
2. Circumstance Definition rules. It can be created under Technical Category., Circumstance Definition is instance Class is Rule-
Circumstance-definition.
Forward Chaining: - Whenever input properties are changing the target property value gets automatically updated. This is called “Forward
Chaining”. ** In declare expression under “change Tracking” Tab we have dropdown option “Whenever input change” This is defaults option
Expression.
Backward Chaining: - In Declare Expression under “Change Tracking Tab” In dropdown if we select option. “Whenever used” It works as
backward chaining. *** Whenever used depends on target property usage. “N” number of times target property is used then “N” times
expression will be executed.
Now expression will be executed every time target property is used. This is “Backward Chaining”.
3.Declare on change: The Purpose of Declare on Changes is to Executes Activities automatically whenever there is a change in property
value. It can be created under Decision Category., Declare on Change is instance Class is Rule-Declare-On change.
4.Decalre tigger: Declare trigger rule gets executed declaratively when an Obj Method gets executed on Rule base tables. This gets auto
executed when DB table Action performed. . It can be created under Decision Category., Declare tigger is instance Class is Rule-Declare-Tigger
5.Decalre Index: Indexing Improves the performance of application when running the reports. It can be created under SysAdmin Category.,
Declare Index is instance Class is Rule-Declare-Index.
** If we want use any properties in Report rules, we need to optimize those properties.
Unlike normal properties, when we optimize page list properties PRPC will create below Rules.
1.Index Class which gets Derived from the OOTB class ‘INDEX’. This index class is been mapped to an index table.
2.Declare index rule which maintains the mapping b/w Data table and index table.
6.Declare Pages (Data Pages)
8. What is Harness.
Harness is a UI rule. Harness Holds Sections. Harness defines appearance and processing of Work Object Forms or Portals.
Every User Interface that gets loaded in PRPC, is be defined or created using Harness rule Type. It can be created under User
Interface Category., Harness is instance Class is Rule-HMTL-Harness
Harness in a Work Object life cycle, PRPC uses difference OOTB harness for work object form New-Perform-confirm.
1. New: - This is responsible for Creating Work Object on click of Done Button. This is Editable harness.
2. Perform: This harness gets loaded at every assignment. This is responsible for performing an assignment. This harness loads Flow
Action and Submit buttons. This is Editable harness.
3. Confirm: This harness gets loaded when there is no assignment to perform. This is read only harness. This can be used to display the
summary of WO Data.
4. Review: This is read only harness. To review the work object data and re assign it for modifications. This is for system internal usage.
Any user defined harness which is read only, will treated as Review Harness.
9.What is Routing?
Routing: Assigning work to an operator is called Routing. An Assignment can be particular operator by means of Routing.
Routing option is available under. 1.Assignment shape properties in Process Flow. 2. Start shape Properties in Screen Flow.
Two Types of Assignments based on Routing. 1. Work List Assignment. 2. Work Basket Assignment.
1.Work List Assignment: When an assignment is created and routed to single Operator. It will be created as an instance Assign-Worklist. The
assignment gets stored into PC_ASSIGN_WORKLIST table. The OOTB activity that gets executed is “toworklist”
2.Work Basket or Queue Assignment: Multiple operators will have access to basket. All of them can see the tasks in basket and only one pick
and work on task at a given time. Assignment is instance of class Assign-Workbasket. The assignment gets stored into PC_ASSIGN_WORKBASKET
table. The OOTB activity that gets executed is “toworkbasket”.
Data transform can be used to assign values to properties, assign one page data to another page, copy pages from one page list to another page
list.
Web services can be used to establish connection between two applications over web, in order to exchange Data.
Using web Services two application can communicate on web using different Protocols like SOAP, REST, MQ, HTTP, etc... When communicate
one application is going to request for data from other application.
The application which requests for Data is called as consumer and the app which responds is called as Provider.1. Consumer is going to send
Request whereas Provider is going to Respond.
PRPC application can be a requestor or provider. (Being PRPC application a requestor/ Consumer we need to create CONNECT rules like
Connect-SOAP, Connect-REST, Connect-MQ etc…) (Being PRPC application as a provider/Respond we need to create SERVICE rules like
SERVICE-SOAP, SERVICE-REST, SERVICE-MQ etc…)
SOAP protocol supports XML Data structure. While using SOAP, being a consumer or provider, we must have to implement below two
techniques
1. Converting from Clipboard to XML (XML Streaming) For this in Pega We have to Create XMLStream Rule.
2. Converting from XML to Clipboard (Parsing XML) We have to create ParseXML rule.
To locate the service, we need END POINT URL. While Working with Building of SOAP service, once service is create we need to generate
WSDL URL and provide it Requestor.
WSDL: Web Service Description Language. This document contains details about web service (SOAP Service)
Details Are: 1. End Point URL, 2. Request Parameters,3. Response Data Structure,4. Authentication Details.
Providing WSDL URL to requestor’s means, providing all the Meta Data about service.
SLA can be created under Process Category. Service level agreement defines the goal, deadline and passed deadline time intervals, urgencies
and escalations. SLA can be created and applied on an assignment or on a work object. SLA there is two types of SLA Available
1.Assignment level SLA: - When an SLA is Applied on assignment shape then it is said to be Assignment’s level SLA. Here SLA is applicable only
to one assignment on which we call it. ***(To apply SLA on an Assignment, go to assignment Service properties level = SLA rule Name)
2.WO Level SLA: - When an SLA is Applied on WO. It is said to level SLA.WO level SLA can be applied by assigning the property. WO Level SLA
will be applicable in the work flow.
SLA Defines three-time intervals for a task to get completed also It defines the Urgency (Priory).
SLA Time intervals are 1. Goal Time 2. Deadline Time 3. Passed Deadline Time
1.Goal Time: - Goal Time start calculating immediately once the assignment gets created on which we apply the SLA.
2.Deadline Time: - Deadline Time start calculating immediately once the assignment gets created on which we apply the SLA.
3.Passed Deadline Time: - It Starts Calculating from the time deadline is completed.
Urgency: - Urgency defines the priority of an assignments. Urgency value ranges from 0-100 where 0 is minimum and 100 is maximum.
1.Default Urgency: - Which can be assigned to the OOTB property pxUrgencyWorkClass in the pydefault Data transform.
2.Initial Urgency: - which can be defined in SLA rule Form. Once the task is created Initial Urgency. Value = Default Urgency +Initial Urgency.
3.Goal Urgency: - Once the Goal time is completed. Urgency = Default Urgency +Initial Urgency + Goal Urgency.
4.Deadline Urgency: - Once the Deadline time is completed. Urgency = Default Urgency +Initial Urgency + Goal Urgency+ Deadline Urgency.
5.Passed Deadline Urgency: - Once the Passed Deadline Time is Completed. Urgency = Default Urgency +Initial Urgency + Goal Urgency+
Deadline Urgency+ Passed Deadline Urgency.
We can add more than one escalation at a given time interval. At dead line and passed deadline the same type of escalations can be defined.
All these escalations gets executed in Back ground upload goal , deadline and passed deadline times breaches.
1. Once assignment is ready (Default): Once assignment is created SLA starts running.
2. Dynamically Defined by Property: We can use a Date time property, once this property value is matching with current server time
then SAL will get start running.
3. Time Delay: we Mention
Data Type is Just like a Table which will have Data Storage. Make sure that Your Data Types create under Data Classes. Data Types Must be
derived from OOTB class “Data- “. Data Type classes are Concrete Classes, which “Does Not belong to class group”. Does Not belong to class
group: - This means the classes will not fall under inheritance path of Class Group. This are Global to multiple different class groups.
When We create a Data Type PRPC automatically Creates Below Components and Rules.
1. It is going to create a Concrete Class Under Data Class.
2. Properties (Which are like columns of table)
3. Physical (Dedicated) table gets created in Rule Base.
4. Data base Table mapping rules gets created.
5. Data Pages (List Type Pages, Page Type and Savable)
6. Report Definition
A. Activity is a rule which is used to implements business logic. It can be created under Technical Category., Activity is instance Class is Rule-
Obj-Activity.
Method: - Method is something which is already having predefined business logic written in Java Code. PRPC provides many different methods,
those can be accessed under Method Dropdown in an activity rule.
Obj-Browse: - This method is used to fetch multiple instances from a table. Data Structure is Page List and Data is Read only.
Obj-Open: - This methods can be used to fetch single Record from tables on Class Key.
Obj-open-By-Handle: - This method is used to fetch single Record from tables on Primary Key (pzInsKey).
Obj-Save: - This method can be used to insert or update an instance into Tables.
Commit method: commits the entire differ queue items respective table or tables. Commit method releases lock
Write Now: It is an immediate commit operator which is being done only on one table. This option in obj-save cannot release the lock.
Rollback method erases or rolls back entire differ queue items means all the obj-saves done in a thread. The roll back will not have any impact
after the commit is executed.
Obj-save-cancel: erases or rolls back only the latest un committed obj-save.
This method will not have any impact after the commit is executed.
We need to write both business and transaction logic. We are required to write only business logic. Transaction logic
will be taken care by Process commander.
This mode of agent is recommended for non-transactional This mode of agent is for transactional processing.
processing
This agent will get sopped when an exception occurs. This agent is going to update the queue item status to “Broken-
Process” if an item processing fails…
It is going proceed processing remaining items after current
item.
Agent gets executed on the access group mentioned in agent rule Agent activity gets executed on Requestor’s access group who
form. had kept the queue item in queue table.
If we do not mention any access group, it runs on guest access
group
16. What are the difference between Comparison/differences between Obj and RDB methods for Internal and External DB tables.
Obj Methods RDB Methods
Obj Methods will work on Rule base tables as well as external DB tables. RDB work on Rule base tables as well as external DB tables, but it can
fetch only Exposed columns.
Obj Methods can fetch the content saved inside BLOB column. RDB methods can NOT fetch content available inside BLOB, it can
retrieve BLOB as BLOB.
Obj-open-by-Handle, OBJ-Delete-by-Handle can be used on Internal Obj-open-by-Handle, OBJ-Delete-by-Handle can NOT be used on
tables. External tables.
When using Obj methods class and table is mapping is must. When using RDB methos.
If we are writing query like
SELECT vinid, company, model, make year FROM {Class:
Hano-Data-vinvalidation}
WHERE vinid = '{Asis: MyServicePage.Request.Input.VIN}'
Obj Methods Auto Generates the Queries and that too those are RDB methods, we need to write queries in connect SQL rules.
optimized w.r.to Process Commander.
When using OBJ methods, Query gets generated at run time, converted When using RDB methods, Queries are Direct Queries hits the DB.
to post Query then it hits the DB.
When we use the direct tables name in Connect SQL rule.
Obj Methods cannot Execute Stored Procedures. RDB-List can call Stored Procedure.
OBJ Supports only Inner Joins.
RDB supports All Joins.
1.1 Can we run a report definition on external table?
A. yes, as long as we have class and table mapping is there.
What is the limitation w.r.to joins while using report definition in internal or external tables?
A. RD supports only inner and full joins but not Outer.
*What are the reasons pega has RDB methods, when we can use Obj Methods for external tables as well.
1. In a connect SQL we can writes joins among multiple tables, where it supports all joins like inner, outer, full joins.
2. We can call stored procedures using connect SQL tab, Browse tab.
1.2 How to create a DB, Tables & define Privileges using Postgres SQL Environment?
Requirement: Create an External Database ‘primextdb’. Create a table ‘vindetails’. Column VIN is Primary Key.
Make a connection between PRPC environment and above DB and its tables.
1. In Bound: When an email is received, PRPC read the email content and process the data.
2. Out Bound: Sending an email notification being trigger from a mail box by Process commander. Mail box can be, Gmail, Hot mail,
Yahoo, outlook etc…
SendEmailNotification @baseclass
To work with Out Bound Email Integration, we need to know the below inputs.1. From Email Address 2. SMTP Host of the From Email Box.
3. Password of From Email Address. 4.To Email/Emails.
Queue Items can be put into agent queue table PR_SYS_QUEUES by using the method/activity. Queue-For-Agent/QueueForAgent.
When the standard agent wake it will execute the agent activity ‘N’ number of times (with status=scheduled) where ‘N’ is the number of
Queue Items in the PR_SYS_QUEUS table.
1.Scheduled: - This is initial status when a queue is been inserted into the table and which gets process by agent during next run.
2. Now-Processing: - This means that the Queue is picked by agent and is being processed.
3. Broken-Queue: - When Queue items fails in its processing, the status will be updated to Broken-Queue.
1.Cache 2. Rule set Versions 3. Circumstance 4. Inheritance 5. Rule Authorization 6. Rule availability
Available: Current class, highest version is available, the rule will get picked, processed and presented to requestor.
Not Available: Current class, highest version is NOT available, the rule is ignored for higher version, Process commander has picked the rule
of previous version of same class, processed and presented to requestor.
Final: Current class, highest version is FINAL, the rule will get picked, processed and presented to requestor.
Withdrawn: Current class, highest version is WITHDRAWN, the rule is ignored for higher version, and all previous version of current class.
Process commander has picked the rule from parent class
2. When we don’t mention any access group for the advanced agent than what is the access group PRPC going to use?
A. Agents are unauthenticated and run on the access group “PRPC: Agents”. Though we mention an access group, every
agent must be using PRPC: Agents access group also.
5. We have a standard agent, which is running on 4 nodes. The agent has a schedule defined as Every Day, IST time zone, 7
AM.
The 4 servers are there at different locations, INDIA, the USA, Japan, and AUSTRALIA.
A. After the agent is deployed, we need to update the agent schedule rule on each server to the respective time zone.
6. Agent and agent schedule are instances of which claThe agent is an instance of “Rule-Agent-Queue”. Agent Schedule is
an instance of “Data-Agent-Queue”
7. How to push items to the agent queue? What is a Queue table?
By calling OOTB activity QueueForAgent, we can push items into the agent queue. The queue table is System-queue-
Default entirely (Pr_SYS_QUEUES).
8. What is Broken-Queue?
A. The items failed to process, their status gets updated too, Borken-Process.
Skimming:- Is a process of Copying rules from lower versions to the next higher minor or major version.
Two Types :
Skimming creates rules for a major or minor RuleSet version by copying selected rules of
Examples
Major: Skimming rules in 06-05-01 through 06-09-25 into 07-01-01
Major Skim
During a major skim, rules with the Availability of 'Yes', 'Blocked', and 'Final' are carried forward. Rules with the
availability of 'No' (not available) or 'Withdrawn' are filtered out. Blocked rules are carried forward because a Blocked
rule can block rules in other rulesets, and that relationship should be maintained if it exists.
Minor Skim
During a minor skim, rules with Availability of 'Yes', 'Blocked', 'Withdrawn', and 'Final' are carried forward. Rules with the
availability of 'No' (shown as 'Not Available' in the table below) are filtered out.
The following table displays which rules are carried forward, based on availability.
A. We block a rule to not get the rule picked during the rule resolution process.
Let’s say a business wants to drop off a rule’s execution in production. The rule is there in versions 01, 02, 03, and 04.
We need to create the above rule in version 5 (Availability = Blocked) and then the movie.
Going fwd this rule will not be picked by PC, during the rule resolution process.
--
After the above is done, let’s say we are skimming from version 01 to 05, if the blocked rule is filtered, version 04 will get
moved. The issue is going to be, the rule will still run in production which businesses do not want it to run.
To avoid such situation PRPC always carried blocked rules to next minor or major version while skimming.
A. We need to update application rule form , the respective rule set for it’s minor or major version.
4). Rule Set Vs Application Validation:
Application Validation:
For example:
We have two activities
Activtiy1 , Activity 2
Activity1
Call Activity2
Application Validation:
2. At each level we have Data and Int (Derives from Data- and Int-)
3. Under work classes , we have case types (Derives from Class Group)
-->Farm-FarmersI-Insurancework(Class Group)
Class is an instance class of WO(s), which derives from Work- or sub classes.
-->Farm-FarmersI-Insurancework (Class Group)
VehicleInsurance (Case Types)
HealthInsurance (Case Types)
PersonalInsurance (Case Types)
Class Group + All Case Type = Work pool
A class Group which is referenced at Access Group’s advanced tab will be treated as Work pool.
Work pool is Work class + case types to gather defines work pool.
7. Which inheritance of the classes takes first Priority? How to override it to not give first priority.
A. Pattern Inheritance is first priority when below option is selected.
If we uncheck the above check box, direct inheritance will take first priority.
Pega : Assignment - Routing
Work table pzInsKey column value will be there in the abatable within in a column pxRefObjectKey
Work table pyID column value will be there in the above tawithinhinn a column pxRefObjectInsName
13. How to retrieve tasks from Work Basket instead of the Work list, when an operator clicks on GetNextWork?
By selecting the below option
Pega - Build and Deployment
1. How to include all Data instances of application or rule sets?
A.We need to choose the below option of “Include associated Data”
2. What is Exclude Non-Versioned Rules option in Product Rule?
A.When we select this option “Data Instances” will be ignored by process commanders like Operators, WG, WB, etc.
3. We have a rule set R1- 01, we have 10 rules. I want to move only one rule out of 10. How to achieve this?
A. In the product rule we have to mention the “pzInsKey” of the Individual rule. Package it.
4. I want to move the rule set version which is un locked, how to achieve this?
A.We need to select the check box, “Allow Un Locked Rule set version”.
5. When do we go for selecting the option “Allow Un Locked Rule set version”?
A. When we have delegated rule of production rule sets, we go with this option.
Pega - Case Type Covers ( Parent and Child Cases )
1.How to Access Parent case data at child cases?
A.At each child case, parent case data will be made available in the name of a system created page, pyWorkCover.
pyWorkCover is a Copy of pyWorkPage of Parent Case.
2.You are writing an activity at Child case1, how to copy the data of Child case2?
A.We should open the childcase2 on a temp page and use it.
3.How to update Data from Parent to Child during Processing of Parent case?
A.We need to open the child case, on to temp page, update Parent case data to temp page, lock and Save it.
B.PRPC has an OOTB flow shape for the same. “Update Case”
4). Where is the relation defined between parent and child cases? How do we know , the child cases of a parent?
Under pyWorkPage of Parent case, we have “pxCoveredInsKey”. Which will have all it’s child cases, pzInsKeys.
This pxCoveredInsKeys is an OOTB value list property.
Done.
5.Write an activity at Parent case and fetch child case data?
We can use Obj-Open-ByHandle and Open child case data.
Loop through for each value in Valuelist and pass the pzIsnKey like below
pyWorkPage.pxCoveredInsKeys(<CURRENT>)
6.We are designing child case1, write an activity to fetch other child case(s) data?
We can use Obj-Open-ByHandle and Open child case data.
Loop through for each value in Valuelist and pass the pzIsnKey like below
pyWorkCover.pxCoveredInsKeys(<CURRENT>)
7. How do we want to update data from parent to child at the time of a child case is getting created?
Two ways
1.Data Propagation : Copying data from parent to child ,while child is getting created.
2.We have to write the logic in pyDefaultDataTrnasform , which should be created under Child case type class.
.FirstName = pyWorkCover.FirstName.
9.How do you know , how many child cases are open , under parent case? Which are yet to be resolved?
We can look up the value of OOTB properties
pxCoveredCountOpen
10.How do you know weather all child cases are resolved or not?
We need to write when condition like
pxCoveredCountOpen = 0.
A.In the post processing activity, use a precondition on method “Property-Set-Message” or “Page-Set-Messages” to
display a message on page.
B.In the post processing activity, Call Validate rule using Obj-Validate Method.
C.In the validation tab of flow, we can call validate rule.
D.We can use “Decision Shape- Fork” and connect back to same step when pxCoveredCount !=0
12.We want to stop the parent case to wait till all children gets resolved, Parent case should be on wait.
We can make parent wait by using wait shape
Wait can be based on time, hard coded or Prop Reference.
OR
It can be dependent , case Status or Resolution.
13.We have used a wait shape, where case got stuck , how to manually release this?
When case reaches wait shape, PC pushes that into a work queue, [email protected]
To get access to the above work basket, we can add it to operators Work Group.
Or
we can add operators into Work Basket by updating it’s rule form
DONE.
14.How to achieve || processing using Covers?
A.We need to choose the option “Do not lock parent, when the child is open”, under settings tab of “Child case types”.
15.Optimistic Locking--> Case has two assingments. Assingment1 routed to Work Queue WQ1.
Op1, Op2 are part of WQ1.
When the case is at Assignment1, Op1, Op2 opened the case and they are filling a form.
Op1, submitted case and submit action is completed. Then Op2 has submitted the case.
The details submitted by Op1 will be Overridden by Op2 or not?
A.Op2 data will not be stored because the assignment is completed by OP1. Op2 will get a screen with refresh button.
2.What is the Flow That gets executed when we run case type , which creates WO?
A.pyStartCase
4.What are the rules that gets executed when we run a case type?
A.Case Type -->pyStatysCase (Flow) -->pzInitializeStage (Activity) -->GetFirstStage (Activity)
5.How to move from one stage to other stage by leaving in between stages.?
We can use ootb flow shape or call ootb activity “Change Stage” “pxChangeStage”.
By default Change stage will move the case to “
6.How many types of Locking are there in case type?
Types of Locking
Two Types
1.Default Locking (Only One user can edit the case) : Lock gets acquired, when an operator Opens the Case.
2.Optimistic Locking (Multiple Users can edit the case) : Lock will be acquired inly when an action is performed and gets
release after action completed. That means multiple operators can open and edit the case at same time, But only one can
submit at a given moment,
If two people at same time “Lock issue”.
8.Another Question is
Two operator opened Customer details assignment, filling form
III.Operator 1 has filled the Form at 7:30 AM and click on submit
IV.Operator 2 has filled the form at 7:35 and click on submit
The submit action of operator 1 to get completed, will take 4 minutes.
Operator 1, customer details got stored into “Work Table”.
Now what happens to operator 2, submit action and data submitted by Operator 2?
i. Operator 2 will not be facing lock issue
ii. Data submitted by operator 2 is not going to store into table, because the customer details assignment has already
been completed by Oprator1.
First operator has completed the assignment. PRPC displays a screen saying assignment completed and displays a refresh
button.
9.What is table where Pega Stores the last generated WO Number for a given prefix?
A.PC_Data_UniqueID (pyPrefix, pyLastServeredID)
2.We have a rule CustomerDetailsForm there in 01-01-01 (baserule), circumstanced it to version 01-01-02 with a
condition.
A user tried to access this rule and circumstance condition is not met. Which version of rule will be picked? Base or
Circumstance?
2.What is the difference between Append to & Append and Map to?
A.Both are for copying pages from one page list to other page list.
If both page list refers to same class then use “Append To”
If both page lists refers to different classes then use “Append and Map to”.
3.How to call decision table or decision tree from a DTF?
A.pxEvaludateDecissionTable(Page name, DecRuleName)
pxEvaludateDecissionTree(Page name, DecRuleName)
ObtainValue(Page name, DecRuleName)
A.
1.When this option is selected, process commander check from the same name DTF in the parent class.
2.If Parent class has same name DTF continue Else Step 8
3.At Parent class again check for “Grand parent Data Transform”
4.If Grand Parent class has same name DTF continue Else Step 8
5.This process of check will continue up to Base Class.
6.Now, the execution of DTFs starts from base class to till bottom current class. Execution is from TOP to Bottom.
7.The last DTF gets executed is “Current Class”. DONE
8.When there is not Parent class DTF, only current class gets executed and done.
Out of all the above 3, only account_transaction table gets impacted , by updates or insert.
As we perform the transactions, the tables that gets impacted are TRASACTION TABLES ,where as during transaction
or during some other processing, other tables gets utilized by application – this tables are reference or static tables.
•Transaction Tables – For every business transaction, table gets inserted or updated.
•Reference Table – During transaction this tables data will be utilized but this tables will not get inserted or updated.
3.If we do not mention any refresh strategy, when the D page does gets removed from server?
A.24 hours.
4.What is Reload once per interaction?
A.For Every WO that we create, D page create created.
7.How to call Data Page Asynchronously? What is the difference between Referring DPage name to call it & using
Load-Datapage Method to call it?
A.We can call Dpage Asynchronously, by using the method “Load-DataPage”.Refering page is going make the
processing Synchronous.
This Makes the Data page to be called at activity step and, activity will proceed forward with next steps, without
waiting for D page to be loaded. This is Asynchronous Behaviour.
6.How to do exception handling in case of Decision table? OR What is “AllowMissingProperties” in activity method,
Property-Map-DecisionTable?
A.By the time this table is called, PC expects all the properties that are involved in the conditions of DCT, to be
available on clipboard. Missing anyone of the properties from clipboard results into halting the program when the
above option not selected. Thus Users may not be able to proceed forward.
If we select this option, missing properties will be ignored and conditions will be evaluated based only available
properties.
Declare Expression
1.Declare expression assigns value to a target property.
A = B+C
A is target property
B and C are source proeprties.
Declare expression gets executed whenever there is a change in source property values. This is called “Forward
Chaining”.
2. I want to restrict a property to be not used as a target property in declare expression, by developers. How to do it?
Go to property -->Advanced tab --> Select “Cannot be a declarative Target”.
2. We have a property A, which is target property in Declare Expression. Can I use this Property ‘A’ to assign a value using
activity or DTF? YES/NO, Why?
A. NO, we can not use that. Because a target property of expression cannot be assigned from any other rule.If we use,
PRPC throws compilation error.
Declare On change
1.What should be the activity type when we call it from declare on change
A.OnChange
2.The property-set we do using declare expression, the same can be done in declare on change as well.
Then why we need declare expression as a separate?
A.Declare on change is only forward chaining, whereas declare expression has backward chaining is also possible.
Declare on change can do, what a declare expression does, only in case of Forward chaining manner but, a declare
expression’s backward chaining cannot be done by declare on change rule.
3.Can we do property-set (in the Onchange activity) of same property(s) which are involved in declare on change rule?
What happens if we do it?
A.The processing or execution of activity go into INFINITE LOOP.
4.If we directly update a property value from clipboard, which is involved in declare on change rule. Does it executed
Onchange rule?
A.Yes, it does.
Pega - Exception Handling Interview Questions and Answers
1.What is the Purpose of OOTB activity :commitWithErrorHandling”?
This activity has 3 main steps, commit, Rollback, WorkUnLock.
If a commit fails this activity going to Roll back and unlock the objects immediately. This is kind of exception handling
when commit fails.
Pega - File Listeners Interview Questions and Answers
1.How to Trace File Listener related activities?
A.Using Admin studio we can select the listener and trace option is there.
2.What is the Access Group on which listener and it’s service rules runs?
A.Access Group mention in Service Package.
1.How to hide Default action buttons submit, save , cancel of flow actions?
A.Go to action tab, and choose the option of “Hide Default action Section Buttons”.
7.In flow action we can activity at pre processing and/or post processing? What is the difference?
A.Pre processing activity runs on load of screen where as post processing activity runs on click of submit button in the
flow action.
For every assignment we see submit button, means when an For every assignment we get next, back and finish buttons
assignment is completed, we cannot navigate back. available accordingly. We can navigate between assignments.
Flow action can be called on assignment shape outward connector. Flow action can be called, on assignment shape itself. Only one
Here we can call multiple flow actions per assignment. flow action per assignment is possible.
Harness can be called on start shape of screen flow that means for
Harness can be called, per each assignment. all assignments in screen flow same harness.
Routing option is available on assignment shape. Routing option available on Start shape of screen flow.
Each assignment can be routed to different operator using That means all assignments in screen flow gets routing to one
assignment shape. single work list or work basket.
All assignment must be worked on only by one operator.
6. What is the Difference between Sub process (Spin OFF), Split Join, Split for each?
Sub Process (Spin Off) Split Join Split for Each
We can one sub flow, passing a page list.
We can call one sub flow We can call at least two sub flows Sub flow gets executed N number of time.
Where N = Number of pages in page list.
This is Synchronous with no spin off.
This is Synchronous This is Synchronous
Asynchronous with Spin OFF
Join (ALL)
Parent flow will wait till all sub flows
Join (ALL)
completed.
Parent flow will wait till all sub flows
Join (ANY)
Synchronous: Parent flow will wait till sub flow gets completed.
Parent flow will wait till at least one sub
completed. Join (ANY)
flow to be completed.
Parent flow will wait till at least one sub
JOIN (SOME – Condition)
Asynchronous: Parent flow will not wait for the sub flow flow to be completed.
Parent flow will wait for at least one sub
to be completed. That means parent flow can be finished JOIN (SOME – Condition)
flow to be completed given condition must
before sub flow. Parent flow will wait for at least one sub
be satisfied.
flow to be completed given condition must
Exit Iteration (Condition)
be satisfied.
During loop, it exits the loop, when a given
condition satisfied.
7. Can we call a third party service in a screen flow using integrator shape?
A. We cannot, because Advanced shapes are not available in screen flow.
Pega - Harness Interview Questions and Answers
1.What is the difference between section and harness
A.Section is to design UI, sections holds controls mapped to properties.
B.Harness is container of Section, which defines the appears of UI, and processing.
6.What is the OOTB section which loads flow action into perform harness?
FlowActionHTML_Simple.
7.What is the OOTB section which loads Submit, save, cancel buttons into assignment?
pyCaseActionAreaButtons.
Pega - Inheritance Interview Questions and Answers
1.Types of Inheritance:
--> Pattern
--> Direct
5.Can we have more than one direct parent chosen for a class?
A.NO. ONLY One.
9.Difference between Class Group and Does not belong to a Class Group?
A.Class Group : Is instance class of WO(s), means we can initiate transaction under class Group.
Does not belong to a class group : It’s not in the inheritance path when we look at from “Class Group”. It’s is a non-
inherited class, where we cannot initiate business transactions. The Rules of these classes can be re used for multi
purpose.
Pega - Performance Interview Questions and Answers
1.Our Pega Application is a Service Provider.
Receiving Request - Store this request - Obj-Save - 300 MS, Optimize to 10 ms.
4.How to create 1000 operators on a single go , operators details given in an excel document or CSV document?
CSV --> File Listener.
Excel --> file Listener , for parsing use “MSOParseExcelFile”. This activity got deprecated from 8 onwards and we have
a new activity “pxParseExcelFile”.
We need to create Binary file rule and upload excel template.
5.Why pega has pzPVStream columns storing transaction data into one column?
What is the Main Advantage? Other than Size and Security?
Pega - Product Rule Interview Questions and Answers
1.What is Exclude NON-Versioned Rules?
A.Selecting this options, PC ignores taking Data instances into Product File.
4.If I want to move only ONE Rule out of N number of rules available in a rule set, how to achieve this?
A.We need to take the pzInsKey of the rule and mention in the Product rule, no need to mention RS, Lower and higher
versions.
5.We have a with 100 rows, while building we want to include only 50 , how to achieve this?
A.We can achieve this by calling report definition as shown below. We have to add required conditions in the RPT.
Only those records which are retrieved by RPT will be considered to add into Product file.
2. My report displaying 200 records, when users click on export excel or pdf, the report should send only 70 records
to excel. How to achieve this?
A.We need to set a value 70 at below option “Maximum number of rows for export”
3.By default a report can fetch 500 records, how to override this?
A.We need to override below option “Maximum number of rows to retrieve”
SOAP REST
It supports XML Data Structure, JSON, TEXT, HTML,
It supports XML Data Structure.
etc…
Description about the service and be generated as WSDL Document, WSDL URL has to We provide End point HTTP URL, Model request and
be provided to Requestors response.
SOAP data transformer HTTP, SMTP etc.. REST transfers only on HTTP
Heavy Weight of its Data Structure Light Weight of its Data Structure
Methods classification is provided like GET, POST, PUT
There is no methods classification
and DELETE
4.We have a rule there in V4, 3 and 2. V4 is available and V3 is Not available. When requesting for this rule which
version will be picked?
ANSWER : V4
5.We have a rule there in V4, 3 and 2. V4 is ‘not available’ and V3 is Withdrawn, V2 is available. When requesting
for this rule which version will be picked?
ANSWER : Parent class rule will be picked.
6.Why ‘Blocked’ is checked after the filtering, why not included at the initial stages of filtering?
Let’s take an example we have a rule R1. It is there in 01-01-01,01-01-02,01-01-03.
Where Version 03 is blocked.
Every rule has to be process, by taking from cached. Weather to process or not should be decided after cache.
Let’s say at initial stages itself if blocked is looked up, PRPC stops Rule resolution for this rule. Thus it will not verify
the cache at. Which is violating the rule resolution cache mechanism.
Here, Let’s say OP1 and OP2 are requesting for above Rule R1.
Consider the above situation of Blocked is being added at the beginning of algorithm.
When Op1 requests, PRPC collects all the rules and when blocked encountered, it stops processing it.
After Op1, Op2 requesting for the same rule, Process commander has to pick all the rules and check the availability
and blocked is there, so it stops the processing.
In both cases, if blocked is looked up at the beginning, PC un necessarily wasting time to collect all rules from
PEGA.
So for better optimization, blocked is being verified after taking from cache.
That means for the first time it collects all rule, places blocked into cache, stops processing.
Second time onwards, no need to collect all rule, just directly take blocked from cache and stop processing. Which
Is improving the performance.
Pega - Sections Interview Questions and Answers
1.What is the best practice of creating sections in Work class or Data Class?
Create sections in Data classes and use them into work class by using different page reference.
•One disadvantage with this approach is, we need to make sure that the reference page must be created on
clipboard by the time sections loads.
1.What is Simulations in Connectors, Data page? OrWe want the Connector to return some test response if in case
the activities service is DOWN (404) [OR] We want to create a connect-SOAP functionality where we know request,
response prop but the service is not yet ready from the providers, in this we do not want to wait for the service
provide to provide us WSDL URL, instead we should complete our Connector development and display some test
data. How to achieve this?
A.We can Use simulations at connector or Data page, to assign some test data to the response page.
2.Where do you configure the End point URLS (which you pass while using connectors) of third party service rules
in your application?
A.We are configuring in DSS (Dynamic System Settings). Read it in program by using function
getDataSystemSettings(RS,DSSNAME)
Advantage is “Changing the value” does not need redeployment, Reboot or Code chages.
5.Where would you define END POINT URL which we passing while consuming any service?
A.We are defining the URLs using DSS.
Reading the value using function @getDataSystemSetting(RS,DSSName)
4.Rule edit has Java code, Java Code runs on server side. Then How do you say Rule-Edit validate is client side Validation?
A.The Java code of rule edit validate gets executed by an AJAX calling from HTML or JAVA SCRIPT of Screen. That why even
though the execution happens on server side, but on refresh of UI, AJAX calling will be done, thus we see results on client side
itself.
SOAP
1.Why we need to create an integration class, under work class -> for Services?
A.The service rules gets created under Work-Int classes because, it is possible to look up work tables. If we create at
non inherited classes and Int rule sets, it’s not possible to interact with Work Tables.
4.What are the rules that you have to create to build a service?
A.Classes, Properties, Service package, Service rules, Steam and parse rules(if required), Activity.
Call
It Calls Child Activity, then Parent activity waits for child activity to get completed, once child activity
execution completes, control comes back to parent activity. Further steps after call step gets executed.
Branch
This behavior is called synchronous processing It Branches Child Activity, then Parent activity waits for
child activity to get completed, once child activity execution completes, controls comes back to parent
activity. Further steps after Branch step will be ignored
Queue
This behavior is called synchronous processing It Queues Child Activity, But Parent activity will not wait
for child activity to get completed, The parent activity and child activity executes in different threads. This
behavior is called Asynchronous processing
Rollback
This methods rolls back (Erases) entire differ Queue, all the obj-Save methods, executed so far, gets
erased.
9. When do we need to use Commit, Write now option in the Obj-Save/Obj-Delete activity.
A. When the activity is NOT part of WO (Transactional) processing, then we need above options, else not
needed.
10. What is the option “Allow direct invocation from the client or a service” ?when we use it?
A. When we call activity from Services, Agents, Connectors, HTML controls, we need to select this option.
11. What are different Activity Types?
A. Activity, Utility, On change, Trigger, Load Data page, Route, Assign etc…
12. What is the Different between Activity Types, Activity & Utility?
A. Activity type Activity can be called from other activities and HTML rules. Whereas utility can be called
from Utility shape.
The main difference is Utility can use only back ground processing methods. We cannot use front end
methods like Show-HTML, Show-Page, Show-Harness, Show-Property etc….
Select to require that only authenticated requestors can start this activity, generally the activity which
part of security rule and create in class Code-Security.
14. Suppose when we save multiple records of data let’s say 100, suppose if record 59 is failed for
some reason. How to ensure to revert all the records saved so far to be reverted.
A. We can use OOTB activity “CommitWithErrorHandling” make sure transaction is fully committed.
15. What is the Difference between, “Continue Whens”, “Skip Whens” at activity pre or post
conditions?
A.
For example
Precondtion
Condition1 ContinueWhen
Condition2 Skipwhens
Condtion3 ContinueWhens
Continue Whens : When a condition is satisfied, it will execute next when condition. If there are is not
when condition after the current condition, then step will get executed.
Skip Whens : When a condition is satisfied, It ignore the execution of next when conditions, proceeds
executing the step.
17. When we have OOTB when rule StepStatusGood, Why do we need again another when rule
StepStatusFail?
A. It’s not only two Status for Step, we have Warn, GoodWarn etc…
18. I want to update the value of px-properties using Activity, how to active this?
A. We can use a method Property-Set-Special. We can update pxProperties.
A. Class key is Unique ID of an instance, which is defined in the class rule form. For a given class, we can
have more than class key, is possible.
pzInsKey is Unique Primary of an instance. An instance will have one and only one pzInsKey.
A. Write Now can not release the lock, whereas commit releases the lock.
22. Can we pass local variables from one rule to other rule?
A. No. only params can be passed.
Done.
24. What is Obj-Refresh-And-Lock Or how to do exception handling to ignore locked cases while
obj-Open?
If we try obj-Open, if lock is already acquired on case, this will halt the program by throwing error
message.
But Obj-Refresh-And-Lock will not halt the program, as given above, that’s what we call exception
handling, during locking.
25. How to call flow from activity?
Pegasystems Inc Created, developed and marketed a licensed software product which is named as PEGA PRPC
PRPC stands for Pega Rules Process Commander which is the heart of PEGA
Additionally, Pega is 40% faster in mobile development, eight times faster in analysis and design, and eight times faster introducing
change
1. App Studio
2. Dev Studio
3. Admin Studio
4. Prediction Studio
DataTransform - pyDefault
DataTransform – SetPermanentAddress
1. Pattern inheritance
2. Directed inheritance
1. Major Version
2. Minor Version
3. Patch version
It allows you to refer to a case participant by role, without knowing any identifying information
Application commonly use workparty as the recipient of correspondence and also used to assign work
Example: In life insurance case, employee is a workparty and we may also include nominee as a workparty
Goal and Deadline - An amount of time that measured from the start of the assignment; no repetition
Passed deadline - An amount of time that exceeds the specified deadline for an open assignment; repeating interval
Example: Consider a company timesheet submission requirements; Employees should submit a timesheet within two
business days (Goal), but no later than three business days (Deadline)
It returns a result using a series of one or more conditions, organized as rows in a table
If all the conditions in a row evaluate to true, the decision table returns the result assigned to the row
If any of the conditions in a row evaluates to false, processing advances to the next row in the table
If no row in the table evaluates to true, the table returns a default result
Example: The customer need to select the loan type. Based on the loan type the system must display the interest rate
You can use decision trees to handle logic that returns a result from a set of test conditions
Decision trees can evaluate against different test conditions and properties. A true comparison can lead to additional
comparisons
Example: HR application contains a process for assessing a job candidate. The candidate receives a set of ratings during
the interviews. These ratings are evaluated to determine whether to extend a job offer to the candidate. A decision tree is
configured to automatically use the ratings as test conditions to decide whether the candidate is qualified
Linked Property Pages: contains read-only pages created by linked properties, which contain information from data
objects referenced by a linked property (created by LSA or SSA)
System Pages: contains pages that describe the current user session, such as the active user and the active application
Dynamic Layout: Arranges the items in a flexible form that automatically adjusts to screen size
Repeating Layout: To display a collection of data that belongs to a pagelist or a page group, we can use a repeating
layout
Smart Layout: Contains fixed-width, fixed-height column pairs, Each column pair is designed to hold one label and one
field, typically for a single value property value
Free Form Layout: It is a non-dynamic layout. We have to fix every single section. Unlike smart layout, free form layout do
not have column types of label, field
15.What is the link between Harness, Section, Flow, Flow Action?
Harness is a container for a UI (section rule), that provides outer layer to user defined UI, and it provides options to
perform actions to be taken. Like providing a submit button for UI
Section is a rule that contains Layouts, Controls/properties, sections, paragraphs etc., This is mainly to create a UI
Flow or Flow rule is nothing but the process design of a particular process. These are created whenever you add a process
to a stage. This contains the complete flow details of that process
Flow Action: A connector that leads from an assignment represents an action that users can perform to complete their
task, such as Approve or Reject. This action, called a flow action, indicates the UI displayed for the user when performing
the corresponding action
Used by Business analysts and work managers to assess performance of the application
It is used to coping a data from one place to another place in the application (Copying and manipulating data)
Example: To copy shipping address to billing address in purchasing application; To get FullName from FirstName and
LastName
Data propagation is the mechanism of copying data within the case hierarchy
Data propagation is the act of initializing a case or other item of work with data from another case
Example: while running interview case (child), we need Applicant Personal data which we can get from Recruitment case
(parent)
Used to review how all the rules and elements fit together
Value mode:
Example: Total
It has three value mode such as single value, value list and value group
Page mode:
If you need to establish a contextual relationship between single value properties, we can use page mode
Standard Properties are the Pega default rules such as px, py, pz
22.What is Datapage?
It loads data into memory and stores it on the clipboard, making the data accessible on the application.
Example: Customer bank balance is stored in bank database, by using Datapage we can retrieve customer bank balance
23.What is Scope of Datapages?
It defines who can access the datapage; It includes thread, requestor, node
Thread:
Content of a datapage are unique to a single case. If you specify a page in thread level, then it can be accessed only by a
particular thread
Example: viewing currency exchange rates, each time view it provides new rate
Requestor:
Content of a datapage are common to all of the cases created by a single user or system
Node:
If you specify a page in node level, it is accessible by all users of the application and other applications running on a given
node
Example: Choosing the make and model of a car while submitting an insurance claim
24.What is Report Definition?
Report Definition retrieve data from a database and returns the result in a table of columns and rows
Example: Amazon Product data’s usually Stored in Database; with help of Report Definition we can retrieve from it
Each step can call a method, transfer control to another activity or execute custom java code
Activities used to implement a complicated logic
Example: Consider a scenario in which an insurance company must submit insurance claims to the Registry of Motor
Vehicles. To minimize the impact on users, you can configure an activity to automate claim uploads so that your application
submits insurance claims outside of peak hours, without user intervention
Used to store all the data generated while we create and process a case
Example: If you collect customer data such as name, age, gender - All of this fields stored in pyWorkPage of the clipborad
To configure dynamic UI changes such as displaying menu when a user click a button
Event - A trigger performed by users such as clicking a button, hovering a pointer over a field
Action - A response performed by the system as result of the user event
Example: Open a popup window (action) when a user click a button (event)
DevOps is a culture of collaboration within an organization between development, quality assurance, and operations teams
that strives to improve and shorten the organization's software delivery life cycle
A Wall between development and operations often results in an environment where the two teams don't trust each other
and each is walking around a little blindly
A DevOps approach results in a collaboration between the two teams where they work with a shared passion to achieve
common goals
4.What is BPM?
Organisation Layer
Division Layer
Unit Layer
Framework Layer
Implementation Layer
The framework layer may be comprised of one or more generalized applications, such as a standard Pega application for a specific
industry, or an extendable custom application
Implementation layer defines an application customized for a specific division or line of business
An implementation layer application may extend one or more framework layer applications
Example, a clothing retailer consists of two brands of stores. One brand focuses on the upscale clothing market, while the other brand
runs a value-oriented chain of stores. Each brand needs to manage item returns. The retailer can develop a generalized application that
manages clothing returns in the framework layer. Each brand can then create its own implementation layer to customize the returns
process
1. Pattern Inheritance
2. Directed Inheritance
Pattern Inheritance allow your application to share rules with other application through out an organization
Pattern inheritance causes a class to inherit rules first from classes that match a prefix of the class name
16.What is Directed Inheritance?
Directed inheritance is the method by which a class inherits characteristics directly from a specified parent class, regardless of any defined
pattern inheritance
It is a template for work that you can reuse for multiple instances of your business process
18.What is Case?
Example: Processing an auto-insurance claim or opening a new bank account is a critical piece of work that needs to be done to deliver a
resolution to a customer
Debugging tools are used to identify coding errors at various development stages
They are used to reproduce the conditions in which error has occurred, then examine the program state at that time and locate the cause
Clipboard
Tracer
TracerViewer
PLA (PegaRULESLogAnalyzer)
DataBase Trace
22.What is a Tracer?
Tracer is used to capture and view the complete log of the events that occur during the case processing
Tracer tool
24.What is Blob?
Blob (binary large object) is used for data storage in Pega application
Flexibility
High performance
26.Why do we need to optimize property before we can use it in report definition column?
When you optimize a property, Pega creates a separate column for the property in a database table
When a case or report uses an optimized property, Pega Reads from that Separate column rather than the Blob column
28.What is Datatype?
Data types represent key business entities, such as Customers & Products
Data types are used to define an class and contain all the fields necessary to describe its structure
For example, an identifier, name, address, and date of account creation describe a customer
You can define an escalation action, such as notifying a manager, that is run when an assignment is past due
By reacting to assignments that exceed their goal or deadline times, you can reduce the risk of unfinished work in a case
30.Which tool is used to display the declarative rules that are present in the application?
Routing Identifies who will work on assignment while the case moves through life cycle
2.What is Worklist?
A Worklist is a list of all open assignments, in order of importance, for a specific user
3.What is Workqueue?
A Work queue is a list of all open assignments, in order of importance, for a group of users
Example: Initiation of claim request need approval anyone from finance team
4.What are the options available for routing?
1. Current user
2. Worklist of a specific user
3. Work queue of a work group
4. Custom
5. Business logic based on a when condition
5.What is circumstancing?
To address exceptions or unique variations in business requirements without changing the core logic every time, we can
use circumstancing
Specific rules can be circumstanced to resolve only when the specified business conditions are met
Example: Sending email to prime and non prime customer with respect to their offers
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
These rules define the value combinations for each of the properties defined in the circumstance template rule
1.Connector
2.Data Transform
3.Report definition
4.Lookup
5.Activity
6.Robotic automation
7.Robotic desktop automation
8.Aggregate sources
Thread: The page is created in a single requestor thread and can be accessed as often as needed by processing in that thread
Requestor: The requestor can access the page(s) loaded across all threads
Node: Any requestor executing on the current node can access the pages
Refresh strategy defines, when the data page is considered stale and needs to be reloaded
Even if a data page is considered stale, the page is never reloaded until it is referenced
11.What are the refresh strategy options for Data pages?
Create a data page (D_page) of type 'page' which has a page list (pagelistname) embedded in it
Create a section
Add a dropdown field and select the list source type as data page
It will reduce system performance if an expression uses many source properties that change frequently
Updates Target property when the application references the property by name
When the property is referenced, the expression goes back in the network to reference the source property or properties the expression
needs to update its target
contains a predefined set of basic operations that perform computations, update properties and other aspects of the clipboard, or move
data between memory & database
Yes, Use the Call Method to cause the current activity to find another specified activity and execute it
17.What is Mixin?
A mixin defines a set of style attributes that can be reused in user interface elements
Mixins allow you to define efficient and clean style repetitions, and provide an easy way for you to update styling
Mixins can either define a set of styles or inherit styles from another mixin
Typography - Allows you to configure anything related to text, like font size & color
Procedural Processing requires that the rule is invoked explicitly when it needs to be executed
Declarative Processing involves monitoring the application and when an event occurs execution of the rule is triggered
Guardrails are best practices which will guide us to design applications that avoid potential maintenance and performance issues
Moderate
Caution
Declarative rules provide the necessary capabilities required for declarative processing
Reduce the need for complex procedural logic and manual exceptional handling
We can see our delegated rules by selecting My Favorites from the Operator menu
Designer studio --> Data Model --> Classes & Properties --> Database class mappings
Step 1: Specify database table – Provide the DB name, schema, DB table name
Step 2: Specify ruleset class – Specify the ruleset details and a new Class name
Validation done in the browser is called client-side validation, while validation done on the server is called server-side validation
The clipboard can be used to view case data values that are stored in pyWorkPage and associated pages
The clipboard can be used to view changes to data values as the case is being processed
Understanding the structure of the clipboard is critical for designing and debugging applications
Agents route assignments according to the rules in your application; they also perform system work such as sending email
correspondence and notifications about assignments, generating updated indexes for the full-text search feature, synchronizing caches
across nodes in a multiple node system
5.What are the Conditions for a better UI?
Align the user view with the case life cycle to ensure the user interface is model-driven
Understand the user’s role and what the user needs to accomplish
A dynamic layout is a DIV-based layout that allows for highly flexible display of content
You add content, such as properties, controls, dynamic containers, and other sections, to a dynamic layout within a section
7.How will the data be imported to data page which is obtained from external sources?
Data pages obtain the data from external sources by connectors, from report definitions that generate queries of the Pega Platform
database, or from other sources; and might use data transforms to make the data fully available where it is needed
Declare index is a rule type in Pega which is used to expose aggregate properties like a Page/List/Group for reporting purpose
9.What is the Difference between Connector Flow Action and Local Flow Action?
A local flow action permits users at runtime to update, but not complete, an assignment
Local flow actions always are optional. Users may perform none, one, or multiple local flow actions, or repeat a local flow action multiple
times
At runtime, users choose a connector flow action, complete the assignment, and advances the work object along the connector to the
next task
A sub process, also called a sub flow, is a flow that is called by another flow
You can create a sub process by adding a step to a process in the life cycle of a case or by adding specific shapes to a flow diagram
An alternate path in a process consists of alternative steps that a case might take from the process's primary path
Workgroup belongs to an organization where as the work basket belongs to a unit in the organization
Every Work basket has a work group and every operator has a default work group and can be authorized manager of many workgroups
within the organization
Reduce the number of user input errors by providing the users of your application with a list of values from which to choose
The Autocomplete control displays matches from a data source as a drop-down list when the user types one or more characters in the
field
For example, in an HR application, you can set up an Autocomplete control with a list of company employees
Use the Append and Map to action to append a page to the target Page List mode property and set the context to that page for
subsequent child actions to map properties on that page
The Append and Map to action is equivalent to doing an Update Page action using the <APPEND> keyword
When the system invokes the Append and Map to action, it creates a new page in the target Page List property, without creating any
embedded properties in that new page
Then, subsequent children actions create the embedded properties on the page
15.What is Access Group and Access roles and difference between them?
Access roles can be referenced in requestor instances, Operator ID instances, in access group instances, in activities, and in queries
Ensures consistency and removes errors with context-based and real-time management
It is an Interface that shows up for the client either developer or an end User and entry can be arranged in Access Group
Use the Activity-End method to cause the system to End the current activity and all other calling activities
Example: if Alpha calls Beta, which calls Gamma, which calls Delta, which performs the Activity-End method, all four activities are ended
The Exit-Activity method ends the current activity and returns control to the calling activity
The source page is not altered. After this method completes, the destination page contains properties copied from the source page and
can contain additional properties from a model
The Page-New method is used to create a page on the clipboard. The new page may be a top-level page or an embedded page
We can identify a model to initialize the newly created page. The model can set values for one or more properties
The property-set-message method is used to associate a text message with a property or a step page
The system reads the appropriate property and adds the message to the page
We can provide the entire literal text of the message, or reference a message rule key that in turn contains message text. (Rule-Message
rule type)
24.Explain about Property-Map-DecisionTable method?
Use the Property-Map-DecisionTable method to evaluate a decision table rule and save the result as the value of a property
The Property-Map-DecisionTree method is used to evaluate a decision tree rule (Rule-Declare-DecisionTree rule type) and store the result
as the value of a property
The Property-Map-Value method evaluates a one-dimensional map value (Rule-Obj-MapValue rule type) defined in the parameter. The
method sets the result as a value for a Single Value property
The related method Property-Map-ValuePair works similarly for two-dimensional map values
Property-Remove method is used to delete a property or properties and its associated value from the step page or another specified
page.
This does not affect the property rule, its definition
Property-Set method is used to set the value of one or more specified properties
The Show-HTML method is used to cause the activity to process an HTML rule and send the resulting HTML to a user for display by
Internet Explorer
This may involve the interpretation of JSP tags (or the older directives), which can access the clipboard to obtain property values, or can
insert other HTML rules, and so on
The Show-Page method is used to send an XML representation of the step page to a user’s Internet Explorer browser session, as an aid to
debugging
4.What is an Access-group?
Access-group is an intermediate between Operator and Application, Portal, Access Roles.
Assignment is used to assign a task to an operator. Primary use is to invoke a flow action.
Assignment shape contains the options like
1. Status 2. SLA 3. Notification 4. Harness 5. Local actions etc...
If we want to see the current assignment details we can see on clipboard on a predefined page "newassignpage (Assign-)"
As Data Classes cannot inherit from Work- or any of its sub classes it cannot create work object.
13.What’s the different between connector flow and local flow action?
Flow action moves WO from one assignment to another assignment where as local action does not move it.
Workpool :- Class Group when added in the access group (Under Advanced Tab) it is asaid
to be work pool. It Identifies which class should be loaded for an operator to create work
Pega CTS, Capgemini, HCL Technologies, Accenture Interview Questions and Answers Part
2
1.When will we go for RDB and when obj rules?
When working WO Data from Rule base tables and working on Blob Column we need to use Obj Methods else we can use RDB
Methods.
6.How to specify multiple flow action rules in an assignment and local action?
By Opening Multiple Connectors from assignment shape and we need to provide likelihood value to prioritize the execution of
Connectors. Whichever the connector has highest likelihood value will be executed first and the flow actions will be available to
access to Action Dropdown on top.
9.Use of WG?
Work Group is an intermediate between multiple operators and a Work Basket.
When a task is routed to Work Basket PRPC allows all the operator to access the task, who belong to the specific WG which is
connected this basket
10.Process of setting and calling a ticket?
Ticket can be set by using the method Obj-Set-Tickets and call this on Flow Shapes.
11.How to push the assignment to the next shape when the SLA is triggered?
Advance flow option in SLA.
14.What is the use of mayStart/ Allow direct invocation from the client or a servicein an activity
This option when selected, this activity can be invoked from HTML content (Any Control) or from Service, Agent, Service File
etc…
15.How to achieve joining of tables in reports? What if the logic is very complex?
We have joins tab available in Report Defintion where we can join by class/ by declare index.
If the logic is complex create a view on DB and connect this report definition to the View.
21.What is DCO?
New Application wizard PEGA 7.
24.What is circumstance and give a business purpose for that? Type of qualifiers?
Creating multiple variants of a single rule based on a condition.Date Qualifier.
Pega CTS, Capgemini, HCL Technologies, Accenture Interview Questions and Answers Part
3
1.What Are the Rule Set Pre Requisite, What are Types of rule Sets, and What is the Rule set hierarchy in PEGA?
All the Predefined rule Sets Should be Address as “Required Rule Sets” to our application Rule set then any rules in the
predefined rule sets can be used in our application.
1.Application Rule Sets (Which we add in Application Rule Form)
2.Production Rule Sets (Which we will add in the Application Rule Form and Also we can in Access Group Under Advanced Tab.
3.Branch or Shared Rule Sets.
4.Personal Rule Sets.
The Rules in PRPC like Decision rules, Correspondence Rules etc… can be delegated to business so that business users can modify
the rule as per their requirements.
Rules can be delegated from the action Dropdown of the rule form. When delegating it can be done to Single Operator OR to an
Access Group.
Delegated rules will be available to be accessible through the Portals under the Section “My Business Rules”.
The OOTB sections rule name “Delegated Rules” which is available in “@baseclass”.
These rules can be created in a separate rule set and we call this rule set under “Production rule Sets” in the application rule
form.
•The rule sets which we regularly user for creating our rules are application rule sets.
•Production Rule Set :- refer above question.
•Branch Rule Set:- It is a share rule set. This allows multiple developers to perform parallel updates on the rules. After that we
can merge the branch rule sets into the original rule set with all changes.
Branch Rule Set can be added in the application rule Form.
•Personal Rule Set :- This is virtual rule set created with the Operator ID name.
When an Operator check out a rule PRPC copies the rule from Original Rule Set to Personal Rule Set allowing the operator to
make changes. After the changes are done/check in the personal rule set copy will be lost and latest changes will be saved into
original rule set.
•All the Checkout rules will be available in Personal Rule Set.
The Priority when accessing the rule goes to Personal Rule Set.
A Harness holds a section rule. Purpose of Section is to design the UI. Harness can be called from Portal, Assignment shape, Flow
under Process Tab.
Harness defines the Appearance and Processing of the WO forms.
Harness rule is at Work Object level or Portal Level.
On Change Rule gets executed when the property value changes anywhere in your application.
Trigger gets executed only where there is any update or insert or delete operations performed on Data Tables.
9.How to make a local action available to be accessible at all the assignments in the Flow?
We can call the flow action or local action in the Design tab of the flow. The local action which are called in the assignment
shape properties will be available only to that particular assignment whereas the local actions which we call in the design of the
flow will be available to access at all the assignments in a flow.
Integrator --> Asynchronously connects your application to an external system to send or receive data and does not wait
for a response before moving to the next step in the flow.
Assignment Service --> Synchronously connects your application to an external system to send or receive data and waits
for a response before moving to the next step in the flow
All standard shapes(Assignment, Decision, SubProcess, Utility, Start and End Shapes)
The Utility is a shape in a Visio flow diagram, references an activity that updates a work object, but does not require user interaction and
input. Your system includes standard activities for utility tasks, and you can create additional ones.
Each utility task references an activity with an Activity Type of Utility from utility shape. we can call activity but vice versa not possible.