Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Pega Scenario Based Interview Questions

Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

Pega Scenario Based Interview Questions

1. How to route to an operator and if operator doesn’t complete it in 5 minutes


how to move to end flow. How do you do using SLA?
Ans : Goal is 5 minutes in goal escalation run an ootb activity
“pxForceCaseClose” by using this activity it will move to end shape and the case
get resolved completed.

2. How to see Parent case data in child case in clipboard ?


Ans : In clipboard under “pyWorkCover”(Parentcase) we can see the parent case
data.
pyWorkCover is a copy of pyWorkPage.

3. I want 200 records of data table which are from Hyderabad and Pincode ? How
do you configure using Activity / Report definition ?
Ans : Instead of writing activity we can use report definition using filter condition
as hyderabad & Pincode and values as hyderabad and pincode then run the RD
then we will get the data as requested.
City =”Hyderabad” && Pincode =”500032”

(or)
We can call the report definition in activity by using the method as “Call Rule-
obj-Report Definition.pxRetrieve Report Data”.

4. How can we call Data page in a Data transform ?


Ans : By using the function D _DataPage Name [Param.Name1:Param.Value1]
Ex – D_CustomerDetails[CustomerName:Param.CustomerName].pxResults
5.How can you call Decision table in Datatransform,what are the parameter should
pass ?
Ans : By using the function
@DecisionTable.ObtainValue(tools,MyStepPage,”DecisionTable Name”,true)

6. How do you set 2 parameters to the DataPage like first Name,LastName in


Datatransform ?
Ans :

D_GetEmployeeIDByName[FirstName:Param.FirstName,LastName:Param.LastN
ame].pxResults
7. Can we call Savable Datapage in Flow action ?
Ans : Yes,We can call savable Datapage in FA in “Post Processing “ under Action
Tab based on when condition also we can call Savable Datapage in FA.
In flow can use as Save Data Page Assignment shape.
In Activity we can use as Save-DataPage Method.

8. A Customer should get mail daily at 7 am but he is getting 5 mails daily.What


could be the reason.How to overcome?
Ans : I think it is running on multiple nodes that’s why he is getting 5 emails,we
need to make sure and we need to stop in all other nodes and make sure to run in
one node then it will get only 1 email.

9. We have 10000 records in table,we have to process and create work objects but
each records taking 1 times only.How to overcome ?
Ans : We need to use queue processor rule which will execute 20 threads at a time
on a single server.
It can run at a 4 servers at a time means 20*4=80 it processes records at a time by
this way we can reduce the time.
10. I have a property type decimal,I need to restrict it to two decimal places
only.How easily this can be done ?
Ans : Property type should be qualifier/decimal/Number under Presentation tab
of property their will be a Decimal Place option their we can select to 2 then it will
take only two values after decimal.
In property under advanced tab there is a option of property qualifier. Their we can
mention how many values should display after (.)dot .

11. How we create Dynamic SLA rule in Pega ?


Ans : By using “DateTimeProperty”

12. What is Dual inheritance in Pega ?


Ans : Dual inheritance is using both Pattern and Direct inheritance.
Ex – Rule Resolution uses dual inheritance.

13. How do you use Declare Expression in an Activity ?


Ans : By using “Property-Seek –Value" method it is used for backward chaining.

14. How to call Asynchronous activity from another activity ?


Ans : By using “Call- Async-Activity" Method.
“Queue” Method also executes activity asynchronously.
15. We have 3 classes A-B-C where as D is the parent of A-B-C .Can we access
the properties of A-B from Class D ?
Ans : No, we cant access the data from Classs D. Because Class D is the parent .
A-B-C can access the properties.
16. I have a pagelist with 100 records. How to insert a value in 50th records in pega
?
Ans : Pagelist.pxResults(<INSERT>50).PropertyName
Pagelist.pxResults(<APPEND>50).PropertyName -which comes 1st value
Pagelist.pxResults(<PREFIX>50).PropertyName- which comes last value

