Pega Interview Questions

Q. What is the difference between Page-Validate and Property-Validate methods?
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 lot of system resources and takes more time. If you want to validate specific properties use Obj-Validate method with Rule-Obj-Validate rule.
Property-Validate method is used to impose restrictions on a property value. Use Edit validate rule along with Property-Validate method to impose restrictions. You can validate multiple properties using Property-Validate method.

Q. What is difference between Edit validate and Edit Input rules?
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 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.

Q. Where assignments will be stored in pega rules database?
Work List related  assignments are stored in pc_assign_worklist.
Work basket related assignments are stored in pc_assign_workbasket.

Q. Where work objects will be stored?
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.

Q. If I have 3 different work objects in my application, how to store them in three different tables?
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.

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

Q. How to make any rule as a favorite to your manager?
Delegate the rule to manager.

Q. Where can i see the paramater values in the clipboard ( values ..) i am passing one activity to other ?
No  its  not possible  in clipboard, but  you can  see in tracer by clicking   page name which in step method column.

Q. How to import rules using pzinskey
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.

Q. 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.

Q. Difference between obj-open and obj-open-by-handled
Obj-Open  : we will get multiple records from  table  based  on the criteria  from the  specified  class. Or Opens an instance of a given class
OBJ-open-handle:  here we have have to pass the pzInskey  as a instance handle, this mehod will  open only  one record at time. Or  Open object by 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.

Q. Inheritance concept in the pega (rules, class)
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

Q. 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

 

Q. How to send multiple correspondences at a time?

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 write operation rather than a Commit method.

Q. How to call an Activity from Java Script?

HashStringMapactivityKeys = new HashStringMap();
activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”);
activityKeys.putString(“pyClassName”, workclass);
activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );
tools.doActivity(activityKeys , workpage, tools.getParameterPage() );

Q. How to end the workobject in the activity ( method used to kill the work object)

Using java script.

Q. How to call an activity from the java, java script ?

Or you can use osafeURL to call an activity
Using java :
sHashStringMapactivityKeys = new HashStringMap();
activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”);
activityKeys.putString(“pyClassName”, workclass);
activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );
tools.doActivity(activityKeys , workpage, tools.getParameterPage() );

Q. How to pass parameters to the activity using the java, JavaScript?

pyActivity=GHC-HPlan-CS-Work.ABC&CSR=” + CSR.

Q. How can I pass page as the parameter to the activity using java, JavaScript?

Using java you can, may be using java scripts you can , I not sure

Q. How to call an Activity from Java step?

HashStringMapactivityKeys = new HashStringMap();
activityKeys.putString(“pxObjClass”, “Rule-Obj-Activity”);
activityKeys.putString(“pyClassName”, workclass);
activityKeys.putString(“pyActivityName”, “HistoryAndAttachments” );
tools.doActivity(activityKeys , workpage, tools.getParameterPage() );

Q. How to get a property value from 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();

Q. How to restrict the harness, section to particular user

Using the circumstances or using different access groups and privileges
List different functions used to call an activity from java script.
window.open (urlToRun,”_self”);
openUrlInSpace (urlToRun,””);

Q. How a user’s ruleset list is formed ( the logic )?

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 private ruleset.
Q. How to connect external java application without using connect-java

SOAP or JMS or IAC s

Q. Spinoff // split join explain

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 an 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.

Q. Privileges usage…

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

Q. What is the difference between Page-Validate and Property-Validate methods?

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 a property value. Use Edit validate rule along with Property-Validate method to impose restrictions. You can validate multiple properties using Property-Validate method.

Q. What is difference between Edit validate and Edit Input rules?

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 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.

Q. Where assignments will be stored in pega rules database?

Work List related assignments are stored in pc_assign_worklist.
Work basket related assignments are stored in pc_assign_workbasket.

Q. Where work objects will be stored?

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.

Q. If I have 3 different work objects in my application, how to store them in three different tables?

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.

Q. What is StepStatusGood, StepStatusFail rules?

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

Q. How to make any rule as a favorite to your manager?

Delegate the rule to manager.

Q. Where can i see the paramater values in the clipboard ( values ..) i am passing one activity to other ?

No its not possible in clipboard, but you can see in tracer by clicking page name which in step method column.

Q. How to import rules using pzinskey

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.

Q. 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.

Q. Difference between obj-open and obj-open-by-handled

Obj-Open : we will get multiple records from table based on the criteria from the specified class. Or Opens an instance of a given class
OBJ-open-handle: here we have have to pass the pzInskey as a instance handle, this mehod will open only one record at time. Or Open object by 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.

Q. Inheritance concept in the pega (rules, class)

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

Q. 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 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.

Q. How to connect to different pega applications?

Using SOAP, HTTP, JMS, MQ.

Q. How to store the instance of the class in a specific database?

Creating the separate DB table for that work class with in the DB, or map to external db and further saves will go to that DB

Q. Difference between obj-list, rdb-list?

Obj-list : Retrieve to a page, read-only, a selected set of properties Import ant 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 Retrive 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 RuleObjList parameter, this is the class of the list to use.

Q. How to see values of the local variables of the activity?

Using log-message.

Q. How can I store the instance of the class in the data base?

Creating the separate DB table for that work class with in the DB, or map to external db and further saves will go to that DB.

Q. Default data table where the instance of the class are store (how it will search ) pc_work

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 for 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 Data- base 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 insstances that belong to a class that is not mapped to any other tables.

Q. In Routing activity what is the default property used to route the object

pxRouteTo=Param.AssignTo =” work basket name” for work basket .s
For work list:
pxRouteTo =Param.Worklist=”true” &&Param.AssignTo =” pxRequestor.pyUserIdentifier” for work list.

Q. Notify

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.

Q. ticket: explain any senarion u used

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.

Q. table used for add note

pc_data_workattach.

Q. Default activity used to create work object

There is more than one like Add, CreateWork, and New.

Q. Different type of flows. Explain in scenario based where u used and worked

Spin-off, Split- Join and Split for each