0% found this document useful (0 votes)
386 views187 pages

2.PEGA Interview Dump 1

Uploaded by

A
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
386 views187 pages

2.PEGA Interview Dump 1

Uploaded by

A
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 187

PEGA INTERVIEW QUESTIONS-TOPIC WISE

Activity

1. What is the difference between obj and rdb methods ?


*OBJ methods we can use blob properties whereas RDB methods we need separate column.
* Commit(differ save): In obj methods, we can use obj-save many times and we can commit in one
place, but in rdb method every connect sql is a separate commit method, once it is coming back
to the activity it automatically commits the data.
* Generally we will use rdb methods for complex queries like join, union and stored procedure etc.,
* We use obj-methods for internal db and rdb methods for external db.

2. What is the difference between obj-open and obj-open-by-handle ?


* Both we will use for fetching 1 record from db
* In case of obj-open we will pass primary key
* In case of obj-open-by handle we will pass “pzinskey”. (it is a combination of primary key and class).

3. What is the difference between obj-browse and obj-open?


* Obj-browse will fetch all records in table ( here we will provide class name, page name, and
maximum records. Once data fetch it will store under steppage.pxresult)
* obj-open will fetch only one record from table.

4. Where we can see the parameter and local variable information?


* Both we can see trace only.
* In tracer we have a step method-if we open that it will populated with =unnamed= parameter page.
* Local variables: for trace local variable we have to do the tracer setting first. Once selected the
location variable option in tracer settings, we can see the local variable page in tracer.

5. What is the use of obj-refresh and lock?


* Obj-refresh and lock method we will use it for acquire a lock on a particular steppage.
* We have a situation like we opened the instance without lock. In later steps we need to get the lock
on step-page means we can use this method will not effect.

6. What is the difference between obj-save (with write-now) and commit ?


* commit will save all uncommitted data whereas obj-save with write-now option only save that
particular step page data.

7. What is the difference between call and branch ?


* While executing call method, the control goes to child activity and comes back to parent activity,
but in case of branch method, the control goes to child activity, but it will not come back to the parent
activity, it will end in child activity only.

8. What is the difference between call and queue?


* While executing call method, the control goes to child activity and comes back to parent activity,
which means it waits for control back to parent activity, but in queue it will call other activity and it
won’t wait for control. It continuous to the other steps in activity.

9. What is the difference between Exit activity and End activity ?


* Exit activity will end current activity only, but in case of end activity it will end the child and parent
activity also.

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.

16. Commit method :


* Commit method commits all the obj-save steps which are above the commit step.

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.

20. Calling other rules from activity:


* Apply-data transforms : To call data transform
* Property-map-decision table : To call decision table
* Property-map-decision tree : To call decision tree
* Call pxretrievevreport data : To call report definition from activity. It’s an OOTB activity, while calling
we will pass RD name and report definition class name.
* Load-data page : Asynchronous calls for executing the data page.
* another want to call the data page is directly mention a data page name as a step page. So that it
will execute.
* If data page is parameter then we will pass the values in square brackets with comma separated
values.
Ex: D_Employeepage(EmpNo:”1”, Ename:”Ram”)
21. Work-object creation using OOTB activities?
*1. Work-Add 2. Work-Add work, 3. Work-add covered work, 4. Work-Add covered 5. New 6. New
covered.

22. Difference between obj-validate and edit-validate?


* Both will use for validating the properties, In obj-validate we will validate the list of properties
whereas in edit-validate we will apply edit-validate rule on property advanced tab and it will validate
that property only.
* Edit validate rule source code is java and obj-validate we will submit to the server.

23. Error handling techniques in pega other than api or services?


* Suppose if we performing DB actions like obj-open-by-handle, we have to do the error handling.
* Recently I try one thing, like settings error message to particular text input field, but here we are
calling data transform in data transform we handling the exception.
* We have OOTB activity : pxAddmessageToProperty, we have to pass message and property name to
this activity, so that it will set a error message.
* We have UI screen based on validations we will handling the exceptions. Here we will use obj-
validate method.
* data type compatibility error or data type mismatch errors.
* many times we will get java null pointer exceptions- suppose we have a when rule in systems but in
run time it’s in context. Classes are different than we will get these type of exceptions
* I think these are the main area’s.

Agents

24. Agents Purpose:


* It is back-end process and it is automatically execute.
* We can create only 1 agent for 1 rule set because the agent’s names and rule set name are same.
* If we create one rule set agent, we can specify no.of jobs means sub-agents.
* If we create an agent rule- in certain time back end the master agent will create agent scheduler
instance (data-instance).
* Master agent: It is a pega-pro-com agent, the master agent is to monitor agent rules.

25. Types of agents:


* We have standard agents and advanced agents.
1. Standard agents : It will based on queue items, means when we have queue item- it will wake up
and process that queue item.
2. Advanced agents : It does not require any queue item- advanced agents are work based on
scheduled time, like articular date or specific time.

26. Difference between Standard and advanced agents ?


* The way it work : means standard agents are work based on queue items, whereas advanced agents
are work based on scheduled time, it will wake-up that time I will process the agent activity.
* Security : In case of advance agents, we have to specify access groups, whereas in standard agents it
will take from who queued the item.
* AQM : Auto queue management will work only with standard agents will not help for advanced
agents.
27. Job of AQM :
* Re-queuing the items and it prevents few failures like in multi node environment, one node is
accessing the db table, it will control other node automatically, but in advance agent we have to do
this manually. Which means we have to configure manually each node.

28. Queue-for-agent?
* Is the activity method for queuing the items.

29. Class :
* System-Queue_scheduletask.

30. How to trace an agent ?


* To trace an agent in pega 7.4 we have SMA(system management Application) from there we can
trace. We have to go
* in agent management find out the agents in agent list.
* Start and delay the agent.
* Go to requestor management tab we can find the delayed agent.
* It will shown as a waiting status, select that requestor and startt traciing.
* Once agent it wakeup-we will see the tracer lines.
To trace an agent in pega 8.1 we have a
* Admin studio : find out the agent in agent list.
* Start the agent.
* Trace now.

31. Example for standard agents and advanced agents ?

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

32. Practical example for standard ?


* For standard agents in our application I done one jira card-purge-card-for this card we use both
standard and advanced agents.
* Before going to execute a advance agents we make a queue item for extraction, we have a
permanent DB, before delete a record from pega DB, we have to extract to permanent DB.
* For this purpose we used the standard agents.

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.

34. What is the difference between authentication and authorization ?


Authentication : means we will validate to the user for accessing the resources.
To implement the Authentication in pega : We have to use authentication service, in authentication
service we will call the authentication activity. In activity we will write a logic for validating the user.

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

37. Difference between Soap and Rest ?


* Communication : In case of soap it’s a XML communication. Rest can support both XML and Json.
* security : Soap is more secure compare to the rest, because in soap we can create a WS security
profiles (web service security profiles).
* Processing Speed : Compare to the Soap, Rest is faster.
* In Rest we have methods like : Get, post, put, delete. But in soap we don’t have these.

38. Whats is WSDL ?


* Once the soap-service wizard is completed it will generate wsdl (web service description language)
* WSDL contains- End point URL information, service package name and service method name and it
contains all request and response parameters and service method rule name>

How to implement Authentication in soap service ?


* We have an option- Apply Authentication option in service package.

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.

41. How to test a Service-soap ?


* 1ST way : by running service-soap rule
*2ND way : while importing connect-soap, we have a option to test the service.
*3RD way : to import WSDL and use connect-soap method in activity, so that we can test the service
soap.

Connect soap..

42. How we can configure the connect-soap ?


* First we will test the WSDL whether service is working properly or not. ( by using soapui we can test
the Service-Soap)
* To configure the soap we have wizards.
* Configuring the connect-soap is the 3 steps execution.
1St step we will provide WSDL file or WSDL URL
2ND step to test the connectivity and check the input and output properties structure.
3RD step review and share. Here we will select : Integration class, Ruleset, Connect soap rule name.

43. Connect-soap method parameters in activity ?


They are * Service name
* execution mode
*Endpoint URL.

44. How we can handle the exceptions in connect-soap/connect-rest ?


* In Activity : we have a method-connect soap : after method execution we have a jump statement.
There we will check the service response. If service fails or success, we have a status field based on
that we will handle the exceptions-like jump to other label and we will set the error details. Suppose if
service is down we will receive a http code response’s based on that we will handle exceptions in
activity.
* Datapages : In data pages based on service response we will handle in response DT or else we have
a post processing activity from there we can handle the exceptions in data pages.

45. What is Parse Rule ?


* It will convert XML request to CB properties.
46. What is Stream Rule ?
* It will convert CB properties to XML response.

47. In a service soap rule type ?


* Request - Parse rule
*Response - Stream rule.

48. In a connect soap Rule type ?


* Request - Stream rule
*Response - Parse rule
Where we refer these connect rules ?
* 1St way : in activity we have a connect-soap method.
*2ND way : In data page one of source is connector.
* 3RD way : In flow we have a integration shape.

49. What is API Consists ?


* Before implementing service, it may soap or rest.
* I will check what is the purpose of service, suppose for example I will get a consumer ID in request
and for that I will share a customer details.
* Here request I will get id and I will send a details as a response.
* Once requirements is clear, than I will start implementing service.
* Consider we are implementing the Rest API.
* So, first I have to create a service package and service method rule.
* In service package rule we will maintain authentication and authorization details.
* In rest method rule based on logic we will select a method, suppose in scenario it is a get method.
* In activity we will write a logic and accordingly we will send a response.
* In activity we will maintain a exception handling.
* So, that’s how we implement the service.

50. Common HTTP error codes ?


* 500 Internal Server Error
* 400 Bad request
* 404 Not found
* 501 not implemented
* 502 bad gateway
* 503 Service Unavailable
* 504 gateway timeout.

Service_Rest

51. Difference between Soap and Rest ?


* Communication : In case of Soap it’s an XML communication. Rest can support both XML and JSON.
* Security : Soap is more compare to the Rest, because in soap we can create a WS security profiles
( Web Service Security)
* Processing Speed : Compare to the soap, Rest is faster.
* In rest we have methods like Get, Post, Put, Delete. But in soap we don’t have these.

52. How we can implement service-rest in pega ?


* We don’t have any wizard for service-rest creation.
* We have to create a service rest manually.
1St we will create the service package.
2ND while creating the service-rest we will provide the service package details, class and version
names.
3Rd Inside service-rest method rule we will select methods like Get, Post, Put, or Delete).

53. Types of Methods ?


* Get : In request URL we will receive a input, for that input we will send a response.
* Post : Is nothing but we updating something existed.
* Put : Is nothing but we can create new or we can update existing.
* Delete : Something deleting Instances.

Connect-Rest

54. How we can configure the connect-rest ?


* 1ST we will test the Endpoint URL whether service is working properly or not.
* By using Postmen Tool, we can test the service-Rest.
Configuring the connect-rest is the four steps execution
* 1St step we will provide the information about Endpoint URL.
* 2Nd Step we will select method type whether it is get,post,put, or delete.
* 3Rd step we will upload request and response Json’s. The reason we will upload is to create request
and response structure.
* 4Th step review and save, here we will select Integration class, Rule-set, Connect Rest-rule name and
we have a chance to select a data layer also.