17.Where do you find broken queue items,where it will store.How do you re-queue
it ?
Ans : Go to Admin studio under Resources their will be a Agent queue their we
will see a broken queue items. Find the queue from list and select the queue to re-
queue the process.

18.When 1 Assignment is getting broken process in flow.Almost I have 4


assignments in that 1 assignment is getting broken process.How do you debug and
rectify ?
Ans : Check the Clipboard for missing property on the workpage.
And run the ootb activity i.e., “FixBrokenAssignments” (or)
“FixProblemAssignments” and pass the pxlockhandle.

19. In Loan Application is providing 3 types of loans Home loan,Personal loan &
Education loan? Here the loan type is home they have to upload house documents
and if the loan is education they have to upload educational documents,then the
loan type is personal it should directly go for approval?How do you achieve this ?
Ans : Based on the when condition the stage or step will skip the conditions are
Loantype=”Education”, Loantype=”Home” ,Loantype =”Personal”

20. We are Creating E –commers application the customer should select the
product and when they changes the product quality the price changes respectively ?
Ans : Need to create declare expression based on the source property the target
property value will gets changed.
This is known as Forward Chaining.

21. When applying for a credit limit increase,customer with standard credit cards
must provide information in an employment info process, request from customers
with gold credit cards automatically skip the process.How to perform this
requirement ?
Ans : Add the condition at process i.e., on start process the process when (Cardtype
= =”Gold”)

22. A education loan app requires approvals from the legal team manager and
finance team manager the legal team manager must approve before finance team
manager.How do you configure this requirement ?
Ans : Create a approval step with Cascading approval.

23. A Hotel booking application allows customers to change rooms after making a
reservation.The status of each room in each hotel is stored on a data page sourced
from a database table.Which two configuration options do you use to update the
database table when a customer changes room ?
Ans : Using Savable data page with source as data transform to copy updates to the
datapages of room status.

24. An internet provider determines the best internet speed for a customer based on
customers answers to a services of nested questions such as whether the customer
is seeking service for a bussiness or for a residence and what is expected internet
usage.Which rule do you configure the application to recommend an internet speed
based on customer response ?
Ans : By using Decision tree rule wecan achieve this requirement.
It is nested if condition in decision tree.
25. All managers need to view the employees vacation request report in their
manager portal dashboards only managers have access to the reports which
configuration do you perform ?
Ans : Need to add the access roles which has ARO without running the reports.

26. Write a generic activity to update the lable of any rule and what are the
parameters need to pass ?
Ans : By using obj-open / obj-open by-handle method we can change lable of any
rule.
Parameters need to pass are:
Param.instanceclass + Param.ruleclass + Param.rulename

27. We have 3 tables A,B,C if we want to get table B & C data into A without
using reports,activities,data transforms,data pages?How do you achieve this ?
Ans : Use SQL functions,want to display in UI,then we need to use RDB medthos
in an activity.
28. I have 3 assignments it should run 3 times how do you configure or else should
we create 3 SLAs or not ?
Ans : No need to create 3 SLAs ,should create 1 SLA and we need to keep
conditions based on that SLA will run.

29. How to get single record based on key but should not use Report definitions,
Datatransforms, Datapages, Activities ?
Ans : We can achieve by using Linked Properties.

30. I have 5 Assignments / Stages in Production.I want to remove 2nd Stage /


Assignment how to do it ?
Ans : Create an Circumstance rule with “pxCreateDateTime” equals to Release
date.
(Or)
Create a Circumstance rule with pyDefault case type rule by the
pxCreateDateTime of the current date and remove the stage / assignment so that
the inflight cases wont be hampered.

31. If we have to route assignment like,We are routing it to manager but if in 2


days he doesn’t approve it we should route it to some other work basket.How to
achieve that ?
Ans : We can define SLA and if the task is not performed within the given time
intervals we can use escalation called route and route it to different work basket.

