If you're looking for Pega Interview Questions for Experienced or Freshers, you are at right place. There are a lot of opportunities from many reputed companies in the world. According to research, Pega has a market share of about 1.4%. So, You still have the opportunity to move ahead in your career in Pega Development. Mindmajix offers Advanced Pega Interview Questions 2019 that helps you in cracking your interview & acquire dream career as Pega Developer.
Pega vs Appian
|Feature||Pega BPM||Appian BPM|
|Application||Developing applications without hard-coding||
Work automation of enterprise with data management
|Latest Version||Pega - 7.2||Appian - 18.1|
|Supported OS||Windows, Linux, Mac, Web Based.||
Windows, Windows Mobile, Android, iPhone, Mac, Web Based
|Integrations Supported||Data Collection Systems and Various CRMs||Compatible Datasheets|
|Customer Types||Medium and large business||Small, medium and large business.|
1. 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 Obj-Validate method with a Rule-Obj-Validate rule.
A 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 Property-Validate method.
2. What is the difference between Edit validate and Edit Input rules?
Ans: 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 converts 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.
3. Where assignments will be stored in Pega rules database?
Ans: Work List related assignments are stored in pc_assign_worklist.
Workbasket related assignments are stored in pc_assign_workbasket.
4. Where work objects will be stored?
Ans: Work Objects are stored in 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 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.
5. 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.
6. What is StepStatusGood, StepStatusFail rules?
Ans: StepStatusGood is a when the condition defined in @baseclass, this when rule checks whether the value of the pxMethodStatus property is “Good”.
StepStatusFail is a when the condition defined in @baseclass, this when rule checks whether the value of the pxMethodStatus property is “Fail”.
7. How to make any rule as a favorite to your manager?
Ans: Delegate the rule to the manager.
8. Where can I see the parameter values in the clipboard ( values ..) I am passing one activity to others?
Ans: No, it's not possible in the clipboard, but you can see in tracer by clicking page name which in step method column.
9. How to import rules using PZinsky
Ans: Open the rule, from that pick the pzinskey, go to prdbutil and using the pzinskey export the rule Import that zips file where you want.
10. Difference between activity and utility?
Ans: 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.
11. Difference between obj-open and obj-open-by-handled
Ans: Obj-Open: we will get multiple records from a 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 the 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.
12. Inheritance concept in the Pega (rules, class)
Ans: 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
13. Performance of our work in the pega is measured using?
Ans: DBTrace: DBrace 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.
- 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 PegaRULES-ALERT-YYYY-MMM-DD log.
Subscribe to our youtube channel to get new updates..!
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.
14. How to connect to different pega applications?
Ans: Using SOAP, HTTP, JMS, MQ.
15. 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
16. 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 browser 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.
17. How to see the values of the local variables of the activity?
Ans: Using log-message.
18. 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.
19. Default data table where the instance of the class is store (how it will search ) pc_work
Ans: Workbasket assignments are stored in a single pr_assign_workbasket table.
Worklist assignments are stored in a single pr_assign_worklist table.
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.
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.
all Rule related data will be stored in pr4_pegarules. 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.
20. In Routing activity what is the default property used to route the object
Ans: pxRouteTo=Param.AssignTo =” workbasket name” for work basket .s
For work list:
pirouette =Param.Worklist=”true” &&Param.AssignTo =” pxRequestor.pyUserIdentifier” for work list.
Ans: When you want to configure your flow to automatically send notification messages about assignments, connect a notify shape to the assignment. A notify shape identifies a notify activity.
22. ticket: explain any scenario u used
Ans: Use the Ticket shape ( ) to mark the starting point for exceptions that may arise at any point in the flow, such as a cancellation. The ticket is a label for a point in a flow, much like a programming “GOTO” destination.
23. table used to add a note
24. Default activity used to create work object
Ans: There is more than one like Add, CreateWork, and New.
25. Different type of flows. Explain in scenario-based where u used and worked
Ans: A spin-off, Split-Join, and Split for each.
26. 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.
HashStringMapactivityKeys = new HashStringMap(); activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”); activityKeys.putString(“pyClassName”, workclass); activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” ); tools.doActivity(activityKeys , workpage, tools.getParameterPage() );
28. How to end the work object in the activity (a method used to kill the work object)
Ans: Or you can use osafeURL to call an activity
sHashStringMapactivityKeys = new HashStringMap(); activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”); activityKeys.putString(“pyClassName”, workclass); activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” ); tools.doActivity(activityKeys , workpage, tools.getParameterPage() );
Ans: pyActivity=GHC-HPlan-CS-Work.ABC&CSR=” + CSR.
Ans: Using Java you can, maybe using java scripts you can, I not sure
32. How to get a property value from the clipboard using Java step?
ClipboardPageworkpage = tools.findPage(pagename); String propername = workpage.getProperty(“.pxResults.Risk”).toString(); Or String propertyname= tools.findPage(“WorkListPage”).getProperty(“.pxResults.Risk”).toString();
33. How to restrict the harness, section to a particular user
Ans: Using the circumstances or using different access groups and privileges
window.open (urlToRun,”_self”); openUrlInSpace (urlToRun,””);
34. How a user’s ruleset list is formed ( the logic )?
Ans: The system adds entries it finds from 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
- 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 as a private ruleset.
35. How to connect external java application without using connect-java
Ans: SOAP or JMS or IAC s
36. 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.
37. Privileges usage…
Ans: A privilege is an application-specific access control element associated with a class and access role.
A privilege rule is an instance of a Rule-Access-Privilege rule type.
Using privilege rules in an application is optional, but they can offer finer control over access than access roles alone.
38. 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.
Fork: 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
39. How to expose the column in the blob… of the database
Ans: Using the Modify Database Schema wizard.