55. Connect_rest method parameters in activity ?


* Service name
* Execution Mode
* Endpoint URL
* Method Type.

56. How we can handle the exceptions in Connect-Rest?


* In Activity we have a method-connect-soap, after method execution we have a jump statement.
There we will check the service response. If the service fails or success we have status field based on
that we will handle exception-like jump to other label and we will set the error details.
* If service is down we will receive a HTTP code response based on that also we will handle the
exceptions in activity.

57. Data Pages :


* In data page after service call we will receive a service response than we will call a response DT for
mapping the incoming service response. Here we will check whether the service is fail or success by
using when rule, generally we will check the status property. If status is fail or success based on that
we will set messages. This is how we will handle the exceptions in data pages and we have another
option post load processing, here calling the activity also we can handle the exceptions.

58. Where we refer these Connect Rules ?


* 1St In activity we have a Connect-soap method.
* 2nd in data pages one of source is connector.
* 3Rd In flow we have a Integration shape.
Data Pages

59. What is the use of Data Pages ?


* The use of data pages is to retrieve data from any systems. By using the scope’s we can get a data
from data base and placed in clipboard. Based on scope’s it is available in clipboard.

60. What are the types of scopes ?


* We have 3 types of scopes. They are 1. Thread, 2. Requestor, 3. Node
1. Thread : When the scope is thread, the data pages can be shared within the thread, means within
the work object only. We can use the data pages but the data pages is not available for other work
objects. Within the work object only the data pages is available.
OR
* The data-page data will be available only for that particular case or work-object or within the work
Object.

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.

* Examples : Thread Level Data pages :


Requestor Level data pages :
Node Level data pages :
* Eg. 1 : Currency rates : this we swill populate a node level data pages (common for all applications).
* Eg. 2 : List of branches etc.,: This we will populate a node level data pages (common for all
applications).
* If we specify a page in node level, then it can be accessed by all the requestor in the particular node.

61. What are types of Data Pages ?


* We have 3 types of Data Pages. They are 1. Page Type, 2. List Type, 3. Saved Data Pages.

62. What are the modes of Data Pages ?


* We have 3 modes of Data Pages. They are 1. Read-Only, 2. Editable, 3. Savable Data Pages.

63. What is Savable Data Page ?


* If the end-user edited the data in UI, to save this data we will configure calling activity and
implementing a logic for save like Obj-save. To avoid this situation we will create a savable data pages
and it can store directly without any configuration.
64. What are the sources for Savable data pages ?
* We have different sources for savable data pages. They are
1. Data base save.
2. Connector
3. Robotic automation.
4. Robotic Desktop Automation.
5. Activity.

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.

66. What is the use of Keyed Page access ?


* We will specify more than one key for accessing the data.
* Generally these keyed page access is only available for list data pages.

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.

68. Example of Keyed Page access data page ?


* For example : While implementing cascading display we can use keyed page access data pages.
* Based on first drop-down values the second drop down values are automatically sorted. The values
are passed to data page in run time, means on click of second drop down the run time values are
passed.
* But if we use keyed page access data pages, on selection of first drop down the second drop-down
values are automatically sorted.
* Here on selection of country value the key is passed to data page based on that clipboard data will
sort. (Stop Here).
* Example for cascading display is :
* Suppose we have a country drop-down and based on country selection the country related states
we will display automatically in state drop-down.

69. Where we can refer these keyed page access data pages ?
* We can refer property level under data access.

70. Data Page Refresh Strategy ?


* Reload once per interaction : It will contact db per each interaction.
* Do not reload when : we can restrict the data page.
* Reload if older than : we can set it for only days, hours, minutes, and seconds. No year or no
monthly only.
71. Remove the data pages from Activity ?
* We have OOTB activity (FlushDeclarativePage), while calling this activity we have to pass data pages
name as parameter.
* Note : From data pages we have a option under load management-clear data page-so that we can
flush the data page.

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

72. Handling Exceptions in Data pages ?


* In response DT we will check the response status, based on that we will handle it.
* Other wise, we have a post load processing under data page’s. So, that we will call the activity we
will handle the exceptions.

73. If the Data page is Editable Data Page ?


* No Nodel Data pages for editable Data pages.
* There is no Keyed pages option for editable data pages.
* If the data pages is editable we can see the data pages data in clipboard-under user page categories.

74. Cascading Display ?


* Based on first drop down value the second drop down values are sorted, suppose if we select a
particular country then country related states will be sorted in second drop-down. This is nothing but
cascading display.
* To achieve this : First we have to declare a parameter variables in data page and source of data page
is report definition so we have to declare same parameters variable in report definition. In report
definition we will write a filter condition. The condition is countryid==param.countryid. This
parameter value comes in run-time.
* While clicking state drop-down we will pass country id as input to state drop-down. This will pass to
a data page, in data page we have a option to pass a parameter so that report definition result will be
sorted.
* Here on click of state drop-down we will pass the parameter variable values to the data page so that
we can see the sorted values in the drop down.

75. Handling a exception in Data pages ?


* In data pages after service we will receive a service response than we will call a response DT for
mapping the incoming service response. Here we will check whether the service is fail or success bu
using when rule. Generally we will check the status property, if status fails or success based on that
we will set messages. This is how we will handle exceptions in Data pages and we have another option
post load processing, here calling the activity also we can handle the exceptions.

76. Data Access Patterns in Pega ?


* SOR (Systems of Records)- Data is not copied into pega but it is referred.
* Snapshot data access pattern - copies data from data page to work case
* Alias pattern- Alias pattern in PEGA can be implemented by using the “Property-Ref” method.
* Keyed Access Pattern.

77. Why we use the Report Definition ? What is the purpose ?


* Report definition mainly we will use it for fetching a data from table and
* By using Report definition we can fetch more than one data table and
* Using Report Definition we can create a advance reports for user needs like-user wants filter or add
a new column or delete a column.
* User can customize the Report Definition. That was the use of Report Definition.

78. How to fetch a multiple data by using Report Definition ?


* We have a different type of joining options are available in Report Definition.
* Like Class Join, Declarative Index Join, Association, Sub-Reports.
Class Joins :
* We will specify a class and we will give prefix for that class, using the prefix we can access a
properties inside that class. We have
* Left outer join---> Include all the rows in this.
* Inner Join and--- Only include matching rows.
* Right outer join---Include all rows in joining class.

79. What Pega recommends to write a Report Definition ?


* All properties should be optimized.

80. If the property is not optimized can we use Report Definition ?


* Yes we can use it in query tab we will get a warning.

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.

82. How to trace & debug report definition rule ?


* Report definition rules execution can be seen in tracer only.
* We have to do tracer settings like, Enable a DB query and enable a Pega-Reporting. So, that we can
see the report definitions in tracer.
* In clipboard pyReportContentPage having the report definition execution result.

83. What is the difference between Sub-Reports and Class Joins ?


* sub-Reports is used when there is no direct relation or in some complex requirements. Whereas join
condition is used when we have direct relationship with the table.
* If we want to use Aggregated properties than we will use only Sub-Reports.

84. If we want use this property(aggregated properties) in report it will have a


performance issue ?
* Reason is these properties we don’t have any separate column in DB table and we don’t have
optimization for aggregated properties. So, if we use this properties in report definition, it will fetch a
data from blob properties. So, it’s a performance issue.

Flows

85. Types of Flows ?


* There are four types of flows. They are Main Flow, STP flow, Sub-Flow, Screen Flow.
1. Main/Starter/Process Flow : It’s just a normal flow which create a work object (When you start a
flow it’s create a work object).
2. STP(Straight Through Process) : It does not require any user interaction to complete, if we start a
flow it is automatically completed.
3. Sub-Flow : A flow inside another flow.
4. Screen Flow : It is a special type of Sub-Flow.
86. Difference between Screen flow and Process flow ?
* We have differences like,
* Screen flow cannot be a starter flow, means we cannot create a new work-object with screen flows.
* Routing : In screen flow routing is configured only in the start shape. It can be routed only to
operator and the same(only one) operator is responsible for completing all the steps. You cannot
route a screen flow to a different operator. In standard flow you can perform the exact opposite, we
can configure routing on each assignment shape.
* Harness : In screen flow we can have harness option at start shape, so that entire flow we have
same harness. Whereas in screen flow we can have a harness on each assignment shape.
* Flow-action : We will define flow action on assignment shape in Screen flow, whereas in process
flow we will define on connector properties.
* Screen Navigation is also different : We can easily move the screen in screen flows, whereas in
process flow we have to configure manually.

87. Spin-Off option ?


* Spin-off is a potion that available under sub-process shape. If we click this option than sub-flow and
main flow will execute parallel. Generally if we have any sub-process shape in main flow, once sub-
process is completed than main flow will resume but using this spin-off option, we can run both sub-
flow and main flow parallel.

88. Split Join ?


* Using split join shape we can add more than one child process into a main flow. (Stop here).
* Here we have 3 option
* All, Any, Some
* All and any both are almost- we will specify the sub process, once all the sub flow are completed,
process flow can be resumed.
* Some - we have a when condition based on condition main process will resume.

89. Split For Each ?


* Using this flow shape we can call another sub flow.
* This flow shape takes the page list as a input and the flow will split into a how many pages are there
in a page list. (Stop Here).

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.

91. What is the use of Draft-on and Draft-Off ?


* Draft-on : Still development is going -on which means flow rule is not completed.
* Draft-off : Development is completed and there is no further changes, we can move these flow to
the production. (Stop Here)

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

92. Types of flow actions ?


* We have 2 types of flow action. They are
* Local Flow Action
* Connector Flow Action

93. Difference between Local and Connector Flow action ?


* The place we define a flow action-based on that it behaves whether it local or connector. If we
define a flow action on assignment shape then it’s a location flow action. If we define a flow action on
ongoing assignment then it’s a connector flow action.
* After completing of local FA, it will remain in same assignment shape, whereas in connector FA it
will take your flow into next available shape in flow.

94. What are the standard flow actions.


* Approve
* Cancel Assignment
* Reassign
* Reject
* Resolve
* Transfer to Manager
* Withdraw.

Service Level Agreement (SLA)

95. What is the use of SLA in Pega ?


* SLA is nothing but Sevice Level Agreement.
* Generally we define a SLA for monitor purpose, suppose if we define a SLA on assignment shape,
when the flow is reach the assignment - the SLA get automatically triggered and it will monitor the
assignment.
* Based on SLA configurations it will perform the actions accordingly, like sending a email notification.
* SLA we have a time intervals are :
1. Goal : goal time start calculating immediately once the flow is reached the particular assignment.
2. Dead line : Goal is a subset of dead line. Suppose if we specify 2 days for dead line and 1 day for
goal total completion of dead line and goal is 2 days only. Goal is inside dead line.
3. Passed dead line : which is completely after dead line. Once dead line is completed than passed
dead line will start.

96. Where we can configure SLA’s ?


* We can configure SLA for complete case life cycle.
* We can configure SLA for a particular stage.
* We can configure SLA for a particular step.
* We can configure SLA for each assignment in flow.

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

99. What is Harness ?