32 . I have 1 lakh files in File listener.How do you do using pagenation.How to


overcome?
Ans : In file listener under Process tab in General section enable the pagination
option.
(Or)
In the file service rule, on the Service tab, in the Service activity field, specify an
activity that implements the pagination logic. The activity should have two input
parameters: pyStartRow and pyEndRow. These parameters indicate the starting
and ending row numbers of the current batch of files. The activity should use these
parameters to loop through the files in the batch and process them accordingly

33.I have 100 records in the table I want to update the status of each record ? How
you write logic in an activity ?

Ans : Use the Obj-Browse method to fetch all the records from the table and
store them
in a page list property.

Use a loop to iterate over the page list property and for each embedded
page, do the

following:

Use the Obj-Open-By-Handle method to open the record by passing the


pzInsKey

property as the handle.

Use the Property-Set method to update the status property with the desired
value.

Use the Obj-Save method to save the record to the table.

Use the Page-Remove method to remove the embedded page from the page
list

property.

34. Design an UI like input Customer ID on click of search button get Customer
Results ?

35. Consuming service from 3rd party web services.We need to configurenendpoint
URL right? Where do you configure?

36.How do you do Expection handling in Connectors? What are all the ways to do
Exceptions?

37. What is the purpose of mentioning access group for Job schedular ? If not
mentioned what accsess group it takes by default ?
38.What are the Key components of File Listener ?
Ans : Serive File
File Listener
Parse rule
Service Pckage
Service Activity

39.Difference between datatransform and datapages in the context of external


database integration ?

Explain difference between Dynamic layout and Repeating dynamic layouts ?


Ans : The main difference between a dynamic layout and a repeating dynamic
layout is that a dynamic layout displays content in a single section, while a
repeating dynamic layout displays content in multiple sections that repeat for each
item in the list. A repeating dynamic layout is useful when you want to present list-
based content in a nonlinear, more aesthetic format. For example, you can use a
repeating dynamic layout to display a list of available rooms in a hotel booking
application2. A dynamic layout is useful when you want to present content in a
single section that can adapt to different screen sizes and device types. For
example, you can use a dynamic layout to display the details of a selected room in
the same application1.
A repeating dynamic layout can also have different formats, such as grid, gallery,
or list.
A dynamic layout can also have different formats, such as inline grid double,
stacked, or inline grid triple.

40. I have 2 child cases under 1 parent case? How do you copy data from child 1
case to child 2 case ?
Ans : Create a Editable DataPage and call in this DPage in Pagelist and write
activity to save the data to database.
In child case 2 configure the pagelist in section.So it will automatically copy to
child 2 case type.

41. How do you send an email with excel attachment on click of button ?
41. Ans : Create Activity Obj-open / Obj-open by handle,
42. Property -Set,
43. pxGenerateExcelFile / pxParseExcelFile,
44. Property-Set-Corr,
45. SendSimpleEmail or Send EmailNotification in that select include all
attachments.
46. Then call this activity in postprocessing FA or include a button in Section on
that action set call this activity.

42. How to add access group automatically to an operator ?How do you Configure
?
Ans : Their will be ootb activity in that we need to configure.

47. How do you Create a Case on click on button ?


Ans: Create a button in UI(section) and add action set I.e., Event as On click,Add
action as Create Work in that call casetype class which case you want to create.
(or) we can write activity as well by using Add-Work, New-Work,
Add.SVCWorkObject.

