0% found this document useful (0 votes)
133 views20 pages

3.PEGA Interview Q & A

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)
133 views20 pages

3.PEGA Interview Q & A

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

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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy