Pega Interview Questions and Answers

Q1 : Inheritance concept in the Pega (rules, class)
A : Rules: inheritance that can maximize reuse of your rules while allowing localized overriding as appropriate. Also called polymorphism, inheritance allows a rule created for one class (possibly an abstract class) to be applied to other classes that inherit from it.
Class inheritance searches for rules from a concrete, lower class, up the class hierarchy to find available rules.
Two types of class inheritance — directed inheritance and pattern inheritances.

Q2 : How to connect to different pega applications?
A : Using SOAP, HTTP, JMS, MQ.

Q3 : How to see the values of the local variables of the activity?
A : Using log-message.

Q4 : What is a Work Group? What is the primary function of a Work Group from a business perspective?
A : A workgroup is a logical collection of operators having a common supervisor i,e. a workgroup can identify a user who is a supervisor and a set of workers and workbaskets that report to that supervisor.
Use – For the supervisor of a workgroup, the My Group area of the Process Workspace provides quick access to the work lists and workbaskets associated with the group (In the workbasket tab of workbasket data instances we enter the name of a workgroup that uses the workbasket. This field determines which workbaskets appear in the View Queue list on the My Group area of the Process Work workspace for managers). Also, workgroups facilitate for better monitoring and reporting of tasks on the Monitor Activity workspace.

Q5 : Default activity used to create work object
A : There is more than one like Add, CreateWork, and New.

Q6 : Explain about Work Object?
A : A work object is the primary unit of work completion in an application and the primary collection of data that a flow operates on.
As an application is used, work objects are created, updated, and eventually closed (resolved).
Every work object has a unique ID (property pyID), an urgency value, and a status (property pyStatusWork).

Q7 : How to call one activity from another activity:
A : They are two types:
a) Call: If we call one activity to another activity by using call, it will execute the called activity and return back to calling activity then execute the remaining steps in a calling activity.
b) Branch: If we call one activity to another activity by using Branch, it will execute the called activity and calling activity then it will not execute the remaining steps after branch.

Q8 : What Is The Difference Between Listview And Summary view?
A : A summary view rule defines a two-level report display, presenting summary counts, totals or averages to be displayed initially, and allowing users to click a row to drill down to supporting detail for that row.
Summary view rules support interactive charts, trend reports, and the use of AJAX for pop-up Smart Info windows.
A summary view rule is an instance of the Rule-Obj-SummaryView rule type. This rule type is part of the Reports category.

A list view rule, an instance of the Rule-Obj-ListView rule type, defines a report. Users can personalize list view reports easily and interact with them.
Use the Report wizard to define list view reports and link them to our portal.

Q9 : How to customize the getContent Activity?
A : Step1: Create Activity in Our Class and create the New page
Step2: write a query and store invariably.
Step3: call the listview as Call Rule-Obj-ListView
Step4: Write another activity in Embed-ListParams
Step5: create the parameter. This parameter gets the SQL query from previous activity
Step6: write Java method The java code in this method is
Get the page from pyContentPage if page already exists. If page is not available it creates the new ContentPage.
In this code get the SQL query from the above parameter and pass this query and above created ContentPage as parameters to this tools.getDatabase().executeRDB(query, page name) method.

 Q10 : How to call an Activity from JavaScript?
A : HashStringMapactivityKeys = new HashStringMap();
activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”);
activityKeys.putString(“pyClassName”, workclass);
activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );
tools.doActivity(activityKeys , workpage, tools.getParameterPage() );

Q11 : What the class of getContent Activity?
A : Embed-ListParams class.

Q12 : What are SLAs used for? How do you configure an SLA?
A : SLAs are rules in PRPC that indicate the expected or targeted turnaround time for the assignment, or time-to-resolve for the work object. Each service level rule defines one to three-time intervals, known as goals, deadlines, and late intervals. Late intervals are repeated.
Service level rules can be associated with assignments in a flow and with the entire flow. For example, we can set a goal of 2 hours to process an assignment and a deadline of 4 hours. (The time interval starts when the assignment is created, not when a user begins processing the assignment.)
For assignments, the service level rule is referenced in the Assignment Properties panel of the assigned task.
For the overall work object, the service level rule is identified in the standard property .pySLAName, typically set up through a model for the class. (The default value is the Default service level.)
** The Pega-ProCom agent detects service levels not achieved — unmet goals or deadlines — promptly. If an assignment is not completed before the time limit, the system can automatically notify one or more parties, escalate the assignment, cancel the entire flow, and so on.