* Harness is nothing but design of the screen or appearance of the screen. We have 4 types of harness,
they are
1. New harness : when we starting the flow, first I will load from new harness.
2. Perform harness : every assignment shape we have a perform harness.
3. Confirm harness : when the case will reach the end shape, it will display confirm harness.
4. Review harness : if you open a complete case from all case instances, then it will display review
harness.

100. Difference between Harness and Section ?


* In section rule we have different layouts and different controls-using that we can create appearance
of the screen.
* Whereas in harness-we define a appearance and processing of work objects, means
* We have a new harness-when we starting the flow, first I will load from new harness
* We have a perform harness-every assignment shape we have a perform harness.
* We have a confirm harness-when the case will reach the end shape, than it will display confirm
harness.
* We have a review harness : If you open a complete case from all case instances, then it will display
from review harness. (Stop Here).
* Generally we have a portal, inside portal we have a harness, inside harness we have a screen layout,
inside that we have a container, inside container we have a sections. That’s how we design a design.

Rule-sets

101. Difference between Application validation and Rule-set validation ?


* In application validation it will follows the application rule set stack, whereas in rule-set validation
we have to specify the rule-set, at-least one rule set is minimum pre-requisite.

102. What is mean by Availability of the rules ?


* We have different types of availability of rules. They are
1. Available : In run time it is available it will serve.
2. Not available : If it is not available it will not serve.
3. Blocked : It will affect other rule-set versions also.
4. Withdrawn : within the same rule-set versions only the current versions and all below versions.
5. Final : we can use final rule in the same rule-set version and can’t save as into another rule-set
versions.

103. Difference between Withdrawn and Blocked ?


* Withdrawn : If any rule is withdrawn, the withdrawn effects on current version and all below
versions of that particular rule-set. It won’t effect the other rule-set specified in application rule-set
stack.
Example : SCB:01-01-05-Personal Details(withdrawn)…01,02,03,04.
Same rule-set is present if SCBInt : 01-01-01
Note : Here there is no impact in SCBInt Rule-set.

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

106. What is Skimming explain ?


* Skimming is nothing but creating a highest version.. it collect the highest version of the every rule in
the rule-set and copies them into new major versions of that rule-set on the same systems.

107. If we skimming blocked rules than what happen ?


* Skimming will create a highest version, if any rule is blocked it won’t moved.

108. If we skimming withdrawn rules than what happen ?


* In case of skimming with withdrawn rules can be move to higher versions.

109. What is Rule Resolution ?


* It’s a mechanism to determine right rule in run-time.
* When the operator is login--In operator rule we will specify the access group for application access.
In access group we have application details--, so that operator get a application access. In application
rules we have application rule-set stack, so that rule-set are available for the operators,, based on rule
availability, the rules are filter in run-time. This is how the rule algorithm will work.

Product Rule

110. How to deploy a code in higher environment ?


* We will create a product rule and we will deploy into higher environments like SIT (System
Integration Testing) and UAT (User Acceptance Testing).

111. What are the components do we include in product rule ?


* While creating a product rule we will include application rule-set versions and if we have any data
instances like service package or class or operator or access group info., etc., we will add those
individually instances into product rule.

112. Are you using any tools for deployment ?


* We have Devops tool, but I haven’t experience it. Generally I will create a product file only.
Declarative Rules
* Declarative rules are not called anywhere and we will define the declarative rules on properties,
when we use the property than these declarative rules are fired.
* Constraints : Constraints is a special type of condition. It’s validate the condition in run-time.
For example : we have device type is drop-down and if we selected device type is mobile, the length
of mobile property should be 10. using the constraints we can implement this.

113. Declare expression ?


Declare expression gets triggered automatically based on two methods - like
1. Forward Chaining and
2. Backward Chaining.

Forward Chaining : Lets take a example

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

114. Different types of Inheritance ?


* We have two type of Inheritance. They are
1. Pattern Inheritance : Finding a rule in pattern. (it will follow class structure as backwards).
2. Direct inheritance : It is other than your class. (Work-cover).
115. Difference between Pattern and Direct ?
* While rule engine is looking for a rule, if it follows class structure from case type to organization, it is
called pattern and other than your class is direct.

Mandatory : Direct Inheritance.


Precedent : Pattern Inheritance.

Decision Rules

116. Where we can call Decision table ?


* In flow rule using decision shape.
* In activity using this method “Property-Map-DecisionTable”.
* In decision tree - we have a option in configuration tab ( allow selection of ‘call decision’ option) we
have to click this option.
* In declare expression - we have a option to call a decision rule like table or tree or map value.

117. Difference between Decision Table and Decision tree ?


* From decision tree we can call other decision rule, but from decision table we can only call other
decision table, but not possible to call other decision rule.
* Decision table having no.of rows and columns, where decision tree it follows tree structure
whenever we have a condition inside another condition than we go for decision tree.
*Both we will use for delegating to the end user.
* Generally decision table is used for implementing simple logic whereas decision tree we used for
complex logic.

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.

119. How we can call activity from Data transform ?


* We have an expression, Execute an activity. From there we can call the activity.

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

122. What is Property Optimization or Expose a Property ?


* To create a separate column in DB table is nothing but property optimization.
* In property rule under action tab we have optimize for report option is present, using this we can
run a wizard and it will create a column in DB table.
* Without property optimization all properties are stored under BLOB(Binary Large Object) column. It
means under pzpvstream column, if we do the property optimization than it will create a separate
column in DB table. So that whenever we use these properties in reports there is no performance
issue.

123. Difference between Edit Input and Edit validate ?


* Edit input provide a conversational facility, means convert the user entered data into a required
format.
* Edit validate is a validation rule, it will validate the user entered data.
* Both we will specify in property rule advance tab.

124. Difference between rule Obj validate and Edit validate ?


*
OBJ- validate Edit validate
1. Using Obj-validate we can validate multiple 1. Using edit validate we can validate only one
properties. property.
2. Obj validate is a server side validation. 2. Edit validate is a client side validation.

125. Difference between Page list and Page group ?


* Page list is a ordered list and page group is a UN-ordered list.

126. What are standard clipboard properties ?


* The standard clipboard properties are 1. px, 2. py, 3. pz.
* px is for read only
* py is for Read & write
* pz is for System maintenance purpose.

Class group

127. What is Work pool / Class group ?


* All work related instances we can store under one common table in DB. That table is nothing but
class group and every class definition we have this class,
1. Belongs to a class group
2. Doesn’t belongs to a class group
3. Is a class group.
Note : Generally we have a default option for all concrete class : is a class group.

Debugging Tools

128. What is Clipboard ?


* Clipboard is a temporary memory, if we are opening a work object or any page in portal, it will
populate all those information in clipboard. Clipboard contains user-pages, data pages, Linked
property pages, and System pages.
* User Pages : It will populate current case or work object under pyWorkPage.
* Data Pages : Based on scope, the data page’s will be populated.
* Requestor : As a requestor once I populated requestor level data page, the data pages data is
available for all case types under that particular requestor or between the work object.
* Node : 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.
* Linked Property pages : No idea, never used.
* System Pages : All operator related information is stored.

129. Live UI (User Interface) ?


* It shows tree structure and finding section rules from UI.
130. Tracer ?
* It allows you to capture and view the events during case processing.

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.

132. Where we can check log messages in your application?


* Our application is a cloud based application. We used Splunk logger, we have a separate URL for
that. Here based on environment we will check the logs.

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.

1. Page: If this is the data page to hold single instance


2. Page List: if this is the data page which holds multiple instances.

Modes
Read only: - These Data Pages gets created on clipboard under ‘Data Pages”.

These cannot be updated or deleted.

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.

In Data Page Load Managements tab under


1.Clear data page is used to delete forced on clipboard, and background run OOTB Activity is FlushDeclartiveDataPage.
2. Refresh Strategy
3.Reload if older than Day, Hour, Second
2. Data page sources.
Below are the sources of data page
1. Activity
2. Data transform
3. Report Definition
4. Look up: To fetch single record from the table.
5. Connector: for integrations purpose.
6. Robotic process automation
7. Robotic desktop automation.
Advantages of Data Page

 1. The number hits to data base reduced from N to 1


 2. number page on clipboard reduced from N to 1
 3. number of times sources executes reduced from N to 1
 4. time taken to load in UI is reduced.
 5. Overall performance of application is improved.
Details about Data Page
 Data page is Shared (cached) page on server’s clipboard.
 Data page is instance of Class Rule-Declare-Pages
 It can be created under Data Model Category
 Data Page name must start with D_ or Declare_
 Data Pages were called as Declare Pages before Pega 7 version

3. What is Report Definition and its real-life example?

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.

4. Decision table and Decision tree differences.


It can be created under Decision Category., Decision tables is instance Class is Rule-Declare-Decisiontables.
It can be created under Decision Category., Decision Tree is instance Class is Rule-Declare-DecisionTree.
Decision Table Decision Tree
This has the logic if else if, else if and so on else. This has the logic of if, if, if and so on else.
Decision table we can call other decision rule by using We can call other decision rule by selecting the
functions like pxEvaluateDecisionTable, option “allow selection of call decision option”
pxEvaluateDecisionTree, ObtainValue. under the configuration tab of decision tree.
We can set /return multiple properties values by There is no such option available in decision tree.
selecting the option “Evaluate all rows” under the
results tab.
For all the conditions in decision table, the properties In decision tree we can use different, different
used are fixed and same. properties for different conditions.
We can use expression builder and functions. We cannot use expression builder.

5. What is Case types & Case life Cycles with Examples?

A Case Type defines work object life cycle to have


1. Stages: It’s collection of processes
2. Process: It’s a flow and collection of steps
3. Step: It’s a flow step.
Case Life cycle going to start at Start Stage and gets completed to Resolution Stage.

When We create a case, it may create below rules.

1. Case Type Class (Belongs to Class Group)


2. Flows.
3. Case Type
4. Properties, Sections, Flow Actions
5. Data Transform
6. Work Party
7. pyStartCase

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

1. What is Data propagation?


Data propagation is Copying the data from parent into child case at the time the child case is getting created.
We can define the data propagation under setting tab of Parent case Type. For Child Case Is Data Propagation Option Not Available
Here, we can set single properties or create data transform and call it there.

2. How to access parent case data to child and child to parent


If we want to assign data from parent case to child case, we can use data propagation.

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

pxCoveredcount Property hold the value of “Number of Child Cases created”.

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

1. This property holds the pzInsKeys of All children.

While Processing parent case, if we want to read the pzInsKeys of child cases, those will be available on Value List
pyWorkPage.pxCoveredInsKeys.

 What is Locking in Case Managements? There is Two Types of Locking

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.

3. What is the difference b/w Screen Flow & Process Flow?


Sub Flow: - This is similar to process flow except it is not the starter flow but it has been invoked from a process flow.

Process Flow Screen Flow


It Create a work Object It Cannot Create Work Object (By Defaults)
For every assignment we see submit button, means For every assignment we get next, back and finish
when an assignment is completed, we cannot navigate buttons available accordingly. We can navigate
back. between assignments.
Flow action can be called on assignment shape Flow action can be called, on assignment shape
outward connector. Here we can call multiple flow itself. Only one flow action per assignment is
actions per assignment. possible.
Harness can be called, per each assignment.  Harness can be called on start shape of
screen flow that means for all assignments
in screen flow same harness.

 Routing option is available on assignment  Routing option available on Start shape of


