Pega Interview Questions and Answers
1Q) What is the difference between Page-Validate and Property-Validate methods?
Ans: The page-Validate method is used to validate all the properties present on a page. If a page has embedded pages, this method works recursively to validate all the properties. This method consumes a lot of system resources and takes more time. If you want to validate specific properties use the Obj-Validate method with Rule-Obj-Validate rule.
The property-Validate method is used to impose restrictions on property value. Use Edit validate rule along with Property-Validate method to impose restrictions. You can validate multiple properties using the Property-Validate method.
2Q) What is the difference between Edit validate and Edit Input rules?
Edit Validate: Use the 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.
3Q) Where assignments will be stored in the Pega rules database?
Work List related assignments are stored in pc_assign_worklist.
Workbasket related assignments are stored in pc_assign_workbasket.
4Q)Where work objects will be stored?
Work Objects are stored in the pc_work table by default. however, if you want to store the work objects in a user-created table, follow the below-mentioned steps.
Create a schema similar to the pc_work table. (The best thing is to copy the pc_work schema and modify the table name and constraints name if any)
Change the class group mapping (Data-Admin-DB-Table) to the newly created table.
Aspired to become a Pega? Explore the post to discover the know-hows on "Pega Training".
5Q) If I have 3 different work objects in my application, how to store them in three different tables?
Ans: Open/Create the Data-Admin-DB-Table instance for each class and mention the table name. By doing this the individual work objects will be stored in the new table you mentioned in the Data-Admin-DB-Table instance. This is a best practice if there too many object instances for each class.
6Q)What is StepStatusGood, StepStatusFail rules?
StepStatusGood is when the condition defined in @baseclass, this when rule checks whether the value of pxMethodStatus property is "Good".
StepStatusFail is when the condition defined in @baseclass, this when rule checks whether the value of pxMethodStatus property is "Fail".
7Q)How to make any rule a favorite to your manager?
Ans: Delegate the rule to the manager.
8Q)Where can I see the parameter values in the clipboard ( values ..) I am passing one activity to another?
Ans: No it's not possible in the clipboard, but you can see in tracer by clicking page name which in the step method column.
9Q) How to import rules using pzinskey?
Ans: 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.
10Q)Difference between activity and utility?
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.
11Q)Difference between obj-open and obj-open-by-handled?
Obj-Open: we will get multiple records from the table based on the criteria from the specified class. Or Opens an instance of a given class
OBJ-open-handle: here we have had to pass the pzInskey as an instance handle, this method will open only one record at a time. Or Open object by the handle to the pzInsKey value The handle of an instance is a unique key, in an internal format, assembled by the system that identifies an instance in the PegaRULES database. It may differ from the visible key generally used to identify instances. (Every instance has a unique handle, but more than one instance may share the same visible key.) For rule instances, the handle includes system-generated identifying values (including the create date and time) that make it unique.
Use the Obj-Open-By-Handle method only if you can determine the unique handle that permanently identifies which instance to open. Otherwise, use the Obj-Open method.
12Q) Inheritance concept in the Pega (rules, class)?
Rules: inheritance that can maximize the 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
13Q)Performance of our work in the Pega is measured using?
DBTrace: DBTrace is a feature in the Performance Analysis Tool (PAL) that creates a detailed log of calls to the PegaRULES database. DBTrace displays SQL statements sent to the database and the time spent for each operation.
PAL: This data is stored in “PAL counters” or “PAL readings.” PAL stands for Performance Analyzer and is a collection of counters and timer readings, stored in the requestor, that an application developer could use to analyze performance issues in a system.
PAL Features - Add Reading - Add Reading with Clipboard Size - Reset Data - Save Data - Start DBTrace - DBTrace Options - Start Profiler - Show Graph - My Alerts
Alerts: During application processing, Process Commander writes to the performance alert log a sequence of text entries called alert messages that identify mainly performance-related issues or errors. The performance alert log is usually named the PegaRULES-ALERT-YYYY-MMM-DD log.
AES: Exceptions are processed in a similar way as alerts. When a Process Commander server generates exceptions they are sent by SOAP to the AES system. The system parses the exceptions and stores the records in the pegaam_exception table in the AES database. Based upon how often an exception occurs and the system events that triggered those exceptions, AES aggregates these records into work objects called AES exception items. These items are written to the AES database in the pegaam_exception_work table.
14Q) How to connect to different Pega applications?
Ans: Using SOAP, HTTP, JMS, MQ.
15Q) How to store the instance of the class in a specific database?
Ans: Creating the separate DB table for that working-class within the DB, or map to external DB and further saves will go to that DB
16Q) Difference between obj-list, rdb-list?
Ans: 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. Import tant fields in RDB-List:
PageName: Page Name indicating where the results will be put
ObjClass: The object Class to List. When used with the RuleObjList parameter, this is the class of the list to use.
17Q)How to see the values of the local variables of the activity?
Ans: Using log-message.
18Q) How can I store the instance of the class in the database?
Ans: Creating the separate DB table for that working-class within the DB, or map to external db and further saves will go to that DB.
19Q) Default data table where the instance of the class is the store (how it will search ) pc_work?
Ans: PC_ work
1. Workbasket assignments are stored in a single pr_assign_workbasket table.
2. Worklist assignments are stored in a single pr_assign_worklist table. 3. The Work- base class is mapped to the pc_work table, a table with columns that represent all the work object properties that need to be exposed to flow processing to function correctly. Map your work object classes to either the pc_work stable or another table that has the same columns. 4. The Database class is mapped to the pr_data table. Map your data classes to either the pr_data table or another table that has the same columns. 5. all Rule related data will be stored in pr4_pegarules.
6. The pr_other table is the last resort or default destination for saved instances that belong to a class that is not mapped to any other tables.
20Q) In Routing activity what is the default property used to route the object?
Ans:pxRouteTo=Param.AssignTo =” work basket name” for work basket .s
For work list:
pxRouteTo =Param.Worklist=”true” && Param.AssignTo =” pxRequestor.pyUserIdentifier” for work list.
21Q)Default activity used to create a work object?
Ans: There is more than one like Add, CreateWork, and New.
22Q)Work object ID.. how to create.. activities used to create, or methods Work ID:?
Ans: Work ID: RULE-OBJ-ACTIVITY WORK- GENERATED for Generates Work ID, The activity checks for the ID of the work object. If the ID doesn’t exist it gets a unique ID from the database and adds the History. Create work object: work objects can be created using Add, AddWork, New…
RULE-OBJ-ACTIVITY WORK- ADD WORK: Call this activity to create a new work object from a Utility or Post-Processing activity. Prior to calling this activity create and populate a new work object page using createWorkPage then use it as the primary page to call this activity. The caller must commit changes using commitWithErrorHandling.
23Q)How to send multiple correspondences at a time?
Ans: Preflight: Starts the Application Preflight tool, which reports warning conditions on the rules in your Application RuleSets. These may indicate guardrail compliance issues, potential performance issues, accessibility status, or other notable conditions.
Application Preflight tool to list each rule in an application that contains a warning message. Warning messages suggest that the rule is at variance with guardrails and other best practices. You can also check for browser compatibility of visual elements. you can extend the set of warnings with a custom activity named Rule-ZZZZ.CheckForCustomWarnings, where Rule-ZZZZ is a rule type. Warnings are maintained as instances of the Index-Warning class and saved in the pr_index_warnings database table.
The standard decision tree rule Embed-Warning.pxWarningDetails controls whether warnings of a specific type are reported in the Application Preflight tool. By default, all are reported; you can override this decision tree rule to choose which to omit. This decision tree tests the property pxWarningType, which can have values indicating the source of the warning, such as: => Java — an activity contains a Java step => API 02 — an activity uses the Version 3 PublicAPI
=> WriteNow — An activity step includes a method with an immediate database writes operation rather than a Commit method.
24Q)How to call an Activity from Java Script?
Function A ()
var urlPath = “./PRServlet” ; var url = urlPath + “?pyActivity=GHC-HPlan-CS-Work.ABC&CSR=” + CSR;
25Q)How to end the work object in the activity (a method used to kill the work object)?
26Q)How to call an Activity from Java step?
Ans: HashStringMap activityKeys = new HashStringMap();
activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );
tools.doActivity(activityKeys , workpage, tools.getParameterPage() );
27Q) How to restrict the harness, section to particular user?
Ans: Using the circumstances or using different access groups and privileges
window.open (urlToRun,”_self”); openUrlInSpace (urlToRun,”");
Where urlToRun refer the activity name
29Q) How a user’s ruleset list is formed ( the logic )?
The system adds entries it finds from the following sources in the order listed. The system adds entries it finds from these sources in the top of the list,
- Requestor : (Data-Admin-Requestor class) — Usually this adds the RuleSets named Pega-RULES, and Pega-IntSvcs and a version or version prefix for these
- Division — As referenced in the Operator-ID instance
- Organization — As referenced in the Operator-ID instance
- Access Group: As referenced in the Operator-ID instance
- Ruleset Versions — Prerequisite RuleSets and Versions to those already compiled
6. Operator ID : If this user has the ability to check out rules, the personal RuleSet (named the same as the Operator ID key) is added last. Also called a private ruleset.
30Q)How to connect external java application without using connect-java?
Ans: SOAP or JMS or IAC s
31Q) Spinoff // split join explain?
Ans: Spin-off shape ( ) onto the flow When a work object advancing through a flow reaches the Spin-off shape, Process Commander starts execution of a different flow, using the current or a different work object. Processing in the current flow rule continues in parallel, without waiting for the other flow to complete.
the Split/Join shape ( ) onto the flow Use the Split-Join shape to require that multiple subflows of your flow be completed before the current flow continues execution. This allows subflows to execute asynchronously, in parallel. For example, see the standard flow Work-.ParallelWork.
Split-ForEach shape ( ) to any locations
The Split-ForEach task provides a form of searching or enumeration over the pages in a property. Use a Split-ForEach shape to iterate over the pages of a Page List or Page Group property. For each page, you can conditionally start a flow execution for the work object.
32Q) Decision/fork usage… Scenarios Decision?
Ans: Decision: Use the Decision task ( ) to reference a map value rule, decision table rule, decision tree rule, or a Boolean expression that when evaluated produces a value that is the basis of branching in the flow. At runtime, the system evaluates the decision rule based on inputs from the flow and the work object and chooses one of the outgoing connectors based on the result. No user interaction or input is required.
Use the fork shape ( ) to represent a point where the flow execution chooses one of a few different paths (connectors) based on tests on the work object. At runtime, the system evaluates the conditions on each outgoing connector, starting with the connector assigned the highest likelihood
33Q) How to expose the column in the blob… of the database?
Ans: Using the Modify Database Schema wizard.