Pega Interview Questions and Answers
Pega Interview Questions and Answers for beginners and experts. List of frequently asked Pega Interview Questions with answers by Besant Technologies. We hope these Pega interview questions and answers are useful and will help you to get the best job in the networking industry. This Pega interview questions and answers are prepared by Pega Professionals based on MNC Companies expectation. Stay tune we will update New Pega Interview questions with Answers Frequently. If you want to learn Practical Pega Training then please go through this Pega Training in Chennai.
Besant Technologies supports the students by providing Pega interview questions and answers for the job placements and job purposes. Pega is the leading important course in the present situation because more job openings and the high salary pay for this Pega and more related jobs. We provide the Pega online training also for all students around the world through the Gangboard medium. These are top Pega interview questions and answers, prepared by our institute experienced trainers.
Here are the list of most frequently asked Pega Interview Questions and Answers in technical interviews. These questions and answers are suitable for both freshers and experienced professionals at any level. The questions are for intermediate to somewhat advanced Pega professionals, but even if you are just a beginner or fresher you should be able to understand the answers and explanations here we give.
UI and Property In PEGA
1. What is a defer load? Is it possible to defer load the values in a drop-down?
Defer load means, suppose u can use any tabbed Section in that situation u want to load the data on each tab u can write one activity to retrieve data, then a large amount of data will be loaded in clipboard, Its a performance hit to load the more data in clipboard, So in that situation we can use Defer load option it will prevent performance because while u Check the Defer load option it will ask some activity on each tab Cell properties, so whenever the particular tab is opened then relevant activity only will be fired and load the related data…So it will Avoid the performance. Yes we can load the values in dropdown
Declare Pages In PEGA
2. Advantages and limitations of declare page?
The main Advantage of the Declare pages is, It prevents the multiple DB hits , Suppose is there multiple requestors in that node whenever first user login into the application then load activity will be fired and create a declare page and then loaded the data in that page, requestors who can on that node will show this declare page and use the data on that page.
The Disadvantages are its read-only to the requestors, and can not add the additional data and can’t delete the specific data.
3. Difference between declare page and regular pages?
Declare pages are created through declarative rules, Declare keyword must be specified while creating a declare page, Declare pages are read-only pages, These pages Can’t delete, update directly.
User pages are created through page new method in an activity, these pages can be updated, deleted directly, these pages automatically deleted once logout from the system.
4. Difference types of declarative rules present?
Declare Expressions, Declare Constraints, Declare On change, Declare trigger, Declare Index.
5. How do u specify if expression triggers forward or backward chaining?
In the Chain tracking tab.
6.How between chaining process works in Pega? (Goal Seek)
It will search the first on dependency network After checking the dependency the execution Starts from Lower expression to higher expression. In Activity, u can use goal-seek-property to find the missing value of the property.
Reports In PEGA
7. What type of Reporting features are provided by Pega?
List View and Summary View
8. What is the difference between ListView and SummaryView ?
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.
9. How to call a listview from an Activity?
In an activity, the Obj-List-View can execute a list view rule.
10. What is Paging in a listview?
To divide the ListView into different pages and set the number of records to be displayed on a page.
11. What is exposing a property?
Exposing a property means to make a property as a separate independent column so that it can be used in SQL queries and as a criteria in reporting.
12. How to expose a single value property?
Process Commander stores the values of all aggregate properties and some Single Value properties in a BLOB column (the Storage Stream) usually in a compressed form. Such properties cannot support selection in list view and summary view reports and can slow retrieval and processing in other operations
- Select Tools > Database > Modify Database Schema.
- A list of databases identified in Database data instances appears. Select a database and click Next.
- A list of tables in the selected database appears from Database Table instances. Select a table.
- Click Explore Columns.
- The resulting List of Classes window displays the number of rows in the table, the number of columns in the table and a list of the classes assigned to that table. The Properties Set to Be Visible value counts the properties for which the Column Inclusion value is Required or Recommended. This Column Inclusion value is advisory and does not indicate whether the property is exposed — corresponds to a column. The Count column shows the total count of properties in this class plus those its parent classes.
- To see the columns currently defined in this table, click the numeric link labeled Number of columns in this table.
- The List of Database Columns window shows the column name, column data type, and column width in bytes for each column in the table.
13. How to expose aggregate property?
Declare Index rule is a better approach.
- Create a concrete class derived from the Index-base class.
- Create Single Value properties in the new class to hold the values of the embedded values.
- Create a Declare Index rule with the appropriate embedded Page Context value that copies the embedded values into a new Index-instance.
- Save the Declare Index rule. It executes immediately, adding and deleting instances of the new class.
- Expose database columns corresponding to the Index-class.
- Reference the Index- properties in the list view rule.
14. Can we refer the property without exposing in Reports?
We can refer the properties in Display tab without exposing. But we can’t refer the property without exposing in Criteria fields of the Content tab.
15. What is the activity responsible for getting the data in List View?
16. What the class of getContent Activity?
17. Can or have you customize the getContent Activity?
18. How to customize the getContent Activity?
Step1: Create Activity in Our Class and create the New page
Step2: write a query and store invariable.
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 the previous activity.
Step6: write Java method The java code in this method is Get the page from pyContentPage if a page already exists. If a 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.
19. How do we get the data from the two different tables?
Using Join tab in Reports
20. How do we fetch the data from two different tables without using two different tables?
Write a database View. In this view logically combine the Two different tables. Create a class for this logically combined Table. Write the ListView. Applies to class is class of the Combined table. So we can refer the properties of both the tables in list view.
21. What is the use of HTML property in ListView?
HTML Property rules appear in list view and summary view rules to define the appearance of values in reports.
22. Consider this scenario: I need to generate a list view report of all the work objects created on a particular date and then I need to include this list view in a section. How can this be done?
Select .pxCreateDateTime ( an exposed property ) under criteria and give the value you are looking for. To include it in a section, check the embedded checkbox and customize the HTML of the section. In that, we need to access the list view in a JSP tag or In the section, Property is DisplayAs ListView.
23. What is the difference between List View and Obj-List?
List view is generally used for complex queries where sorting is required and also we can retrieve less information using Paging.
24. Explain in brief the configuration of a list view?
List view (an instance of Rule-Obj-ListView ) is used to define a custom report or personal version of a report.
A list view can be configured as follows:
- Applies to a class of list view will be taken as the database table map for the search criteria.
- Display fields tab is used to depict the fields that are displayed along with category and to enable/disable sorting.
- The content tab is used to depict the criteria, fields to be retrieved, the key of each row (if selected) and Report source (Page name where the values should be saved and the activity to be called).
- In the organize tab we specify to enable/disable paging, page size, mode, alignment etc.
- We can also configure additional buttons and their fragments here.
- Format tab is used to depict the formatting of the list (like even/odd coloring) and details on single click etc.
- The list view can be accessed from an activity or HTML as follows:
- Call Rule-Obj-List View. Show View activity with the class name and list view name as parameters
A list view can be used for complex retrievals from the database by not specifying the display, format and Organize table. Action, in that case, would perform instead of refresh.
25. Explain in brief about the configuration of a summary view?
Summary views are used to create reports which are grouped by certain criteria and can be later drilled down.
A Summary view can be configured as follows:
- Applies to the class of summary view will be taken as the database table map for the search criteria
- The category is used to know under which tab the report should come.
- Criteria are used in the where the class (this can be asked to a user by enabling prompt user)
- Group by and field functions (like count) are used for initial display. If we have more than one group by it is Displayed one after another on clicking +
- Drill down fields are used to display the fields when we click on the assignment.
- The format is used to tell how to format the display and charts can also be used.
The summary view can be accessed from an activity or HTML as follows:
– Call Rule-Obj-ListView.ShowView activity with the class name and summary view name as parameters
26. Difference between list Obj-list-view results and obj-browse?
We can retrieve instances from multiple classes by using the obj-list-view, In obj-browse, we can retrieve only Single Class Instances.
Agents In PEGA
27. What is an Agent?
An agent is an internal background process operating on the server that runs activities on a periodic basis. Agents route work according to the rules in our application.
Agents also perform system tasks such as sending e-mail notifications about assignments and outgoing correspondence, generating updated indexes for the full-text search feature, synchronizing caches across nodes in multiple node systems, and so on.
28. How do we create an Agent?
New à SysAdmin à Agents. Rule Set name is the Agent name. The agent is an instance of Rule-Agent-Queue.
29. Do we need to create Agent Schedule?
No. Agent schedules cannot be created manually. The Agent Manager on our Process Commander system generates at least one agent schedule instance for each agent rule.
By default, the Agent Manager checks for new or updated agents rule once every ten minutes. After we create an agents rule, the Agent Manager generates one Agent Schedule instance for each node running on your Process Commander system the next time it checks for new agents rules.
30. Do we need to migrate Agent Schedule to other environments?
31. What is the Agent running time intervals?
Each agent activity runs individually on its own interval schedule, as a separate requestor thread.
Periodic — The agent runs the activity and then “sleeps” for the number of seconds entered in the Interval column.
Recurring — The agent runs the activity based on a specified calendar schedule (for example, every Monday at 5:00 P.M.).
32. What are the Agent Running modes?
Queue mode indicates whether the agent uses the agent queue capability to process items from the agent queue. This feature allows the agent to temporarily skip over items that fail — for example, because a needed resource is locked and try again later to process the item later. Standard — Specifies that this agent processes items from an agent queue and that it relies on the system to provide object locking and other transnational support.
Advanced — Specifies that this agent uses custom queuing
Legacy — specifies that this is an agent that was created in a version prior to V5.4 and has not yet been updated. This option is not available for agents created in V5.4 or later.
33. What is the use of referring Access Group in Agents?
Agent activity calls another activity. This called activity may not appear in agent rule set. So setup of the Rule setlist and Roles by providing Access group in security Tab.
Select the access group to use for the legacy and advanced agents listed in this rule. This field is ignored for agents with a type of Standard.
34. How do we Troubleshoot or Trace an Agent?
Verify the above tag in prconfig file. Value of the above tag is true or false.
- In Agent Schedule, schedule tab verifies the checkbox Enable this agent is Checked or Not. And also verify the Enabled? The checkbox is checked or Not.
- The same thing also checks in Agents Rule.
- In Tracer, we can trace the particular operator or particular Agent.
- In prsysmgmt portal, In Agent Management select the particular Agent and Delay the Agent and then run the Tracer.
- We can use the Agent Management link in the System Management Application to monitor and control agent processing. The agent runs on different nodes, select the particular node and run the Tracer.
35. What are the Agents for SLA and Correspondence?
The agents in the Pega-ProCom RuleSet process e-mail, service level rules, and assignments, archive work objects, and so on.
The agents in this rule provide the following types of processing:
- Processing service level events and escalation. Applying a flow action to assignments in bulk. Sending out e-mail correspondence
- Archiving and purging work objects, attachments, and history
- Retrieving PDF files from the PegaDISTRIBUTION Manager
- Running tests defined through the optional Automatic Testing facility
- Checking incoming e-mail
- The activity System-Queue-ServiceLevel.ProcessEvents supports service level processing for both assignments and work objects.
- The activity Data-Corr-.Send supports outgoing e-mail if your system contains one or more Email Account data instances with a second key part of Notify.
36. Who will create Data-Agent-Queue?
The Agent Manager is a master agent that gathers and caches the agent configuration information set for our system when Process Commander starts. Then, at a regularly scheduled interval, it determines whether any new agents rules were created during the last period. If there are new agents rules, the Agent Manager adds them to its list of agents and generates agent schedule data instances for them for each node.
37. What are the Standard Agents?
Our system includes three standard agents rules. Because these agents rules are in locked RuleSets, we cannot modify them. To change the configuration settings for the agents listed in these rules, update the agent schedules generated by the agents rule.
Five agents in the Pega-IntSvcs RuleSet process queued service and connector requests and perform maintenance for PegaDISTRIBUTION MANAGER (formerly called Correspondence Output Server, or COS).
The agents in the Pega-ProCom RuleSet process e-mail, service level rules, and assignments, archive work objects, and so on.
The agents in this rule provide the following types of processing:
- Processing service level events and escalation
- Applying a flow action to assignments in bulk
- Sending out e-mail correspondence
- Archiving and purging work objects, attachments, and history
- Retrieving PDF files from the PegaDISTRIBUTION Manager
- Checking incoming e-mail (deprecated in V5.3)
The agents in the Pega-RULES RuleSet perform general system housecleaning and periodic processing.
The agents in this rule provide the following processing:
- System Cleaner
- System Pulse
- System Indexer
- Rule Usage Snapshot
- Static Content Cleaner
- System Work Indexer
38. What is the use of Data-Agent-Queue?
When you need to modify the behavior of an agent listed in an agents rule in a locked RuleSet (any of the standard Process Commander agents rules, for example) you do so by editing one or more of the generated
Service Level Agreements(SLA)
39. What is a Service Level Agreement?
A service level rule is an instance of the Rule-Obj-ServiceLevel type. Each service level rule defines one to three-time intervals, known as goals, deadlines, and late intervals, that indicate the expected or targeted turnaround time for the assignment, or time-to-resolve for the work object. The gaol time is the smallest time interval, the deadline time is a longer interval, and the late interval defines post-deadline times. Each time interval is in days, hours, minutes, and seconds.
40. What are the types of SLA? Where can they be defined?
Service level rules can be associated with a work object or an 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.)
41. How do we do Escalation?
Escalation refers to any processing within a Process Commander application that causes high-priority work objects to become visible to users and managers and to be processed sooner rather than later. The numeric property known as urgency determines the order that assignments for that work object appear on worklists. Escalation recalculates the urgency value to reflect its age, impending due date, or explicit management inputs.
Escalation can occur through a service level rule associated with the flow and through background processing by the Pega-ProCom agent.
42. What is SLA’s, how are they different from Agents?
A service level rule is an instance of the Rule-Obj-ServiceLevel type. The service level can define a goal and a deadline times for processing an assignment and can execute activities if the goal or the deadline is not met. This assignment-level service level is distinct from any service level associated with the entire flow. At runtime, an internal countdown clock (measuring the completion of the assignment against the goal and deadline times computed from the service level rule) starts when the assignment task is created. An agent is a background internal requestor operating on the server. These requestors can periodically monitor conditions and perform processing as necessary. Most agents are defined by an Agent Queue rule (Rule-Agent-Queue), which includes a list of the activities they perform.
43. How to implement SLA’s? Is it possible to define an SLA for the entire work object? If yes, how?
SLA’s are always associated with an assignment. Just drag an SLA shape and provide an instance of Rule-Obj-ServiceLevel.
Yes, SLA can be defined for the entire work object by defining it in the model. The property for this is pySLAName.
44. How to restrict a flow to particular users?
By using privileges and when conditions under the process tab of the flow instance.
Flow Actions In PEGA
45. What are the types of Flow Actions?
A flow action rule controls how users interact with work object forms to complete assignments. Each flow action is defined by an instance of the Rule-Obj-FlowAction rule type.
Flow actions are of two types:
Connector flow actions appear as lines on Visio presentation in the Diagram tab of a flow rule. A line exits from an assignment shape and ends at the next task in the flow. At runtime, users choose a connector flow action, complete the assignment, and advances the work object along the connector to the next task.
A local flow action, when selected at runtime, causes the assignment to remain open and on the current user’s work list. Local flow actions are recorded in the Assignment Properties panel and are not visible on the Visio flow diagram.
46. What is the Difference between Connector Flow Action and Local Flow Action?
A local flow action permits users at runtime to update, but not complete, an assignment. Local flow actions always are optional. Users may perform none, one, or multiple local flow actions, or repeat a local flow action multiple times.
At runtime, users choose a connector flow action, complete the assignment, and advances the work object along the connector to the next task.
47. Explain about Pre Activity?
At runtime, the system runs this activity before it does other processing for this flow action. This activity is not visible on the Visio flow diagram. This activity executes only once, the first time a user selects this flow action for this assignment.
48. Explain about Post Activity?
Activity to run after other successful processing of this flow action.
For screen flow rules By default, when this flow action appears as a step in a screen flow rule, and the user at runtime clicks away to a different step in the screen flow rule, this activity rule does not run. To cause this activity to execute when the user clicks away to a different step, select the Post Action on Click Away? a checkbox on the Assignment shape properties panel.
49. Explain about Local Flow Action?
A local flow action permits users at runtime to update, but not complete, an assignment. Like connector flow actions, local flow actions are referenced inside an assignment task in a flow.
At runtime, users can select local flow actions to update assignment or work object properties, change the assignee, and so on but do not complete the assignment. If a service level rule is associated with the assignment, the service level continues to run.
Local flow actions always are optional. Users may perform none, one, or multiple local flow actions, or repeat a local flow action multiple times. On the Action tab of the Flow Action form, we can mark a flow action rule as local, or connector, or both.
50. How do we make one Local Action available in all Assignments?
On the Design tab of the Flow form, we can list local flow actions that are to be available at every assignment in the flow.
Property’s In PEGA
51. What is the Property?
- A Property is an instance of the Rule-Obj-Property rules type.
- The property defines and labels a value that can be associated with a class.
- For instances contained in the database, a property often corresponds to a relational database column.
52. What are the Property Modes?
|Single||Array or List||Group|
|Value modes||Single Value||Value List||Value Group|
|Page modes||Page||Page List||Page Group|
|Java Object mode||Java Object||Java Object List||Java Object Group|
|Java Property modes||Java Property||Java Property List|
53. Explain with an example the difference between Rule-Edit-Input and Rule-Edit-Validate?
Edit input rules are instances of the Rule-Edit-Input class. They are part of the Property category.
- An Edit Input rule provides a conversion facility.
- Use Edit Input rules to convert data entered by a user (or received from an external system) from a format that our application doesn’t use into another format.
- Edit input rules perform conversions, not validations. This rule type does not cause any response to a userabout the validity of the input.
- Edit input rules use Java code for the conversion.
- We can reference an edit input rule in the Edit Input Value field on the Property form.
Edit validate rules are instances of the Rule-Edit-Validate class. They are part of theProperty category.
- Use the Edit Validate form to define a Java routine that tests the validity of an input value in an activity that processes user input.
- Properties rule (of mode Single Value, Value List or Value Group) may reference an edit validate rule on the Advanced tab.
- Use the Property-Validate method in an activity to execute the edit validate rule when a value is submitted through a user input form.
54. How Rule-Edit-Validate is different from Rule-Obj-Validate?
Edit Validate is to validate a single property at a time but obj validate rules are used to validate all the properties in a single go. Obj-Validate method is used for this purpose.
55. How one single property can be represented in different forms on a screen?
By using HTML Properties at the section level, not at the property level.
56. Consider this scenario : I have a property of type decimal, I need to restrict it to two decimal places only. How easily this can be done?
By using a qualifier “pyDecimal Precision” under Qualifiers tab.
57. How to implement dynamic select and smart prompt? What’s the major difference between them?
Implementation of Dynamic Select:
- In properties panel select Display As is DynamicSelect.
- Write Activity for generating Dynamic Select.
- By using Show-Page method display the data in XML format.
- Dynamic Select is a drop down from which we can only select a value.
- Smart prompts acts both as a text box and a drop down.
- Smart prompts are implemented by using ISNS_FIELDTYPE, ISNS_CLASS, ISNS_DATANODE.
58. What is the difference between Page and Page List property, how are they Implemented?
Page property refers to a particular class and is used to access the property of that class.
Page List Property also refers to a particular class, but it’s a collection of individual pages of the same class which can be accessed through numeric indexes.
59. What is HTML Property?
- HTML Property rules are instances of the Rule-HTML-Property class. They are part of the Property category.
- Use HTML Property rules to control how properties appear on work object forms, correspondence, and other HTML forms, for both display and for accepting user input.
- For properties of mode Single Value an HTML Property rule may be identified in the Display Property field of the Property rule form.
- HTML Property rules also may appear in list view and summary view rules to define the appearance of values in reports, and in harness, section, and flow action rules that define work object forms.
60. Explain about Special Properties?
Standard properties means all the properties in the Pega-RULES, Pega-IntSvcs, Pega-WB, and Pega-ProCom RuleSets have names start with px, py, or pz.These three prefixes are reserved. We cannot create new properties with such names. We can override these standard properties with a custom property of the same name (without changing the mode or Type).
Px: Identifies properties that are special, meaning that the values cannot be input by user input on an HTML form.
Py: Properties with names that start with py are not special, meaning that values can be input by users on an HTML form.
Pz: Properties with names that start with pz support internal system processing. Users cannot directly manipulate pz properties. our application may examine these values, but do not set them. The meaning of values may change with new product releases.
VALIDATIONS In PEGA
A validation rule is used to validate the value against some other value. Once the validation fails the system add error message to that field in the clipboard.
61. What types of validations are there?
- Client Side Validations
- Server Side Validations
62. What are the Methods we have used for validations?
- Obj-Validate–we can be referred this method in Activities and inflow actions at Validate Rule field.
- Edit-Validate—- we can refer this in property form at the edit-validate field and in activities through property-validate method.
Note: I think Obj-Validate is used for Server Side Validation and Edit-Validate is used for Client Side Validation.
63. How do you add the custom message to the Property when it fails the Validation?
For this, we have to use the property.addMessage(“your message”) tag.
64. The message is set to the property and the checked in the clipboard also, the messages got set successfully. But the message is not displayed beside the field in the screen. Why..?
If the property has an HTML property, the tag
Activities Or Methods In PEGA
65. Explain the operation of Activity-End method?
Use the Activity-End method to cause the system to End the current activity and all calling activities.
Ex: if Alpha calls Beta, which calls Gamma, which calls Delta, which performs the Activity-End method, all four activities are ended.
66. Explain about the Exit-Activity method?
The Exit-Activity method ends the current activity and returns control to the calling activity.
67. Explain about the Page-Copy method?
The page-copy method is used to copy the contents of a source clipboard page to a new or previously created destination clipboard page. The source page is not altered.
After this method completes, the destination page contains properties copied from the source page and can contain additional properties from a model.
68. Explain about the Page-New method?
The Page-New method is used to create a page on the clipboard. The new page may be a top-level page or an embedded page.
We can identify a model to initialize the newly created page. The model can set values for one or more properties.
69. Explain about Page-Remove method?
Page-Remove method is used to delete one or more pages from the clipboard. The contents of the database are not affected.
70. Explain about the Page-Set-Messages method?
Use the Page-Set-Messages method to add a message to a clipboard page. Like a message associated with a property, a message associated with a page normally prevents the page from being saved into the database.
71. Explain about Property-Set-Message?
The property-set-message method is used to associate a text message with a property or a step page. The system reads the appropriate property and adds the message to the page. We can provide the entire literal text of the message, or reference a message rule key that in turn contains message text. (Rule-Message rule type).
72. Explain about Property-Map-DecisionTable method?
Use the Property-Map-DecisionTable method to evaluate a decision table rule and save the result as the value of a property.
73. Explain about the Property-Map-DecisionTree method?
The Property-Map-DecisionTree method is used to evaluate a decision tree rule (Rule-Declare-DecisionTree rule type) and store the result as the value of a property.
74. Explain about Property-Map-Value?
The Property-Map-Value method evaluates a one-dimensional map value (Rule-Obj-MapValue rule type) defined in the parameter. The method sets the result as a value for a Single Value property.
The related method Property-Map-ValuePair works similarly for two-dimensional map values.
75. Explain about the Property-Remove method?
Property-Remove method is used to delete a property or properties and its associated value from the step page or another specified page. This does not affect the property rule, its definition.
76. Explain about the Property-Set method?
Property-Set method is used to set the value of one or more specified properties.
77. Explain about Show-HTML method?
The Show-HTML method is used to cause the activity to process an HTML rule and send the resulting HTML to a user for display by Internet Explorer. This may involve the interpretation of JSP tags (or the older directives), which can access the clipboard to obtain property values, or can insert other HTML rules, and so on.
78. Explain about Show-Page method?
The Show-Page method is used to send an XML representation of the step page to a user’s Internet Explorer browser session, as an aid to debugging.
Note: Use Show-Page and Show-Property only for debugging.
79. What is the difference between Call and Branch?
The Call instruction calls the another specified activity and executes it. When that activity completes, control returns to the calling activity. Use the Branch instruction to find another specified activity and branch to it without a return. When the system executes a Branch step, control transfers to another activity found through rule resolution. Execution of the original activity pauses. When the branched activity ends, processing of the current activity also ends. No steps after the Branch step are executed.
What is OBJ Methods?
At runtime, five methods (Obj-Browse, Obj-Filter, Obj-List, Obj-List-View, and RDB-List), list view rules, and summary view rules use a page of the class Code-Pega-List
Code-Pega-List class as a source of search criteria and to hold output. Typically, such pages are named Results, pyQueryResultPage, or pyViewLookupList. Search results (which support rows of report output) are stored as pages in the pxResults() property, a Page List.
Code-Pega-List is a concrete class, pages of this class exist only on the clipboard. They are never saved to the PegaRULES database.
80. Explain about Obj-List Method?
The obj-list method is used to retrieve data to the clipboard as an array of embedded pages.
This method creates one embedded page for each instance retrieved.
The Obj-List-View method often produces more efficient SQL statements and provide better performance than the Obj-List method.
81. Explain about the Obj-Browse method?
The obj-browse method is used to search instances of one class and copy the entire instances, or specified properties, to the clipboard as an array of embedded pages.
Only properties exposed as columns can be used as selection criteria. However, values of properties that are not exposed as columns, including embedded properties, can be returned.
82. Explain about Obj-List-View method?
The obj-list-view method is used to execute the retrieval and sorting operations, but not the formatting and display processing, of a list view rule. The system uses rule resolution to find the list view rule and executes it, but does not produce any HTML output display.
83. Explain about the Obj-Open method?
The obj-open method is used to open an instance stored in the PegaRULES database or in an external database linked to an external class and save it as a clipboard page.
The system uses the specified class and key fields to find and open the object and place its data into the specified step page. The system searches up the class hierarchy as appropriate to find the instance. If it finds the specified step page, the system clears any data that is on it and reuses the page. If no existing page has a name matching the specified step page, the system creates a new page.
84. Explain about the Obj-Open-By-Handle method?
Use the Obj-Open-By-Handle method only if we can determine the unique handle that permanently identifies which instance to open. Otherwise, use the Obj-Open method.
85. Explain about the Obj-Delete method?
The obj-delete method is used to delete a database instance corresponding to a clipboard page and optionally to delete the clipboard page too. We can cause the deletion to occur immediately, or until execution of a Commit method. This method can operate on objects of both internal classes (corresponding to rows in a table in the PegaRULES database) and external classes (corresponding to rows in an external relational database). The Obj-Delete method uses the class of the page to obtain the appropriate Rule-Obj-Class instance. It uses the table name, key fields, and other aspects of the class rule to mark the instance for deletion.
We can reverse or cancel a previously executed Obj-Delete method by using the Obj-Save-Cancel method.
86. Explain about the Obj-Save method?
- The obj-save method is used to save a clipboard page to the PegaRULES database or if the page belongs to an external class save a clipboard page to an external database.
- The Obj-Save method uses properties on the page to derive the internal key under which it will be saved.
- This method can create a new database instance or overwrite a previous instance with that key.
- We cannot save a page that is locked by another requestor.
- We cannot save a page that our session does not hold a lock on (if the page belongs to a lockable class),unless the object is new, never yet saved.
- We cannot save pages of any class derived from the Codebase class or the Embed- base class. Such pages exist only on the clipboard.
87. Explain about the Commit method?
Commit method is used to commit all uncommitted database changes. This method writes all the instances specified by one or more earlier Obj-Save methods to the PegaRULES database (for internal classes) and to external databases (for external classes).
88. Explain about the Obj-Validate method?
The obj-validate method is used to apply a validate rule (Rule-Obj-Validate rule type) for the object identified on the primary page or step page. A validate rule (Rule-Obj-Validate rule type) can call edit to validate rules (Rule-Edit-Validate rule type).
89. Explain about Obj-Sort method?
Obj-Sort method is used to sort the clipboard pages that are the values of a property of mode Page List.
We can specify one or more properties to sort on, and whether the sort sequence is ascending or descending for each sort level.
RDB Methods In PEGA
Use Connect SQL rules and RDB methods only with an external database. Do not use Connect SQL rules or RDB methods for the PegaRULES database(s). Because not all properties in the PegaRULES databases are distinct database columns, use the Obj-Open and Obj-Save methods, not the RDB- methods, with the PegaRULES database to prevent loss of data.
90. Explain about the RDB-List method?
The RDB-List method is used to retrieve rows from an external relational database and place the results as embedded pages in a specified step page of classCode-Pega-List.
This method references a Connect SQL rule instance and executes SQL statements stored in the Browse tab of that rule instance. The search can do anything we can specify in a SQL statement, such as a SELECT WHEREstatement. Any constraints on the returned data are in the SQL.
91. Explain about the RDB-Open method?
The rdb-open method is used to retrieve a single row (record) of data from an external relational database and add the retrieved data into a specified clipboard page as property names and values.
Use this method in conjunction with a Connect SQL rule that contains SQL SELECT or EXECUTE statements in the Open tab. Define the SQL statements so that the database returns exactly one row.
92. Explain about the RDB-Save method?
RDB-Save method is used to save the contents of a clipboard page into a row of a relational database. The system saves the properties on the specified step page to the specified table in the database.
This method operates in conjunction with a Connect SQL rule that contains SQL statements such as INSERT, UPDATE, and CREATE statements on the Save tab.
93. Explain about the RDB-Delete method?
The rdb-delete method is used to delete a row or rows from an external relational database using SQL.
This method operates in conjunction with an SQL statement in the Delete tab of a Connect SQL rule (Rule-Connect-SQL rule type) that contains the DELETE, TRUNCATEor DROP SQL statement.
Circumstance In PEGA
94. What is Circumstance? How does it work?
A circumstance is an optional qualification available for all rules. Using a circumstance allows our application to support multiple variants of a rule. For example, variations of an ordinary rule instance can be created for different customer status levels or for different geographic locations.
A circumstance-qualified rule instance (often referred to as a “circumstanced rule”) is always based upon an unqualified rule instance (base rule).
We can circumstance a base rule with a single property and its value, or with multiple properties and their values (called multivariate circumstancing).
The circumstanced rule is executed during rule resolution if the value of the circumstance property on the rule matches that property’s value on the clipboard at runtime.
95. How do we create the circumstance-qualified rule?
To create a circumstance-qualified rule, first, define an unqualified or base rule instance (with the Circumstance values left blank).
Then use the toolbar Save As button to create a second rule qualified by a circumstance.
If the original rule has an Applies To class as an initial key part, the circumstance-qualified rule must have the same Applies To class or a subclass derived from that class.
96. Explain about single circumstance and multivariate circumstancing?
If we use a single circumstance property, we define the property name and its value directly in the Save As form.
If we use multivariate circumstancing, two rules in the Save As form:
Circumstance Templates (Rule-Circumstance-Template rule type)
Circumstance Definitions (Rule-Circumstance-Definition rule type)
97. Explain about circumstance template rule?
Circumstance template rule is used to identify properties for multivariate circumstanced rules.
98. Explain about Circumstance definition rules?
Circumstance definition rules contain a table of values for the properties in circumstance template rules.
99. How to change Rule Availability?
To change the availability setting of a rule, click the Availability toolbar button We may need to check out the rule first. A dialog box appears. Select one of five Availability values Yes, No/Draft Mode, Blocked, Final, Withdrawn.
- Class, library, RuleSet Name, and RuleSet version rules are always available. We cannot change the availability of instances of these rule types.
- Rules in an override RuleSet cannot have availability values of Blocked orWithdrawn.
100. Explain if the Rule Availability is set as YES?
A circle and dot indicate that this rule is available. Rules with a Yes value is visible to rule resolution processing and can be executed.
101. Explain if the Rule Availability is set as No/Draft Mode?
An empty circle indicates a rule that is not available. Set the Availability of a rule toNo/Draft Mode to cause the rule to become invisible to the rule resolution algorithm for all users (including yourself), and to bypass validation of non-key fields. The No/Draft Mode setting is useful for experimentation and troubleshooting to assess the effect of two rule versions.
102. Explain if Rule Availability is set as Final?
A rule is marked as final, no one can create a second rule with the same visible key in any RuleSet other than the RuleSet that the first rule belongs to. If the RuleSet version of a final rule is locked, we cannot create a second rule with the same visible key in any RuleSet.We can override a final rule through a higher version in the same RuleSet.Many rules in the Pega-RULES and Pega-ProCom RuleSets are marked Final because correct operation of these rules is essential to ensure the integrity and security of our system. Other standard rules have the Available field set to Yes rather than Final we can override those rules in our application.
NOTE: We cannot use circumstances or time-qualified rules to override a final rule.
103. Explain if Rule Availability is set as Blocked?
A circle within an X indicates that this rule has Availability set to Blocked. Set the value of this property to Blocked if we want rule resolution processing to halt (with no rule found) when it encounters this rule. The rule form colors change from greens to grays. This is a stronger form of No/Draft because it affects all lower-numbered versions of the rule and versions (in other RuleSets) that are below this version in the user’s RuleSet list. A blocked rule does not prevent rule resolution from finding (and running) higher-numbered versions in the same RuleSet or finding rules with the same visible key in a different RuleSet that is higher on the RuleSet list.
Rules in an override RuleSet cannot have availability values of Blocked.
104. Explain if Rule Availability is set as Withdrawn?
A withdrawn rule is never selected by rule resolution.
Withdrawn rule masks from rule resolution any other rules which meet all of these tests:
- The other rule belongs to the same RuleSet
- The other rule belongs to the same major version of the RuleSet
- The other rule has the same Applies To class (if relevant and other key parts match)
- If circumstance-qualified is qualified with the same circumstance type and value.
NOTE: Rules in an override RuleSet cannot have availability values of Withdrawn.
105. Explain about Work Object?
A work object is the primary unit of work completed 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).
106. Explain about Work Object ID?
A work object ID is the permanent, external identifier of a work object. If we don’t specify a prefix (on the Details tab of the application rule), theWork-. GenerateID activity uses W- as the prefix and no suffix. The Work-Cover-.GenerateID activity uses C- as the default prefix. Conventionally, the F- prefix is used to identify folder work objects.
107. Where do we determine the prefix and suffix of the Work Object ID?
The prefix and suffix are determined by a model rule pyDefault for the work type or the class corresponding to the class group. The model is referenced on the Process tab of the flow rule that creates the work object.
108. Explain about Cover?
a cover is a work object in a concrete class derived from the Work-Cover- abstract class. A cover work object is a parent to one or a few other related work objects. Typically one work party such as the customer party is present in the cover work object and also present in all the covered work objects associated with it. The covered work objects are the children in a parent-child relationship. A cover work object provides a coordinate processing of related work objects. By default, the system prevents the resolution of a cover work object unless all of its “member” covered work objects are resolved.
109. How do we create the Cover Work Object from Activity?
Inactivity We are creating Work Object and Add to the Cover At a time By using the method AddCoveredWork.AddCoveredWork Creates a new covered work object using the primary page data. This activity assumes the cover is already locked. Due to above Reason, we have locked the cover by using Activity Obj-Refresh-And-Lock. This activity saves the new covered work object on the deferred list.
110. How are the Cover Work Objects Working?
For example, if a single customer request causes a user to create three separate work objects, these work objects may follow separate flows, be handled by separate departments, and not otherwise affect each other. The cover object provides a way to consolidate, view, and manage the outstanding service requests of this customer. After all three covered work objects become resolved, the cover work object can be resolved.
111. How the Covers as seen by application users?
Work object forms support working with covers and its covered objects:
- Click the View Contents button ( ) at the top right of the cover work object form to access the member work objects.
- From the ALL tab, select any single cover member work object using the drop-down list or click a row.
- Click the yellow cover ID link to return to the cover-only display.
By convention, the work object IDs of covers have the format C-999999; basic work objects have the format W-99999.
112. Explain about Folder?
A work object folder is a work object in a concrete class that inherits from the Work-Folder- class. A folder object holds a collection of one or more other work objects (which themselves may be basic work objects, other folders, or covers) providing access for analysis and reporting. By convention, the work object ID of folders has the format F-99999.
113. How do we create a Folder by using Activity?
AddToFolder Activity Adds a work item to the folder. This activity creates a link between the work item and folder and adds appropriate status messages.
114. What is the difference between a Cover and a Folder? Which one is tightly coupled?
A cover is a work object that is also a parent to one or a few other related work objects. Internally, a cover is a work object in a concrete class derived from the Work-Cover- abstract class. A cover work object provides a means to coordinate the processing of the related work objects. Normally, the system resolves a cover work object once all its “member” covered work objects are resolved.
A folder is a work object in a concrete class that inherits from the Work-Folder- class. A folder object holds a collection of one or more other work objects (which themselves may be basic work objects, other folders, or covers) providing access for analysis and reporting, but not for primary processing. The cover is tightly coupled because a Work object can be associated with many folders but it can be associated with only one covers.
115. What are the Pega Activities we used?
- Work-.Add Creates a new work object (without any cover work object) and performs a Commit method, which saves the work object and releases all locks.
- Work-.Add Work Use Work-.Add Work rather than Work-.Add in situations where the Commit method is not wanted until later.
- Add Covered Work Creates a new cover work object but does not perform a Commit method, so current locks are retained.
- Work-.Add Covered Use Work-.Add Covered rather than Work-.Add Covered Work to commit the new work object.
- Add Work Creates a new covered or non-covered work object. Called with a primary page that inherits from the Work- base class. Commits the new work object if there is no flow execution to start; if it starts a flow execution, the commit operation typically occurs when that flow execution creates an assignment.
- New Called by harness processing to create a (non-covered) work object and display the work object form. New Covered Called by harness processing to create a covered work object and display the work object form. Assign-Work list Creates a normal assignment (Assign-Work list class) added to a user’s work list.
- Assign-Workbasket Creates a normal assignment (Assign-Workbasket class) added to a workbasket. If the workbasket doesn’t exist, the assignment can be routed to the current user.
- Notify Send an e-mail message as correspondence to a party identified through a parameter.
- Notify All Send a single e-mail message to each work party identified in the work object. To Create Operator Route the assignment to the user who entered the work object.
- To Workbasket Routes the assignment to a workbasket identified in a parameter. To Work list Routes the assignment to the work list of a specific user, identified in a parameter.
- Corr New Send correspondence (that requires no user interaction) and save it as an attachment to the work object. For email output, can send all work object attachments or selected work object attachments as email attachments. The optional Priority parameter allows the outgoing mail to be marked as a high or low priority in certain e-mail client programs, such as Microsoft Outlook.
- Assign-.New Defaults Called from Work-.New Assign and Work-.New Assign Basket on the assignment. Allows the developer to customize or extend the steps that are performed when a new assignment is created.
- Work-.New Defaults Called from Work-.New and Work-.New Covered. Override to customize or extend the steps that are performed while creating new work page for the New harness.
116. What’s the difference between parameters and local variables? How are they used in an activity