shape. screen flow.
Each assignment can be routed to different  That means all assignments in screen flow
operator using assignment shape. gets routing to one single work list or work
basket.
 All assignment must be worked on only by
one operator.

4. What are Type of Flow There are two Type of Flow.


Flow Action: - It is process rule, which allows us to perform an action on assignment and it moves the case from current assignment to next level
in the flow, by completing the current assignment. It can be created under Process Category., Flow Action is instance Class is Rule-Obj-Flow
Action.

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.

7. Declarative rules explain


Declarative rules get executed automatically without calling. Below are the declarative rules.
1.Constraints
2.Declare expression: This is used to assign a target property when source properties or inputs properties value changes. It can
be created under Decision Category., Declare Expression is instance Class is Rule-Declare-Expression.

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

Here the below columns are important


pxAssignedOperaotrID: These columns hold the operator ID of operator to whom the assignment is routed. In case work basket this column
holds basket name in work basket table.

pxRefObjectInsName: This column value is = pyID of Work Table

pxRefObjectInsKey: This column value is = pzInsKey of Work Table

10.What is Data Transform?

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.

We can call data transforms from


1. Data transform using Apply Data transform option.
2. Activity using the method “Apply-Data Transform”
3. Flow action under action tab as pre-processing and post processing.
1.1 What is the difference b/w Append to & Append Map to?
A. Both are for copying pages from one page list to another page list
If both page list to same class, then use “Append to”
If both page list refers to different classes, then use “Append Map to”.
1.2 How to call decision table & decision tree from a DTF?
A. pxEvaluateDecisiontable (Page Name, Declare Rule Name).
pxEvaluateDecisiontree (Page Name, Declare Rule Name)
ObtainValue (Page Name, Declare Rule Name)
1.3 How to call an Activity from data transform?
A. We can use Below Functions.
1.Callactivity (Page Name, Activity Name)
2.pxExecuteAnactivity (Page Name, Activity Name)
10. What is Web Services?
Web Services: Web Service is a program, used to expose some data to third party requestors.

Web services can be used to establish connection between two applications over web, in order to exchange Data.

When we are working with service. We have two systems.

1. Consumer or Requestor (Just sends a request and receives response)


2. Provider or Service Provider or Producer (Where actual service program is built)

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…)

Understanding SOAP Protocol:

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.

While Working with Web Services of SOAP Protocol,

1. As a consumer we have to create Connector Rules (connect SOAP Rule)


2. As a provider we have to create Service Rule. (Service SOAP 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.

After we build SOAP service, we need to generate WSDL URL.

To work with building a SOAP service, we need to create below rules.


1. Service Package 2. Classes 3. Properties 4. Data Type (Table) 5. Service SOAP 6. XML Stream 7. Parse XML
8. Activity to perform Processing 9. Work Integration.
All these rules, can be create in Integration Rule Sets and Under Integration Classes. For services, we need to create under Work
Integration Layer. All these rules get automatically created by an OOTB Service wizard
The Navigate of Configure view- integration-services-Services wizard.
1.1 What is Stateless & Stateful in Service Packages?
Stateless: Means the session ID gets created by services. It can recognize the follow up request. EX: Gmail
Stateful: Means No session ID gets created. Every request will be created as a new request. EX: Google

11. What is SLA (Service Level Agreement)

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.

There are 5 types of Urgency available.

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.

Below are escalations

1. Apply Data Transform: Calling DTF


2. Run Activity: Calling Activity.
3. Call flow: Flow which is called will be executed.
4. Transfer: Assignment gets auto rerouted to work list or work queue accordingly.
5. Notify Assignee: Email will be sent to assigned operator.
6. Notify Manager: Email will be sent to reporting manager or current assignee.
7. Notify Party: Email will be sent to work party.

SLA Can be initiated

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

12.What is Data Type?

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

13.What is Activity and Methods?

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.

Obj-Delete: - To delete instances from table.

Obj-Delete-By-Handle: To delete based on Primary Key (pzInsKey).

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.

1.1 How to see Param value?


A. Parameter we cannot see on clipboard. We only see on Tracer. Parameter page name “Unnamed”
1.2 How to pass parameter page from one rule to another?
A. By selecting the option “Pass Current parameter Page”.
1.3 What is the Difference b/w Class key & PzInskey?
A. Class Key: - this is unique ID of an instance which is defined in the class rule forms. For given class, we have more than class key, is
Possible.
pzInsKey: - is unique primary of an instance. An instance will have one and only one pzInskey.
1.4 What is the Difference b/w Primary and step Page?
A. * Primary Page is the page on which a rule run.
*** Step Page is the one which we mention at the specific steps. We didn’t mention step page it take a Direct
“RunRecordPrimaryPage” in Tracer.
1.5 Where can see local variable defined on the rules?
A. We can see local variable on tracer, On a page local variable.
***To see this, we need to choose an option on tracer settings, local variables.
14.What is Difference B/w Standard Agents & Advanced Agents?

Advanced Agents Standard Agents


Agent Will woke up by Master agent System Pulse at schedule Agent Will woke up by Master agent System Pulse at schedule
Time Time
Agent When wake up, it directly executes agent activity. When agent wakes up, it looks up PR_SYS_QUEUE table, for an
item with status Scheduled.
Agent activity gets executed only once per wake up. Once activity Agent activity gets executed 0 – N number of times per wake up.
is completed, agent will go to sleep. If the queue has 10 items activity will be executed 10 times.

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

15. What are the difference between SOAP & REST?


SOAP REST
It supports XML Data Structure. It supports XML Data Structure, JSON, TEXT, HTML, etc…
Description about the service and be generated as WSDL Document, We provide End point HTTP URL, Model request and response.
WSDL URL has to be provided to Requestors
SOAP data transformer HTTP, SMTP etc.. REST transfers only on HTTP
Heavy Weight of its Data Structure Light Weight of its Data Structure
There is no methods classification Methods classification is provided like GET, POST, PUT and DELETE

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}'

Class name in place of Table name.

Here Class and Table mapping is must.

 If we are writing query like


SELECT vinid, company, model, make year FROM public.
Vinvalidation
WHERE vinid = '{Asis: MyServicePage.Request.Input.VIN}'

Direct Schema name and table.

Here Class and Table mapping is NOT Required.

That means FOR RDB methods Class Table mapping is


optional, that depends on how you write the queries.

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.

A. The two main reasons are

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 Working with External Database integration?

To work with External DB integration, we need to follow below steps.


1. Create a Database in DB environment (local or remote), define required privileges.
2. Create a Table, defined require privileges.
3. Get the connection details of DB from DBA.
4. Create a Database rule in PRPC, to connect to external DB.
5. Create a Data class, properties and define keys.
6. Create a Database table rule, map the above class to External Table.
7. Use Obj or RDB Methods to access the data from external Tables.
8. When using Obj Methods, no need to create Connect-SQL rules.
9. When using RDB methods, we have to Create Connect-SQL rules, and write our own SQL queries.

Below are the RDB methods that PRPC Provides.

1. RDB-List (Return pxResutls)


2. RDB-Open (Return single Instance Page)
3. RDB-Delete (Deletes instances from table)

RDB-Save (Creates or Updates instance of table)

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.

17.What is Email integration?

Two types of Integration

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.

Correspondence: - A correspondence rule is an instance of the class


Rule-Obj-Corr. It can be created under process category. It can be used to create the messages for Email Body. This can be assigned to a
property by using the method Property-Set-Corr.
DSS (Dynamic System Settings): - DSS entries allows us to maintain different values for Different application server environments by allowing
us to change the values without check in and check out.
18. What is Agents?
Agent is internal background process or requestor, which is gets associated with 1) Schedule 2) Activity 3) Access Group 4) Mode.
Agents wakes up at the schedule time and executes its associated activity. When an agent wakeup, it will run on the associated
access group. PRPC has a predefined master agent ‘System Pulse’, which wakes up all the user created agents at their schedule time.
** Agent is an instance of Rule-Agent-Queue Whereas agent schedule is an instance of Data-Agent-Queue.
Modes Of Agent: - There are 3 differences modes available.
1. Legacy: - This mode is been deprecated from PRPC version 5.4
2.Advanced: - a) When an advanced wakes up at schedule time it will directly executes agent activity without bothering about Agent
Queue Items. B) Usually, we will create advanced without applying AQM (Auto Queue Management) and these agents will be
configured to run on Single Node. C)In an advanced Agent Work Object locking and Transactional Commit must be taken care by our
self.
3.Standard agent: - Standard agent will be applied with AQM
AQM (Auto Queue Management): - This programmed is responsible for instructing the agent weather r to executed associated agent activity
or not. When the Queue Items are there, standard agent will execute agent activity else it will not execute activity thus go to sleep.

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.

A queue is associated with the below status values.

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.

19. What is Rule Resolution?


Rule Resolution: It is an internal algorithm which runs every time when a rule is been requested by a requestor. It decides whether to
process the rule or prevent the rule.

The criteria for processing or preventing the rule are below

1.Cache 2. Rule set Versions 3. Circumstance 4. Inheritance 5. Rule Authorization 6. Rule availability

Rule Availability are 5 types

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

Blocked: Rule will not be processed at all.


Rule Authorization: When a requestor requests for a rule, process commander runs rule authorization as part of rule resolution.

PRPC tried to identify


i) the rule set of the rule
ii) from ruleset, it identifies which application this rule set belongs to.
iii) Next, it looks to, the access group of application.
iv) Then finally it checks the current requestors access group is matching with above access group or not. If so, then operator
authorized to access the rule, else not.
Pega - Agents Interview Questions and Answers
1. What is the purpose of mentioning the access Group for Advanced Agent?
A. Agent when it wakes up, the activity which we call in the agent rule form will be picked from the rule sets which are
associated with the mentioned access group-related application.

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.

3. What is the access group pega used before we log in to PRPC?


A. Before an operator Login to PRPC, the process commander u access to run the required rules, which is Guest role access
group “PRPC: Unauthenticated”.

4. How to stop an agent?


Using Admin Studio, We can open the agent schedule rule, and uncheck the “Enable” check box.

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.

We want an agent to run at 7 AM, based on the server Time Zone.

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.

9. How to re-queue items? What happens when we re-queue?


a. Using Admin studio Broken Items Wizard. Item status gets updated to scheduled. It will be picked during the next run
time.

10. How to Auto re-queue broken Items?


A. We can create an advanced agent which will run at the scheduled time and update the broken items of the “System-
Queue-DefaultEntry” class.

Pega - Application and Rule sets


1). Explain Skimming

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

Minor: Skimming rules in 06-05-01 through 06-09-25 into 06-10-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.

Table of rules carried forward

The following table displays which rules are carried forward, based on availability.

Available Not Available Final Wit


Major Yes No Yes No
Minor Yes No Yes Yes

2. Why Blocked rules always get carry forwarded, after skimming?

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.

3. After skimming is done, what are the follow up tasks?

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:

PRPC searches for Activity2

 In the current application rule sets, if rule is not there


 Then go to parent application (FW), if not there
 PRPC application

Rule Set Validation:

This check for the rules at prerequisite rule sets.

