3.PEGA Interview Q & A
3.PEGA Interview Q & A
Activity
10. What is the difference between parameter variable and local variable ?
* Parameter Variable : It is used to pass the values from one rule to another. Param is the keyword.
Local Variable : Scope of local variable is within the activity. Local is the keyword.
11. Keywords:
(Current : It holds the current index values (iteration value)
Last : If we use it will take the last index whatever it is.
Append : Adding one page to page list.
Primary key word : when we use a primary means, it is pointing to a primary class.
Example : suppose we are writing a activity, that activity lies under a class A, in activity we have a loop
step, if we want use the class A properties inside the loop step we can use primary key.
12. Methods :
Call, Branch, Apply-data-transform, commit, page-copy, property-set, page-new, connect-soap,
connect-rest, obj-methods and rdb-methods.
13. Page-Validate:
* Using this methods we can validate all the properties in the page. If a page has a embedded page,
this method validates all of the attributes in a recursive manner.
14. Property-Validate:
* Using this method we can validate the particular property and we can specify more than one
property also.
15. Page-Change-Class:
* Using this method we can change the class of step page in run time.
17. Obj-save-cancel:
* This method rolls back the latest uncommitted obj-save step.
18. Rollback:
* This method rolls back the all uncommitted data.
19. Log-method:
* Types of log files: *Pega logs: These are also called as systems logs. A message was created since
the server starts recently.
*Alert logs: It contains only alerts and supports performance related monitoring.
Agents
28. Queue-for-agent?
* Is the activity method for queuing the items.
29. Class :
* System-Queue_scheduletask.
* Advanced agents : we have a purge activity, we have to delete all assignments which are 10 days old
and this should run everyday 9pm. For this we created a advanced agents and in agent activity we
maintain a logic for fetching assignments and deleting a assignments.
* Standard Agents : best example for standard agents is SLA’s. suppose if we define a sla on
assignment shape, once flow reached the assignments, sla can trigger and it will monitor by pega-pro-
com agent which is standard agent and it will monitor the SLA’s.
Security
33. ARO :
It is nothing but Access of Role to Object : which provide permission to access a item. It is a
combination of class and access role. Once we created ARO we will add a privileges into ot. So that we
can apply these privileges for restricting the users. Generally we will apply these privileges in flow,
flow action, activity, report definition and correspondence rules.
To implementing the Authorization : We have to create a access role, ARO (means of access of role to
object ) and privileges. First we have to add a access role to the acces group and later we have to
apply a privileges to rules so that in run time which operator having this access role those can access.
If operation don’t have this access role than he don’t have a permission to access it.
Service Package
35. I am calling service from connect-soap, while calling how the systems can
identify this is my service package ? what is service package ?
* If any incoming request coming to the service, first it will contact service package and then it will
route to the particular service type, I mean whether it is soap or rest service.
* In service package we can provide Authentication and Authorization information.
36. How ?
* For authorization, we will provide access group, generally it is mandatory parameter.
* Authentication, in a service package have a check box called requires authentication. If we click that
we get authentication types. 1. Basic, 2. Custom, 3. Authentication. Once we will select a
authentication service, it will call authentication activity to validate the incoming request. In activity
we will implement the logic for validation.
* In service package we will provide what type of service it is, whether it is soap or rest and we can
provide pooling details and we can maintain a statefull or stateless request.
* Stateless : generally when the request is coming to service package, once the request is processed,
we will delete all clipboard pages to the particular request.
* Statefull : The clipboard pages we can keep them for other requestor.
Note : In service package we will carry the WSDL information. One service package can handle more
than one service.
SOAP
Service_Soap
39. Service-Soap
How can we implement service-soap in pega ?
* For service - soap we have wizard. Once we run the wizard
* 1ST step : select a purpose of the service as Invoke service on existing activity or input/output.
If we select service type as invoke service on existing activity, we must provide activity class and select
the activity.
* Once this is done, we must proivde a communication between the request and response in the form
of XML. We must select input and output properties
* Once the wizard is done it will create a Parse rule and Stream rule, Then,
* We must create a service package, in the wizard itself.
* Next step is configuring the service package details.
* The final step is Review and Save.
* After this it will generate the WSDL Url, Generally we will share this information to the consumers.
40. While creating a service soap, how many rules it will create ?
* Service soap rule (means service method rule )
* Parse rule
* Stream rule
*Service package
* Service activity.
Connect soap..
Service_Rest
Connect-Rest
2. Requestor : When the scope is requestor, the data pages is available for requestor level, means as
a requestor the data pages can be shared all case types, but the data pages cannot be shared with
other requestor, which means the data page is available within the work object.
OR
* As a Requestor once I populated Requestor level data page – the data pages data is available for all
case-type under that particular requestor. Or Between the work-object.
3. Node : When the scope is node, the data page can be shared among multiple requestor on that
particular node. Node is nothing but server and with in the server, we have other requestor also right.
So, the data page is available for all requestor available on particular node. We will specify the access
group for giving our application access to all the requestor. Here access group will provide application
access, that is the reason we will specify the access group when we can change the data page scope is
node.
OR
* We are giving a data page access to the server, so we have to add access-group under node level data-page.
Who many requestor are available under that particular node(server)- all can access this data-page.
65. What are the options to explicitly use/trigger the savable data pages ?
* In the flow rule-we have advance shape- Save data pages.
* In the flow action rule-action tab post processing.
* Activity Method-(save-datapage)method.
Note : If data page mode is savable :
* We have scope is Thread or Requestor.
* Refresh strategy is not applicable.
67. What is the difference between Keyed page data pages and Parameter Data
Pages ?
* Parameter Variables, we can pass the parameter values to data-pages in run-time.
* So, data will be sorted in run-time.
* But keyed page access data pages we will refer under pagelist property. When the property pass the
key to data pages, the values are automatically sorted.
* It means no need to pass any run-time values but data will sort automatically. ( Stop Here).
* In clipboard under property side we can see refer data page option, that data page automatically
sorted.
69. Where we can refer these keyed page access data pages ?
* We can refer property level under data access.
If data page is parameter then we will pass the values in square brackets with comma separated
values.
* Ex: D_EmployeePage(Emp No : “1”, Ename : “Ram”).
81. Association ?
* Association is similar to a join in pega. Instead of adding a join in report definition, we can create
association one place and same association we can apply into many report definitions.
Flows
90. Fork ?
* If we want to use when rule in flow than we have a fork option in decision shape. So, that we can
call when rule on connector. Generally to use when rule in flow we use fork option.
Note : * we will not move draft-on flow into production, if it is moved into the production, the impact
is “it will not pick the flow”.
* All productions flows should be draft-off.
Flow Actions
97. Where SLA entries are stored or What is the table for SLA entries ?
* pr_sys_queue_SLA
98. Dynamic SLA ?
* In SLA rule we have a option-calculate service level. Here we have 2 options, they are
1. One is based on intervals we can set a SLA.
2. Another one is based on property value we can set a SLA.
* If we set SLA based on property, which means in run time before execute the assignment SLA, if we
set these property by using data transform than whatever the property value it will apply
automatically to SLA. So, that we can set the dynamic values in SLA.
Harness
Rule-sets
* Blocked : If any rule is blocked, the blocked effect current version and all below version of that
particular rule-set, and it will blocked other rule-sets specified in application stack (Hole application
Blocked).
Example : SCB:01-01-05-Personal details(Blocked)….01,02,03,04.
Same rules is present if SCBInt:01-01-01
Note : Here it will blocked even in SCBInt rule-set.
104. Check-In ?
* My changes are done, once I will check-in other people can see my changes.
105. Check-out ?
* I have checked-out and I am currently working on that rule.
Product Rule
A=B+C a whenever we have a source values B or C. it will look for target property A. It means A value
is automatically calculated.
Backward Chaining : In declare On change rule we will specify the properties to watch based on when
condition.
If when return true or false-we will call separate activities for true or false. In activity we will
implement the business logic.
* Declare Trigger : When an instance of a specify class is created or updated or deleted. These declare
trigger can execute an activity. If we want we can specify the when condition we can specify.
* Basically these declare trigger can automatically update the history of work item, when certain
property change.
* Declare Index : For single value properties we have a property optimization, so that it will create a
separate column in DB table and we can use it for reports but aggregate properties like single page or
page list. We don’t have any property optimization. If we want use this property in report it will have
a performance issue, to avoid this we will create a declare index rule.
Implementation :
* 1st we have to create a DB table with properties.
* 2nd step we will create index class in pega application and we will map this index class with DB table
and we have to create a same properties under this class.
* 3rd step we will define a declare index on aggregate property like page or list.
* 4th step in declare index rule we will map the source as clipboard properties and target as index
properties. So, that these values stored in index table.
* whenever we required to use these properties in report definition, we will specify declare index
joins in data access tab so that we can retrieve the values.
If we want use this properties(aggregated properties) in report it will have a performance issue :
Reason is these properties we don’t have any separate column in DB table.
Inheritance
Decision Rules
Data Transform
118. What is the difference between Append and Map to & Append to ?
* Both will help copy page list to page list.
* If we use append to both source and target properties should be having same class definitions,
which means compatibility. Whereas Append and Map to it does not required. We can copy if both
are different class definitions.
120. How we can call Decision Tree or Decision Table from data transform ?
* We have an expression, Evaluate decision tree or evaluate decision table. From there we can call.
121. What is the use of Call Super class data transform in data transform rule ?
* Before invoking the current data transform, it will execute the parent class data transform (parent
class DT name is same as child DT).
Property
Class group
Debugging Tools
131. Log-Method ?
* Debug-produces the largest number of messages, least severe.
* Info - record as INFO severity.
* Warn - Record as Warn severity.
* Error - Record as ERROR severity, most severe.
* Info-Forced - Always record INFO event.
133. Suppose if you are facing a issue. How to debug the issue ?
* Development Environment : first I will try to trace the issue and I can check in tracer. If anything is
fail or not.
* Suppose I am writing a activity and if it is not executing as per expectation. So in this situation I can
trace the issue and in tracer I will check step by step. So that I will analyze and fix the issue.
* Production Environment : In production we don’t have a tracer. We have to check the log and try to
analyze.
* First we try to replicate the issue in lower environment.
* If it is not replicate in lower environment and only happening in production we have to see the logs
and check any exceptions are coming or not. Based on that I will analyze the issue.