Q13 : How can I pass page as the parameter to the activity using Java, JavaScript?
A : Using java you can, maybe using java scripts you can, I not sure.

Q14 : How to connect with external data base:
A :

  • Whenever we want to connect with external database, first we need to create the database.
  •  Whenever we create the database, we need to provide the JDBC URL name, username and password.
  • Once we created the date base, we need to create the database class. In a database class, we need to create the required properties.
  • After creation of database class, we need to create the database table. At the time of creating database table, we need to provide the database name, database table name, and schema name.
  • We need to create the connect SQL. In a connect SQL rule, if we want to fetch multiple records then we need to write the query in browser tab.
  • If we want to fetch a single record then we need to write query in open tab.
  • If we want to save the data into database then we need to write the query in save tab.
  • Create activities by using RDB-Methods.

Q15 : What is Access Group and Access roles and difference between them?
A : Access groups make a set of RuleSet versions available to requestors. Use an access role name to convey permissions (capabilities) to a user or a group of users. Access roles can be referenced in requestor instances, Operator ID instances, in access group instances, in activities, and in queries.

Q16 : How to pass parameters to the activity using the java, JavaScript?
A : pyActivity=GHC-HPlan-CS-Work.ABC&CSR=” + CSR.

Q17 : Different type of flows. Explain in scenario-based where u used and worked
A : Spin-off, Split-Join and Split for each.

Q18 : In Routing activity what is the default property used to route the object
A : pxRouteTo=Param.AssignTo =” work basket name”  for  work basket .s
For work list:
pxRouteTo =Param.Worklist=”true”   &&Param.AssignTo =” pxRequestor.pyUserIdentifier”    for work list.

Q19 : Difference between obj-list, rdb-list?
A : Obj-list: Retrieve to a page, read-only, a selected set of properties Important fields Obj-List:
RequestType: The Type of the browse; allows different processing or sets of properties to be defined.  Defaults to Standard.  Key-part to the Rule-RDB-SQL instance.

Access: An indication of the database package used to access this table, from the INI file (currently ODBC).  Key-part to the Rule-RDB-SQL instance.

ClassName: The object class on which the browse is performed.

Rdb-list: To Retrieve external Relational Database List.
Important fields in RDB-List:

PageName: Page Name indicating where the results will be put

ObjClass: The object Class to List.  When used with RuleObjList parameter, this is the class of the list to use.

Q20 : How to import rules using pzinskey
A : Open the rule, from that pick the pzinskey, go to prdbutil and using the pxinskey export the rule Import that zip file where you want.

Q21 : Difference between activity and utility?
A : An activity is an instance of the Rule-Obj-Activity rule type. An activity is the fundamental sequential processing unit of the Process Commander system.
The shape in a Visio flow diagram references an activity that updates a work object but does not require user interaction and input. Your system includes standard activities for utility tasks, and you can create additional ones.
Each utility task references an activity with an Activity Type of Utility ss from utility shape we can call activity but vise versa not possible.

Q22 : How to make any rule as a favorite to your manager?
A : Delegate the rule to manager.

Q23 : What is StepStatusGood, StepStatusFail rules?
A : StepStatusGood is a when the condition defined in @baseclass, this when rule checks whether the value of a pxMethodStatus property is “Good”.
StepStatusFail is a when the condition defined in @baseclass, this when rule checks whether the value of pxMethodStatus property is “Fail”.

Q24 : What is difference between Edit validate and Edit Input rules?
A : Edit Validate: Use edit validate rule to validate the property value using java code. Edit validate rules can be used property-validate, Rule-Obj-Validate and Property rules.
Edit Input: Edit input rules convert user entered data into the required format. For example is the user enters date MM/DD/YYYY format, edit input rule coverts this date into DD-MMM-YYYY (required format). Again we need to write java code for this transformation.

Q25 : Where assignments will be stored in Pega rules database?
A : Work List related assignments are stored in pc_assign_worklist.
Workbasket related assignments are stored in pc_assign_workbasket.