Pre-requisite rule set means , that’s a parent rule set


Here BAJAJALLInt, UIKIT are parent rule set of BAJAJALL.

Let’s say Activiy1(BAJAJALL) and Activity2(BAJAJALLInt)


Activity1
Call Activity2
PC, looks up for activity in the pre-requisite rule sets that is

 BAJAJALLInt, UI-Kit… if not there


 BAJAJALLInt Pre-requisite rule sets, UI-Kit pre-requisite ruleset… so on…

5. What is Your application class structure

1. Org, IMPL Work and FW Work (Derives from Work-Cover-)

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)

Optimally we have service Int (Work Int class)

6. What is the difference between a class Group and Work pool

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

1.What is the OOTB activity that run when we route?


When we route to WorkList-->toWorkList (Type = Route)
When we route to WorkQueue or WorkBasket-->toWorkBasket (Type = Route)

2.Can we call an activity using assignment shape?


Yes, we can call activities of type “Route”. For example toWorkLsit or toWorkbasket.

3.Where does assignments gets Stored?


Assignments gets stored into either of below tables.
PC_ASSINGN_WORKLIST (When assignment routed to single operator)
PC_ASSINGN_WORBASKSET (When assignment routed to Work Queue or Work Bakset)

4.How to Route conditionally either to the Work list or Work Basket?


Using the business logic option we can do it.
Now, the return valuesthe of Decision tree should be OperatorID’s or WorkBasket names.
According to, to only It, gets routed.
Done.

Suppose the same you have to implement by own activity.


Create an activity of type, Route.
In this activity add two steps,
Precondition (A=B) Call toWorkList
Precondtion (C=D) Call toWorkBakset

5. What is the relation between wand worklists/workbasket tables

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

6 .I want to cr a te o fetch open assignments of the Current Operator.


Create a report in the casing-worklist class.
Where Condition pxAssingedOperatorID = OperatorID.pyUserIdentifier.

7. What is get next work?


When an operator login and click on get next work.
1. P, Open the Top Assignment from the Work List
2. If ttherenotenot Work list items, then PCpicksk from Work Basket
8 . How to override to pick the assignment from the work basket first instead of the Worklist?
Go to the operator profile and choose the below option
Suppose an operator has access to more than one wworkbasketvia different work groups, then we can mention the order
of workbasket llookedup in the operator rule form
9). W hilerouting the assignment to the operator, we would like ato route the assignment to another work list or work
baske, if the operator is on Leave. How to achieve this?

We can specify a substitute operator for the operator who is on leave.


At run time PC, auto re-routes the assignment to substitute operator or Work queue when in case of the operator is on
leave.
To get this done while routing we need one option “Check availability”
10. How to an operator with access to a Workbasket without being part of the respective work group?
A. We can achieve this by specifying the Operator Id in Work Basket rule.

This referred as Additional Contacts.


11.Push Routing Vs Pull Routing?
A.Routing we have done to Work list or Workbasket --> Push Routing
When an assignment is Routed to work basket --> any operator of that basket picks the assignments, then assignment
will come to Operators work list to be performed.
Generally this is by GetNextWork.

12.What is Get Next Work?


A.This is an OOTB feature provided by Pega, when click on , the highest urgency task will get opened to the current
operator from Work list.
If two tasks have same urgency then the task which is created in PAST will get opened.

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.

8.How do you know the number of Child cases of a parent case?


We can look up the value of OOTB properties
pxCoveredCount 2

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.

For this PRPC has OOTB when rule


“AllCoveredResolved”
11.We want to stop the parent case to wait till all children gets resolved. On click of submit button in an assignment, PC
has to check all children resolved or not? If resolved, should move forward else display a message on the screen.

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.

Pega - Case Type Questions and Answers


1.What is the name of Case Type rule get’s created when we create a case type?
A.pyDefault

2.What is the Flow That gets executed when we run case type , which creates WO?
A.pyStartCase

3.A Case Type class is ?


A.Belongs to a Class Group.

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

7.We have a flow with two assignments (Optimistic locking)


First assignment – Customer details
Second assignment – Vehicle details.
Two operator opened Customer details assignment, Filling form
I.Operator 1 has filled the Form at 7:30 AM and click on submit
II.Operator 2 has filled the form at 7:31 and click on submit
The submit action of operator 1 to get completed, will take 5 minutes.

Now what happens to operator 2, submit action?


A.Displays 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)

10.What is the flow creates WO, when we run case type?


A.pyStartCase
Calls Activity pzInitializeStage
Call pzGetFirstStage

11.How a case moves from One to Another Stage?


A.PC, internally calls an Activity “pxChangeStage”.

Pega - Circumstance Interview Questions and Answers


1.We have a rule “CustomerDetailsForm” in version 01-01-01. It has been circumstanced and date qualified with data
range Dec 01 TO Dec 30. Use is access CustomerDetailsForm on Jan 01. Where user meets circumstance condition. Now
which instance will be picked by process commander?
A.Base instance, as date is not qualified though circumstance condition is met.

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?

A.Circumstance instance will be picked as it was there in higher version.

Pega-Class Group Interview Questions and Answers


1.What is Object?
A.It is an instance of Class Group.

2.What is Class Group?


A.It is an instance class of Work Object(s) which must be derived from OOTB class “Work-“ or it’s sub class.

3.What is Draft Flow?


A.This is a Dummy flow just for Demo Purpose. Draft flows will not be executable in LIVE or PRODUCTION Servers.

4.Which table, WOs gets stored?


A.Work Table or PC_Work

5.Which columns holds WO ID value and Data.


A.pyID, pzPVStream (Blob Format)

6.Can create A flow in Org class and execute it?


A.No, we get an error message.

Pega - Clip Board Interview Questions and Answers


1. What are different Types of pages on Clipboard?
A. User Pages, Linked Pages, Data Pages, System Pages.

2. How to execute activity from Clipboard?


A. Right click on any page name, Choose Execute Activity.

3. How to know the size of clipboard of a specific requestor?


A. We can get this by admin studio, requestors. Choose a requestor and get clipboard size.
Pega - Data Transform Interview Questions and Answers
1.How to call an activity from Data Transform?
A.We can use Below functions
1.CallActivity(Pagename,ActivityName)
2.pxExecuteAnActivity(Pagename,ActivityName)

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)

4.How to call report definition from DTF?


A.CallActivity, in the activity call report definition.
In the activity we can call report definition rule as shown below
Call Rule-Obj-Report-Definition.pxRetreiveReportData
ReportDef Class, ReportDef name, Page.

5.What is “Call Super class data transform” option available in DTF.

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.

6.What is the difference between DTF and Activity?


A.DTF is an alternate of Property set method of activity.
DTF can not do Open, Browse, Calling services etc… Itcan not do like acquiring lock etc…But activity can do all this.
DTF is a subset of Activity.

Pega - Data Types Interview Questions and Answers

1.What is the Difference between PR and PC Tables?


A.
Any Business will have two types of Table
1.Transaction Tables (OR) Business Table
2.Master Table (OR) Reference Table (OR) Static Tables

For example table a bank transaction of money deposit

While we perform deposited transaction


There are THREE tables that gets utilized during the processing

1.Customer – ID, FN, LN, PH_Numb


2.Account Table – ACCT_ID, TYPE, etc
3.Account_Transactions table - TRANS_ID, CREDIT, DEBIT, BALALNCE

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.

In PRPC we have PC and PR tables.


PC tables are – Transaction Tables
PR Tables are - Reference Tables.
---
PC Table Example – PC_WORK – Which is transaction table
PR Table example – PR_Operator – Which is Reference table.

Pega - Data Pages Interview Questions and Answers


1.What is Aggregate Data Source in Data page?
A.We can get the data from, multiple sources like RPTD, Connector, DTF etc… This possible with Aggregate Sources
option.

2.Why We don’t have editable Data Pages at Node Level?


A.To avoid Data Inconsistency among requestors. This options is not made available for Node Level.

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.

5.How to delete a read only data page using activity?


A.Call this activity “Call FlushDeclarativePage (Name of DPage)”.

6.What were Data pages called before Pega 7?


A.Declare Pages.

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.

8.What is Pool ID in Load-Data PageMethod?


When we define Pool ID @Load-Data Page Method, we can use A Connect-Wait method Followed by Load-DataPage.
Generally we use Pool ID when we have more than one Load-DataPage methods are being used as shown below
At the connect-wait, PC collects pool ID ‘P1’ and when all Load-Datapage methods of P1 pool Id, gets completed,
Connect-Wait gets released.

9.How to pass Parameters to a Data page While referring through an Activity


A.We can pass as show below D_getCitiesD_GetCities[stcode:"AP"]
Pega - Decision Rules Interview Questions and Answers
1.Differences between Decision table and Tree?
Decision Table Decision Tree
.Logic used is If, else if, else if… Otherwise .Logic used is If, if, if , nested if… Otherwise
. Here the number of Properties for every logic is Fixed. .Each logic can have different properties being used.
. We can use expression builder for properties, values and return results. . We cannot use expression builder for return results.
.We can all other decision rules using only functions pxEvaluateDecsionTable, . We can call other decision rule by selecting the under configu
pxEvaluateDecsionTree, ObtainValue(). Selection of Call decision option”.
We have Evaluate all rows option available We don’t have evaluate all rows available.

2.How to return multiple results using Decision Table?


A.We can choose the options evaluate all rows under results tab of decision table.
3.How you decide whether to created decision table or Decision tree?
A.For all the condition if we have fixed properties then Decision table.
For each condition if we have different set of properties to be used, then decision tree.

4.How to call an activity for decision table?


A.Using below functions CallActivity(pagename, activity name, parampagename), pxExecuteActivity(pagename,
activity name)
5.How to call decision table or tree from a DTF?
A.Using Fucntions pxEvaluateDecsionTable, pxEvaluateDecsionTree, ObtainValue().

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

Go to my you tube channel to watch backward chaining.

*Declare expression is an alternate rule to activities property-set


Activity or DTf we need to call, where as Declare expression no need to call.

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.

For Your Inofrmation-->


We used to have change tracking tab in declare expression before Pega 8.2 version. From 8.2 onwards it has been
removed for below reason. Still we can access it.
Change tracking tab removed from declare expressions
To simplify declare expression configuration, the Change tracking tab has been removed from the declare expression
rule form. To use the Change tracking tab, on the declare expression rule form, click Actions > Use legacy expression.
To access older version rule form of declare expression.
Now, we got change tracking tab.
Done.

Question : Is declare expression forward or backward chaining?


Answer : It has both behaviours.

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.

3.How to Ignore top record of CSV file, for it’s processing?


A.At the Parse Segment we need to choose the Option “Only Once”.

4.How to retry multiple times, when file processing is failed?


Use below option
5.How to parse an Excel File?
A.Use OOTb activity MSOParseExcelFile or pxParseExcelFile.
Pega - Flow Actions Interview Questions and Answers

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

2.How to change the labels of Submit, save , cancel to something else?


3.How to Hide a flow action from Specific Operator like manager or user?
A. In the security tab of flow action use when rule or privilege.
4.What is the OOTB activity that runs, on click of submit, which completes the assignment?
A.FinishAssignment.

5.Difference between flow action and local action?