48. Where do you configure the END point URL of a service you consume ?
Ans : While connecting to external web-service with pega we configure our end
point URL of services ic configured in DSS(dynamic system settings)
49. What is the Purpose of run in parallel option in Connect SOAP method ?
Ans : Run in Parallel option is used to run activity and connect methods
asynchronously.
Activity will not wait for service to respond it will continue paralley.If we mention
connect-wait method activity will wait still to get response from service.After
getting appropriate data then only activity will gets executed.
50. We have a connector which is present running at production. For the service
provider end there is change in request and response parameters ? How do you
handle ?
Ans : After adding properties the URL will get update if we re-run the properties of
request and response properties may get added /updated.
(Or)
If we know the exact data class then we can update manually in the request and
response properties and also need to update the properties in request and response
data transforms.By this way the properties in Prod gets updated /added/created.

51. What is the difference between Dynamic system settings and system settings ?
Ans : Dynamic system settings (DSS) is a data instance and cane be modified in
live pro duction environment itself.
System settings (SS) is a rule instances which defines the URL’s of different
server environments.This rule cannot be modified in Live production.

52. How can we call DSS in an activity ?


Ans : We can call Dynamic System Settings (DSS) by using a function called
getDataSystemSettings

53. How to move from one stage to another stage by using activity ?
Ans : We have an OOTB Activity i.e., pxChangeStage by using this activity we
can move from one stage to another stage. We need to pass stage name as
parameter.

54. How to move case from worklist to workbasket ?


Ans : By using an OOTB activity we can move from WL to WB i.e.,
pxTransferAssignment.

55. We have a process flow which is calling sub flow with spin off ? Process flow
will have start shape, assignment 1, sub process, assignment 2 (routing Op-1) ?
Sub flow has assignment sub 1(routed to Op-2)
Question : Now operator 1 & operator 2 has assignments in their Work list. Both
of the operators trying to open the assignments at same time. Will they be able to
process or not ?s

56. Where do we see parent case data in clipboard when the case is in child case ?
Ans : Under pyWorkCover the Parent Case data is stored in it.
pxCoveredCount it shows that the count how many child cases it have.
pxCoveredCountOpen it tells how many child cases are opened means yet to be
resolved.

57. How do you run parent case when the child case is executing ? How do you do
?
Ans : Under child case settings tab under locking section there is a check box i.e.,
known as “Allow other users to access parent case when the child case is
opened ” if we select this check box we can access parent case when the child case
is opened.
58. I want to fetch open assignments of Current Operator?
Create a report in assign-worklist class.
Where Condition pxAssingedOperatorID =
OperatorID.pyUserIdentifier.

59. Advanced Agent, Running on Single Node. Schedule is 9 AM Every Day.


Requirement is, we want this agent on single node to run at 9 AM Monday,
10 AM Tuesday, 11 AM Wednesday and so on….
60. While routing assignment to operator, we would like auto reroute the
assignment to other work list or work basket, if the operator is on Leave. How to
achieve this?

Ans : 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 operator is on leave.
To get this done, while routing we need to one option “Check availability”

61. How to an operator with access to a Work basket without being him part of the
respective work group?
Ans : We can achieve this by specifying the Operator Id in Work Basket rule.
This referred as Additional Contacts.

62 . You are writing an activity at Child case1, how to copy the data of Child
case2.
Ans : We should open the childcase2 on a temp page and use it.

63. How to update Data from Parent to Child during Processing of Parent case.
Ans : (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”
64 . Write an activity at Parent case and fetch child case data.
Ans : We can use Obj-Open-ByHandle and Open child case data.
Loop through for each element in Valuelist and pass the pzIsnKey like
below
pyWorkPage.pxCoveredInsKeys(<CURRENT>)

65.We want to update data from parent to child at the time of a child case is getting
created.
Ans : There are Two ways:
(A) Data Propagation : Copying data from parent to child ,while child is
getting created.
(B) We have to write the logic in pyDefaultDataTrnasform , which should
be created under Child case type class.
.FirstName = pyWorkCover.FirstName.

66 . 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.
Ans : (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
67. We want to stop the parent case to wait till all children gets resolved, Parent
case should be on wait?
Ans : 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.

68 . We have used a wait shape, where case got stuck , how to manually release
this?
Ans : When case reaches wait shape, PC pushes that into a work queue,
Deferred@pega.com
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

70 . How to assign the value of a Property at parent case which is SUM of


Properties of multiple child cases? We have a requirement like below?
Note : Let’s say we have
NoOfPositionsfilled = NoOfPEGAPositionsfilled + NoOfJAVAPositionsfilled +
NoOfDTPositionsfilled
It is possible by using OOTB feature of calculations tab

71 . How to achieve || processing using Covers?


Ans : We need to choose the option “Do not lock parent, when the child is open”,
under settings tab of “Child case types”.

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


First assignment – Customer details
Second assignment – Vehicle details.
Note :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?
Ans : Displays Lock issue.

73 . What is table where Pega Stores the last generated WO Number for a given
prefix?
Ans : PC_Data_UniqueID (pyPrefix, pyLastServeredID)

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


Ans : pyStartCase
Calls Activity pzInitializeStage
Call pzGetFirstStage

75 . Let's consider a scenario where you have an application that manages an e-


commerce platform. In this scenario, you can use node-level data pages and sub-
reports to display product-related information.
Scenario: E-commerce Product Catalog

Ans : Node-Level Data Page:

You have a data page named "ProductCatalog" that retrieves and holds the list of
available products in the catalog. This data page is marked as a node-level data
page because the product catalog is relatively static and can be shared across users.

Sub-Reports:

You want to display two sub-reports on the product page: one showing the "Top
Selling Products" and the other showing the "Related Products" for the currently
viewed product.

Here's how you can implement this scenario:

1. Node-Level Data Page: Product Catalog

Create a data page named "ProductCatalog."


Set the scope of this data page to "Node" since the product catalog is shared across
users and doesn't change frequently.
Configure the data source to retrieve the list of products from the database. Define
the data transform to shape the retrieved data into a suitable format for
presentation.
Set caching options based on the update frequency of the product catalog.

2. 2.Top Selling Products Sub-Report:

Create a report definition named "TopSellingProducts."


Configure the report definition to fetch the top-selling products based on sales
volume.

Define columns like "Product Name," "Sales Count," and "Price."

Use this report definition in a section on the product page to display the top-selling
products.

3. Related Products Sub-Report:

Create another report definition named "RelatedProducts."

Configure the report definition to fetch products related to the currently viewed
product based on shared categories or tags.

Define similar columns as the top-selling report. Use this report definition in a
different section on the product page to display related products.

By using node-level data pages, you ensure that the product catalog data is loaded
once and shared across users, improving performance.

Sub-reports help you provide additional information to users about top-selling and
related products, enhancing the user experience.

In the product page's layout, you can include the sections containing the sub-
reports along with other product details. This scenario showcases how node-level
data pages and sub-reports can be combined to create a dynamic and efficient e-
commerce product catalog.

76. Suppose there are 5 child cases and we want the parent case to get resolved
once any 3 of the child cases are resolved. How can we do this?

Ans :There is no OOTb feature for this, but we can implement this by using
declare on change rule... We have to manually create this decalre on change rule
which monitors pxCoveredCountOpen property. We need to call one OOTB
activity pxForceCaseClose at onchange activity.

(OR)

We can achieve by using Wait shape also

77.
77 . Pls explain authentication process while pega user login to the application??

Ans : The aunthentication process in enterprice application works like this. There
are multiple servers involved, like Single Signon Server, LDAP server, Web
Server (Load Balancing ) , Applicaiton Server. 1. When user access the application
by URL 2. Request will got to Single Sign-on server 3, when user name and
password provided, it checks the LDAP directly on LDAP server 4. On successful
authentication it goes to WebServer (Load balancing), there it gets redirected to the
application 5. Now, it hits app server and authorization happens to load
applicaiton.

Without using va

78 . Without using validation rule ? How can we perform server side validation ? Is
it Possible ?
Ans : Yes, it is possible by using methods in an activity I.e., Property-Set-message
/Page-set-message preconditions
(OR)
We can use Declare constraints

79 . In production environment how to update data for “Resolved-Completed” case


?
80 . In production environment we got assignment as Broken process how do you
rectify an issue ?
81. What is the use of breakpoints and watch options in tracer ?
82 . In Decision table
A. How to find unreachable conditions?
B. How to make unreachable conditions to run ?
Ans : (A) Show conflicts in decision table will show the unreachable conditions.
(C) Select Evaluate all rows check box under Results tab will execute all
conditions.

83 . How to save two worktables data into single work table ?


Ans : If you want to save data from two separate work tables into a single work
table in Pega, you can achieve this by using activities and data transforms. Here's a
step-by-step guide on how to do it:

Assumptions: You have two source work tables named "SourceWorkTable1" and
"SourceWorkTable2". You have a target work table named "TargetWorkTable"
where you want to save the combined data. Steps to save data from two work
tables into a single work table:

1. Create an Activity: Open Pega Designer Studio. Create a new activity to


handle the data transformation and saving process. Define the activity with
appropriate inputs and outputs, such as the source work tables and the target work
table.

2. Define Data Transforms: Create two data transforms to map the properties
from each source work table to the corresponding properties in the target work
table. These data transforms define how the data from the source work tables
should be mapped to the target work table's properties.

3.In the Activity: Inside the activity, use the "Obj-Open" method to open
instances of the source work tables ("SourceWorkTable1" and
"SourceWorkTable2"). Use the "Obj-Save" method to save instances of the target
work table ("TargetWorkTable"). Apply the data transforms to map the data from
the source instances to the target instance.
4.Execute the Activity: You can execute the activity by invoking it from a flow,
a button click, or any other relevant event.

Remember that the structure of your work tables, properties, and business
requirements might differ, so you should adapt this example to suit your specific
scenario.

Activity: CombineAndSaveData

Variables:

Source1: Page - SourceWorkTable1


Source2: Page - SourceWorkTable2
Target: Page - TargetWorkTable

Steps:
1. Obj-Open (SourceWorkTable1)
2. Set Target.Property1 = Source1.SourceProperty1
3. Set Target.Property2 = Source1.SourceProperty2
4. Obj-Open (SourceWorkTable2)
5. Set Target.Property3 = Source2.SourceProperty3
6. Set Target.Property4 = Source2.SourceProperty4
7. Obj-Save (Target)

84 . Which table work objects data gets stored ?

Ans : Pc_Work table

85. Explain in which scenario we should use duplicate case search ?

Ans :Whenever we found duplicate cases that time we should use duplicate search
smart shape.
Ex :- Suppose in bank one person is taken loan and completed all the process and
i.e., Resolved - Completed.
Next,again same person went to the same bank and applied for a loan if they match
all his personal details and without knowing previous loan status they will tell as it
is duplicate. If we maintain a ID means we can check the status of his loan and can
provide loan again.

86. What are the parameters need to pass for obj methods in activity ?
Ans :

1. Obj - Open-by-handle Parameters

Obj- Open parameters


Obj - Save Parameters

Obj- Delete Parameters


Obj- Delete- By- Handle Parameters

Obj- browse Parameters


Obj- Refresh -and- lock Parameters

Obj- Save - Cancel No- Parameters

87. How do you do exception handling in Connectors ?


Ans : In connector rule under error handling section we have OOTB flow I.e., Connection Problem flow

In that we have workbasket I.e., Incomplete connection and SLA is retry connection (30mins).

88. How to check a case whether it is a parent case or child case ?

Ans : Need to check in clipboard under pyworkpage if there is pxcoverdinskey page is present or not.

If this page is their then it will be a child case if not it is a parent case.

89. How to check a case is routed to which operator ?

Ans : We can check in clipboard under New Assign Page- pxAssingedOperatorID.

You might also like