A.Flow action performs an action and completes the current assignment and advances the case from current
assignment to next level in the flow.
Where as Local action allows is the perform an action but it will not complete the assignment means case will be there
on same assignment without advancing forward.

6.What is the advantage of local action?


A.Using local action we can edit the completed assignment related WO data without the need of going back to
assignment.

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.

Pega - Flows Interview Questions and Answers


Differences between Process flow and screen flow

Process Flow Screen Flow


 It creates a work object  It cannot create work object (By Default)

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

 By default, PRPC performs a save and commit for each flow


shape.
 By default, PRPC performs a save and commit for each flow  Here, on start shape screen flow “Sava on Last step” option is
shape. available.
 If we select this option, the save and commit happens only at the
end of screen flow.

2. Can we use Integrator shape of Split join shapes in screen flow?


A. Screen flow we cannot use any advanced shapes except split for each.

3. We have a process flow and sub flow as described below.


Process Flow
A1 -> SubProcess ->A2(Routedto – User1)
Subflow
A2(Routed to – Manager1)
On sub process we have selected SPIN OFF OPTION.
After we executed process flow, submit assignment ONE, Sub flow assignment and A2 of process flow bother have been created
and routed to Above Operators.
Both have logged in , trying to open the assignment, will they be able to parallel work on it? Or not? What is the reason?
A.Not able to work on parallel, because of default locking.

4. How to call a flow from activity?


Call NewFromFlow
FlowName
Class Group Name
5. How many different ways we can create WO?
A.1. From activity : Call New, Call NewFromFlow, Call Add or AddWork, Call svcAddWorkObject
2. Flow from portal
3.Case Type form portal.
4. From Services Call svcAddWorkObject (We use this activity when we create cases during a service reuest).

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.

2.What is the different between harness and flow action.


A.Harness is container of Section, which defines the appears of UI, and processing. We need to create harness to
include section when the section is no for Assignment screen
B.Flow action is container of section, which has to be create when we want section to be displayed at assignment.

3.What are different OOTB harness rules provided by pega?


A. New, Perform, confirm , Review

4.What are the activity that creates WO?


A. Add --> AddWork --> GenerateID -->Workcommit

5.How to create work object by using activity?


We can call OOTB activities Add-->AddWork

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

2.Which Inheritance takes First priority


A.Pattern Inheritance

3.Why Pega gives, first Priority to Pattern Inheritance by Default?


A.Because PC, want’s to check for the rules in User Defined classes first (Application, Div., Org) and then OOTB classes
in direct inheritance.

4.What is the purpose of Direct Inheritance in Pega?


A.To Utilize OOTB rules of OOTB classes, we need Direct Inheritance.

5.Can we have more than one direct parent chosen for a class?
A.NO. ONLY One.

6.How to change the priority of Pattern inheritance?


A.In the class rule form, Un-Check the option “Find by Name First (Pattern)”.
Then Direct Inheritance takes First Priority.

7.What is the Inheritance between Implementation Work and FW work classes?


A.Direct Inheritance.
8.Can we create “class Group” Under Data or Int Classes?
A.No, Because a class group must be inherited from “Work-“ or it’s sub classes.
But, Data and Int classes derives from Data- or Int- , so we can not create class group under data and Int.
If we try to create we get Compilation Error.

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.

2.What are the performance tools?


PAL,DB TRACE, PLA

3.Application performance reasons


application is running slow - 1 particular screen
1. Middleware response might be slow.
2. might be the screen is loading huge data into table layout which we have to have pagination
3. Issue can be from DB end or Service provider taking time, slow response.
4. Report has complex joins, means to many joins defined or connect SQL has to many joins with multiple table.
5. Many be too many properties are there which are un-optimized.
6. Load on the server is high.
7. Log files occupying space on server.
8. Infinite Loops.
9. Clipboard size is huge.

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.

2.When do we go for the option “Allow unlocked ruleset versions”?


When we have delegated rule in Production rule sets, we need to choose this option because, production rule sets are
unlocked even in production environment , allowing the business to modify the rules.

Watch below videos in Harsha Training YT Channel


1. Types of Rule sets like Production, Branch rulests etc…
2. Rule Delegation

3.What is Rule Delegation?


It is the process of allowing business to access the business rule and modify from their portals.
Business can update directly.
Delegated rule , we create in Production rule set --> Product rule sets are left unlocked.
•The class for delegated rule is “System-User-MyRules”
Done.

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.

Pega - Report Definition Interview Questions


1. How to call a Report Definition from an activity?
A. Activity1(WorkClass)
Call Rule-Obj-Report-Definiton.pxRetrieveReportData
Params : Class of RPT, Name of RPTD, BrowsePage to fetch results.

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”

Difference between Report Definition and Activity


Report Definition Activity
It fetches the data + Display like table, chart Fetches data and keeps on clipboard. No Display.
There is not feature like this, we have to use different methods for this
Export to Excel, PDF is default available
to achieve
Scheduling of report to send daily, weekly data is OOTB possible when we
No such feature available here.
use scheduler.
Joins among tables is possible. Joins is not possible.

Q.Activity Vs Report definition, which one is best practice.


A.Always Report Definition.

Q.How does RPTD rule, fetches data from table?


A.PRPC Runs an OOTB activity in the back ground to fetch data by report, “pxRetrieveReportData”.
This is the OOTB activity that gets executed in the back ground, to fetch data.
Q.I have a requirement to fetch table data, export to PDF and send email notification? This should be automatically
done on schedule basis?
A.Create a report definition rule, use Scheduler from the report browse.
Pega - Requestors Interview Questions and Answers
Requestors
We can access any login requestor using admin studio

We have 4 types of requestors.

When a login request comes to PC, PRPC creates a a requestor ID.


Requestors ID, starts with either ‘H’, ‘B’, ‘A’, ‘P’.

H --> This request is from Web Browser (Human)


B --> This request is by Batch Processing (Agents)
A --> This request is from another application or listener (Web services , listeners)
P --> Portal request.
Pega - REST Integration Interview Questions and Answers
1.In case of REST, We do not create Data conversion rules like, Converting from clipboard to JSON or JSON to
Clipboard. Then, How Pega internally performs this?
A.While consuming rest service, we are not required to create Steaming and Parse rules for JSON. These techniques
are OOTB implemented and available.
This will be done by calling internal Java APIs
AdoptJSONObject() and getJSON() API calls.
Pega - Rest Vs SOAP Interview Questions and Answers
Q. What are the difference between SOAP and REST

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

Pega - Rule Resolution Interview Questions and Answers


1.What is the Difference between Available and Final?
In both cases PRPC picks the same rule and processes it.
If the availability is available , rule will be processed, also it can be copied from one rule set to another rules.
If the availability is Final, rule will be processed, But it CANNOT be copied from one rule set to another rules.

2.What is Difference between Availability ‘Not Available’ and ‘Withdrawn’?


If Highest version is not available, process commander pick the previous version from SAME class.
If highest version is withdrawn, process commander ignores all version of current class and proceeds to take from
Parent class.

3.What is availability blocked?


If a rule is blocked, Process commander stops processing it permanently.

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.

2.How to include a flow action into section?


This is by default not possible. But we can achieve this by using an OOTB section "pxLocalAction"
Save.
Run the flow
Pega - Send Email Interview Questions and Answers
1.I want to define 10 different emails of Sender, Which I want to retrieve conditionally. How to achieve this?
A.Define in Decision table and retrieve by using Property-Map-Decision Table Method.
2.What are the different rules to create for out bound email integration?
A.Email Account, Send Email automation shape used, Correspondence, etc.
3.I want to send email to all the active customer of my Bank. Let’s say we have 1 LAKH customers. Give customers
email IDs are there in DB tables. Without Impacting the performance of application?
Pega - SLA Interview Questions and Answers
Q.How an SLA runs in Back ground?
A.SLA will be executed by an OOTB agent “ServiceLevelEvents” which is there in the rule set “Pega-ProCom”.
Pega - SOAP Integration Interview Questions and Answers
Working with Connect-SOAP

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.

3.What are XML steam and Parse XML rules?


A.XML stream rule convers Clipboard Data to XML
Parse XML converts XML to Clipboard.

4.What are Run in parallel, Queue, run options in Connect-SOAP method?


Select to indicate the timing of execution
•Run — Execute the connector synchronously; the next step of the activity containing the Connect-SOAP method
does not execute until the connector response is received.
•Run in Parallel — This connector is to run in parallel as a child requestor of the current requestor. If selected, use
the Connect-Wait method later in the current or a follow-on activity to access results from the connector. Do not
select this value if the Connect SOAP rule supports compensating actions.
•Queue — Add this connector request to a queue, defined by a Connect Request Processor data instance, for
background processing by the Pega-IntSvcsProcessConnectQueue agent. This mode works only if the Request
Processor field on the Service tab of the SOAP Service rule identifies a Data-Admin-RequestProcessor-Connect data
instance. When the agent executes a queued connector request, the execution is performed with the authorization
profile of the original requestor.

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)

Pega - Validations Interview Questions and Answers


1.Is validate rule server side or Client Side validation ?
A.Server Side

2.What is Continue validation check box in “Validate” Rule?


A.It’s like a break point in the validation logic.
Validation stops at Break point, and proceeds to next condition only when break point validation is success.
3.Difference Between Rule Obj Validate and Rule Edit Validate?

Validate Edit Validate


We can write validation logic for multiple properties. We can write validation logic only for one property
This is Server Side Validation This is client side validation which executes java code using Ajax Calling.
This validation is specific to one flow action on which we call Validation happens at all different places wherever we use property because validation i
it. property.
We implement using OOTB functions We have to write Java Code

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.

5.Difference Between Rule Edit Validate and Constraint?


Constraint Edit Validate
Here, it’s a dependency validation, multiple properties gets involved. We can write validation logic only for one property
This is Client Side Validation This is client side validation which executes java code using Ajax Ca
Validation happens at all different places wherever we use property
Validation happens at all different places wherever we use property.
is applied on property.
We implement using OOTB functions We have to write Java Code
There in no need to call declare constraint, it gets automatically executed
This edit validate rule have to explicitly called on property.
wherever we use properties.
6.Which JS file is, gets executed when we use Edit Validate?
pega-validators.js

Pega - Web Services (SOAP) Interview Questions and Answers

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.

2.What is service package?


It’s is collection services which runs on same access group. Service package is responsible for generating WSDL, End
point URLS etc.
3.What is Stateless and State full in Service Packages?
A.State full : Means the session ID gets created by service. It can recognize the follow up requests. EG : Gmail
Stateless : Means NO session ID gets created. Every request will be treated as a new request. EG : Google

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.

5.How to test a soap service without using PRPC?


A.We can use SOAP UI. Go to any you tube channel learn about it.
Activity Interview Questions and Answers

1. Creating User Defined, activities a best practice of development?


A. No, We need to avoid creating our own activity, whenever it is possible.

2. What are the max records that an Obj-Browse can fetch?


A. 10000 records.

3. What is the difference between Primary page and Step Page


A. Primary page is the Page on which a rule runs.
B. Step page is the one which we mention at a step. If we don’t mention any page at step, that will be
occupied by Primary page.

4. Difference Between Call, Branch and Queue

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

5. How to pass parameter page from one rule to another?


A. By selecting the Option “Pass Current Parameter Page”.

6. How to see param values?


A. Parameters we can not see on clipboard. We only see on tracer. Paramter page name “Unnammed”.

7. What is the difference between Write Now and Commit methods?


A.
Write Now
It performs Immediate Commit on Specific Obj-Save , on which it is selected. It will not be able to release
LOCK
Commit
It performs commit of Entire Differ Queue , More than one Obj-save, those are executed so far, gets
committed.
This will release the lock

8. What is the difference between Roll back and Obj-Save Cancel?


A.
Obj-Save-Cancel
This is going to rollback(ERASE) the latest uncommitted obj-Save.

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

13. What is the option “Requires Authentication”? When we use it?

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.

16. What is the property for Step Status in activity?


pxMethodStatus.

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.

19. What is the difference between class key and pzInsKey?

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.

20. What is difference between obj-open, obj-Open-By-Handle?

Both will be fetching one record , page format.


Open will fetch based on class key(s).
Open-By-Handle fetches based on pzInsKey.

21. Different between Write-Now and Commit w.r.to locking?

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.

23. Where can see local variable defined on the rules?


A. We can see local variable on tracer, on a page LocalVariables.
To see this, we need to choose an option on tracer settings, Local Variables.

Done.

24. What is Obj-Refresh-And-Lock Or how to do exception handling to ignore locked cases while
obj-Open?

A. We can use Obj-Refresh-And-Lock


This method fetches one record onto step page like obj-open.
If the instance is already being acquired with lock, this method will not have any impact.
Else, this method opens the record on to step page and acquire lock on it.
This method is introduced as exception handling of Obj-Open, in case of clocking.

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?

We can do this is by calling OOTB activities

Call NewFromFlow(WorkClasSName, FlowName)


Call New
Call Add
Call AddWork

Pega Basic Interview Questions and Answers Part 1


What is Pega PRPC?

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

Everything in PEGA is governed by PRPC

PRPC is the core element of Pegasystems's

Why do we use PEGA?


Pega's BPM technology helps you quickly build business applications that deliver the outcomes and end-to-end customer experiences
your customers demand

Additionally, Pega is 40% faster in mobile development, eight times faster in analysis and design, and eight times faster introducing
change

1.What are the Studios available in Pega?

1. App Studio
2. Dev Studio
3. Admin Studio
4. Prediction Studio

2. What are the End User Portals available in Pega?

1. Case Manager Portal


2. Case Worker Portal

3.What are the types of service level agreement?


1. Case-level service-level agreement
2. Stage-level service-level agreement
3. Process-level service-level agreement
4. Assignment-level service-level agreement
5. Approval-level service-level agreement

4.What is OOTB rules?

Rules which can be provided by Pega is called OOTB (Out-of-the-box) rules

Examples: Properties - pyIntegerValue, pzInsKey

DataTransform - pyDefault

5.What is Custom rules?

Rules which can be Created by manually is called Custom rules

Examples: Properties – Name, Age, DOB

DataTransform – SetPermanentAddress

6. What are the type of classes available in Pega?


1. Work class (Work-)
2. Integration class (Int-)
3. Data class (Data-)

7.What are the two type of rule inheritance?

1. Pattern inheritance
2. Directed inheritance

8.What are the parts available in ruleset version?

1. Major Version
2. Minor Version
3. Patch version

9.Explain about WorkParty?


Workparty describes a role in pega

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

10.Explain about SLA?

To represent the performance expectations for an assignments, process or entire case

It has Goal, Deadline, Passed deadline

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)

11.What is Decision Table?

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

12.What is Decision tree?

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

It returns a result using a series of if-then conditions, organized as a tree-like structure

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

13.What are the types of pages in Clipboard?


User Pages: contains pages created due to user action, either directly or indirectly; contain data related to work being
performed in the selected thread
Data Pages: contains read-only data pages defined by data page rules; persistent pages in memory, used to cache data;
this data is often sourced from outside

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

14.What are the different types of layout?

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

Column Layout: Arranges items in a set number of columns

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

16.Explain about Reports?

Provide real-time information and analysis

Used by Business analysts and work managers to assess performance of the application

Built using report definition

Example: Number of Customers order a cake per week


17.What is datatransform?

It is used to coping a data from one place to another place in the application (Copying and manipulating data)

It can be referred in flow rule, connector

Example: To copy shipping address to billing address in purchasing application; To get FullName from FirstName and
LastName

18.What is Data Propagation?

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)

19.Explain about Live UI?

Live UI used to examine and edit the rule structure of UI designs


Allows us to locate properties that use declarative values

Used to view the form as users see the form

Used to review how all the rules and elements fit together

20.What are the types of Properties in Pega?

Two Types of Properties: Value mode & Page mode

Value mode:

It describes a single piece of information

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

It describes more than one related property element

Example: Customer info (Name, Age, Address)


It has three page mode such as page, page list, page group
21.What are the Standard Properties in Pega? (or)
What are the System Properties in Pega?

Standard Properties are the Pega default rules such as px, py, pz

22.What is Datapage?

Datapages retrieves data from datasource for use in an application

It caches data in memory

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

Example: Checking bank account balance of a customer

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

It can only be used as datasoucre for list-structure datapage

Example: Amazon Product data’s usually Stored in Database; with help of Report Definition we can retrieve from it

25.Explain about Look up?

Look up is used to return a specific data object mapped in the application

It can only be used as datasoucre for page-structure datapage

Example: Obtaining information on a education course such as time management

26.Explain about Activity?

Activity used to describe the logic for an automated procedure

It Structured as a series of steps that execute in sequence

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

27.Explain about pyWorkPage?

pyWorkPage is the Specific page on clipboard

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

28.Explain about Action set?

To configure dynamic UI changes such as displaying menu when a user click a button

An action set consists of an Event and a Action

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)

Pega Basic Interview Questions and Answers Part 2


2.What is DevOps?

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

Pega Platform offers tools to support DevOps

3.Give a one example of DevOps?

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?

Business Process Management is a methodology to manage processes and workflows in an organization


The goal of BPM is to increase efficiency, Performance, & agility in the day-to-day operations of a business
Example: world’s leading airlines utilize BPM to manage flight schedules and terminal operations
10.Explain about Enterprise Class Structure?
The Enterprise Class Structure is an out-of-the-box class structure that provides a foundation for reuse

11.What are the Layers in Enterprise Class Structure?

Organisation Layer

Division Layer
Unit Layer

Framework Layer

Implementation Layer

12.Explain any example of Organisation, Division, Unit layers?

13.Explain about Framework and Implementation layer?

Framework layer contains assets that can be extended in specific implementations

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

14.What are the types of Inheritance?

1. Pattern Inheritance
2. Directed Inheritance

15.What is Pattern Inheritance?

Pattern Inheritance describes the business relationship between classes

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 describes the functional relationship between classes

Directed inheritance is the method by which a class inherits characteristics directly from a specified parent class, regardless of any defined
pattern inheritance

17.What is Case type?

A case type is a visual representation of your business process

It is a template for work that you can reuse for multiple instances of your business process

18.What is Case?

A case essentially represents work that an organization performs to achieve an outcome

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

19.What are the other names of Case?


Work object

Case type instance

Work type instance

20.What is Debugging tool?

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

21.What are the debugging tools available in Pega?

Clipboard

Tracer

TracerViewer

PAL (Performance Analyzer)

PLA (PegaRULESLogAnalyzer)

SMA (System Management Application)


Remote Tracing

Logs, Alert log files

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

This can help to identify the root cause of errors

23.Which tool is used to track the errors?

Tracer tool

24.What is Blob?

Blob (binary large object) is used for data storage in Pega application

Pega Applications store each case as a unique record in a Blob database


25.What are the advantages of using Blob?

Unlimited storage size

Flexibility

High performance

26.Why do we need to optimize property before we can use it in report definition column?

Extracting data directly from a BLOB reduce the performance

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

27.What are the Advantages of Property Optimization?

Reduce the Time to run the application

Save the Application Memory


Increase the Application Performance

Decompressing does not occur

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

29.What is escalation action?

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?

Declarative Network Analysis tool


Pega Basic Interview Questions and Answers Part 3

1.Explain about Routing?

Routing Identifies who will work on assignment while the case moves through life cycle

Two types of Routing: Worklist & WorkQueue

2.What is Worklist?

A Worklist is a list of all open assignments, in order of importance, for a specific user

Example: Initiation of Leave request need Approval from particular Manager

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?

Pega Platform provides an extensive list of routing options:

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

6.What is circumstance template?

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

7.What is Datapage in Pega?


Data page retrieves data from a specified data source and caches that data in memory
8.What are the sources of Datapages?

1.Connector
2.Data Transform
3.Report definition
4.Lookup
5.Activity
6.Robotic automation
7.Robotic desktop automation
8.Aggregate sources

9.What are the scope of Datapage?

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

10.What is refresh strategy in Datapages?

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?

Do not reload when – thread, requestor

Reload if older than - thread, requestor

Reload once per interaction - thread, requestor, node

(refresh strategy options depend on the scope of the page)

12.How will you source the dropdown from Datapage?

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

Select D_page.pagelistname as the data page

13.What is Forward chaining?


Updates the target property value Whenever a source property value changes

It will reduce system performance if an expression uses many source properties that change frequently

14.What is Backward chaining?

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

15.What is the purpose of Methods in Activity?

Method is a operation that can be performed by one step of an activity

contains a predefined set of basic operations that perform computations, update properties and other aspects of the clipboard, or move
data between memory & database

Example: Apply DataTransform, Call, Property Set


16.Can an activity be called from another activity ?

Yes, Use the Call Method to cause the current activity to find another specified activity and execute it

When that activity completes, control returns to the calling activity

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

18.What are the categories of Mixin?

Typography - Allows you to configure anything related to text, like font size & color

Background - Allows you to configure background colors of elements

Border - Allows you to configure borders and gradient effects

Combination - Allows users to create complex mixins that incorporate


19.What is Procedural Processing?

Procedural Processing requires that the rule is invoked explicitly when it needs to be executed

Examples include Data Transforms, Activities, Flow Actions

20.What is Declarative Processing?

Declarative Processing involves monitoring the application and when an event occurs execution of the rule is triggered

Examples include the Declare expression, Declare Constraint, Datapage

21.What is Guardrails in Pega

Guardrails are best practices which will guide us to design applications that avoid potential maintenance and performance issues

22.What are the types of warnings in Pega?


Severe

Moderate

Caution

23.What is declarative rules?

Declarative rules provide the necessary capabilities required for declarative processing

Reduce the need for complex procedural logic and manual exceptional handling

Makes complex processes significantly easier to automate

Example: Declare Expression, Declare Index, Declare On Change, Declare Trigger

24.Where we can see delegated rules in Pega?

We can see our delegated rules by selecting My Favorites from the Operator menu

25.What is a production ruleset?


Production rulesets include rules that are updated in the production environment
To allow users to modify a rule in production, define the rule in a production ruleset

26.What is the difference between Radio button and Dropdown?


27.What is difference between Operator ID and Access Group?

28.Difference between decision table and map value?


Use a map value to record decisions based on one or two ranges of an input value
A map value uses a one-or two-dimensional table to derive a result
where one map value calls another, map values can provide an output value based on three, four, or more inputs
Example: when customer purchasing shirt, the customer need to select the shirt size and color; based on those data system must display
the price
29.What is the use of Database save option?
Use this option to save data to the system of record
Example: To save Registration info for future login

30. What is a Ruleset ?


Rulesets contain rules from different types and different classes and its used to package, deploy and versioning
You can gather many rules from different classes into one ruleset that represent a feature or a component of your application

Pega Basic Interview Questions and Answers Part 4


1.How to work with external database?

Designer studio --> Data Model --> Classes & Properties --> Database class mappings

Click on the ‘New External Database class mapping’

Fill in Database table details and Ruleset class details:

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

Step 3: Map database table columns to properties in the ruleset class

2.What is server side & client side validation?


When you enter data, the browser and/or the web server will check to see that the data is in the correct format and within the constraints
set by the application

Validation done in the browser is called client-side validation, while validation done on the server is called server-side validation

3.What are the uses of Clipboard?

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

4.Explain about Agent?

An Agent is an internal background process operating on the server on a periodic basis

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?

Provide users with information when they need it

Align the user view with the case life cycle to ensure the user interface is model-driven

A model-driven approach results in faster application development, and a contextually sensitive

Understand the user’s role and what the user needs to accomplish

Use common UI labels and elements

6.What is dynamic layout?

A dynamic layout is a DIV-based layout that allows for highly flexible display of content

Dynamic layouts separate content and presentation

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

8.What is a declare index?

Declare index is a rule type in Pega which is used to expose aggregate properties like a Page/List/Group for reporting purpose

Declare indexes are rule instances of the class Rule-Declare-Index

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

10.Explain about Sub process?

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

Sub processes modularize the events in the life cycle of a case

11.What is difference between happy path and alternate path?

An alternate path in a process consists of alternative steps that a case might take from the process's primary path

The sequence of primary stages is often referred to as the happy path

12.Difference between workgroup and work basket?

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

13.Explain about Auto complete control?

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

14.Explain about Append and map to?

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 target and source can be of different Applies To classes

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 groups make a set of RuleSet versions available to requestors


Use an access role name to convey permissions (capabilities) to a user or a group of users

Access roles can be referenced in requestor instances, Operator ID instances, in access group instances, in activities, and in queries

16.Name different types of requestors?

Browser requestor – Starts with letter ‘H’

Application requestor – Starts with the letter ‘A’

Batch requestor – Starts with letter ‘B’

Portal requestor – Starts with the letter ‘P’

17.What are the advantages of case management in Pega?

Improve the processes of case management with holistic support

Increase the efficacy of case-flow for automatic and dynamic response

Ensures consistency and removes errors with context-based and real-time management

Lessen time, costs and effort needed to implement case management


18.What is Portal and where it will be configured?

It is an Interface that shows up for the client either developer or an end User and entry can be arranged in Access Group

Example: Developer entry, chief gateway, client entryway, administrator entrance

19.Explain the operation of Activity-End method?

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

20.Explain about the Exit-Activity method?

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

21.Explain about the Page-Copy method?


The page-copy method is used to copy the contents of a source clipboard page to a new or previously created destination clipboard
page

The source page is not altered. After this method completes, the destination page contains properties copied from the source page and
can contain additional properties from a model

22.Explain about the Page-New method?

The Page-New method is used to create a page on the clipboard. The new page may be a top-level page or an embedded page

We can identify a model to initialize the newly created page. The model can set values for one or more properties

23.Explain about Property-Set-Message?

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

25.Explain about the Property-Map-DecisionTree method?

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

26.Explain about Property-Map-Value?

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

The related method Property-Map-ValuePair works similarly for two-dimensional map values

27.Explain about the Property-Remove method?

Property-Remove method is used to delete a property or properties and its associated value from the step page or another specified
page.
This does not affect the property rule, its definition

28.Explain about the Property-Set method?

Property-Set method is used to set the value of one or more specified properties

29.Explain about Show-HTML method?

The Show-HTML method is used to cause the activity to process an HTML rule and send the resulting HTML to a user for display by
Internet Explorer

This may involve the interpretation of JSP tags (or the older directives), which can access the clipboard to obtain property values, or can
insert other HTML rules, and so on

30.Explain about Show-Page method?

The Show-Page method is used to send an XML representation of the step page to a user’s Internet Explorer browser session, as an aid to
debugging

Note: Use Show-Page and Show-Property only for debugging


Pega CTS, Capgemini, HCL Technologies, Accenture Interview Questions and
Answers Part 1
1.Can an assignment be completed manually, automatically (without Human intervention) or BOTH?
FinishAssignment OOTB activity we need to call.

2.What are the OUT-OF-BOX solutions you’ve used in your project?


Mostly SendEmailNotification, Perform Harness, pyID, pyCaseAttachments, pyAttachContent.

3.Which DB you are using for your project?


DB2 ( rulebase) , Oracle (Ext DB).

4.What is an Access-group?
Access-group is an intermediate between Operator and Application, Portal, Access Roles.

5.What is the diff bet Rule and a Ruleset?


RuleSet is a container to hold rules and which allows the versioning of rules.

6.What are the Application Servers that PRPC supports?


Tomcat, Websphere, Web Logic...
Web Admim Team they will maintain these servers.
Application will be deployed on multiple servers and there will a load balancing server that manages the load on each of the
server by routing the requests to each of the independent servers.

Application URL : http://scotiabank.net/prweb/PRServelet


http://124.44.190.1/prweb/PRServelet
7.What is Assignment in PRPC?

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-)"

8.How do u create MQ in PRPC?


If we want to connect to main frames application we use MQ.

9.Difference between Obj Methods and RDB Methods?


Obj Works on pzPVStream(BLOB) column also on Exposed columns where as RDB work with only Exposed columns.
Obj methods we need to have a commit that commit can be by PRPC or by WriteNow/Commit methods.
RDB we dont need to commit it.
Obj requires lock on WO where as RDB doesn't need it.

10.Is class Group is necessary to create work object?


It's required.
Work Objects can be created only under class group or in the classes which belongs to class group.
Because The Rules required to create a work object are available only on Work- and its sub classes.

As Data Classes cannot inherit from Work- or any of its sub classes it cannot create work object.

11.How do you create the work object?


Flow (Creates a new Work Object), Calling activities Add, AddWork.

12.Is screen flow can generate work objects?


By default we cannot create a work object but we can call OOTB activity New or NewFromFlow and pass the screen flow class
and name as parameters then it creates a 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.

14.What is the list view and summary view?


List View will generate plain reports where as summary generates reports using Aggregate Functions.

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.

2.Use of release on commit in obj methods?


This will release lock on WO after the commit.

3.Use of page validate?


It validates Edit Validate of Properties on a Page in the activity. If validation fails assign a message on the page.

4. What happens when Rule Availability Blocked?


When the availability is blocked PRPC Stops Rule Resolution algorithm and throws an error message.

5.How to expose an embedded property?


We need to create Declare Index Rule.
When Page List Prop is exposed it creates.
Index Rule, Index class Mapping the Table class which inherits from Index- OOTB Class.
Also it create an Index Table which gets mapped above Index class. In this table each row corresponds to one Indexed Page in
the Page List.

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.

7.How to specify the end point URL for soap connector?


In DSS we will specify end point URLs. For each environment it application will be having a different end point URL.
The advantage of defining the End point URLs in DSS is, DSS will not be associated with Rule Set Versions and Check-in/Check-
out. If we want to change we can directly open DSS and change it.

8.Relation between AG, OPID, Organization etc.


Operator’s access group will be associated with Application, Portal, Access Roles, Work pool and Org, Division and Unit.

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.

12.Can we use Route option for an assignment in Screen flow?


In screen flow routing option is available in Start Shape. We can route entire screen flow but not each assignment.

13.Diff between connector and service?


During Connecter PRPC is a consumer whereas during service PRPC is a Provider.
For example when working with connect-soap external vendor provides WSDL URL whereas when PRPC is a service , it itself
generates WSDL URL that can shared to other requestors.

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.

16.How to move a single Access Group rule?


In the product rule we can give pzInsKey of the rule and move it.

17.How to analyze the performance of an application running?


PAL, DB Trace. The auditions team will analyze the performance of the application . They have an HP tool that they are using.

18.What kind of log files available?


Alert, PEGA, BIX, ALERTSECURITY.

19.How to show the data of a Page List property on the UI?


Repeating Grid Layout we have to use and select the PL/PG group property as a source for Repeating Layout.
20.Difference between Obj-open and Obj-Open-ByHandle?
Obj Open can use Primary Key along with other columns in the Where Condition.
Obj-Open-By-Handle can use Only Instance Handle to fetch the records.

21.What is DCO?
New Application wizard PEGA 7.

22.Which inheritance is the default/Mandatory inheritance?


Direct Inheritance.

23.Which type of tracking is default for Rule-Declare-Expression?


“Whenever Input Change” (forward Chaining).

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.

25.How to Trace an Agent?


Login to SMA --> Delay the Agent --> Requestor Management --> Get the Requestor Name of Agent --> Remote Trace It.
Delay Time = 60 Sec.
26.How can you make sure that Application is following the guardrails?
Rules should not have severe warnings and if any moderate warnings are there we need to justify it.

27.How to open a pop window on a button click?


Using Local Action / Harness.

28.What is the type of UseCase rule?


Rule-Application-UseCase

29.What is BLOB in PRPC?


BLOB (Binary Large Objects). PRPC saves all the WO data in a column called pzPVStream in BLOB format.

30.How do you call a flow from an activity?


Using the OOTB activities New, NewFormFlow (Flow Name , Class Name).

31.Page-validate and obj-validate

32.How to get the index of a page list?


pxListSubscript.

33.Difference between Standard and Advanced agent.

34.How to trace an Agent when there is log file and no SMA?


Broken Queue and there will some log details available.
Designer Studio --> Process and Rules --> Tools --> Work Admin and choose Broken Queue Item then it will display error
details.
35.Can you give some examples of Local Actions.
pyCaseAttachments, pyAdjustSLA, pyAdjustSLATimes, Previous Operator etc.

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.

2.What is Rule Delegation and Production Rule Set?

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.

Usually these production rule sets will be left unlocked.

3.What is Application, Production, Branch and Personal Rule Set?

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

4.Difference between section and Harness?

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.

5.Difference between Declare Pages and Data Pages.

Declare Pages Data Pages


 Name Should Start with Declare_  Name Should Start with D_

 Read only  Both Read only/Editable

 Parameters tab is not available  Parameters tab is available.

7.How to Jump From One Stage to Another Stage in PEGA 7?

We can use a utility called “Change Stage”

8.Difference between On change and Trigger?

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.

Which flow shapes are not allowed in Screen flow in Pega?

The following shapes are not allowed in screen flows:


Split Join, Wait, Integrator, Assignment Service

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

The following shapes are supported by screen flows:

Split For Each

All standard shapes(Assignment, Decision, SubProcess, Utility, Start and End Shapes)

All smart shapes (Except Wait shape)

What is the difference between activity and utility in Pega?


An activity is an instance of the Rule-Obj-Activity rule type. An activity is the fundamental sequential processing unit of the Process
Commander system.

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.

You might also like