Reports: A. List View and Summary View
Reports: A. List View and Summary View
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. What is the activity responsible for getting the data in List View?
getContent Activity
13. How do we get the data from the two different tables?
Using Join tab in Reports
14. How do we fetch the data from two different tables with out using two different tables?
Write a database View. In this view logically combine the Two different tables.
Create class for this logically combined Table.
Write the List View. Applies to class is class of the Combined table. So we can refer the properties of both the
tables in list view.
16. 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 this can 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 check box and customize the HTML of the section. In that we
need to access the list view in a JSP tag or In section Property is DisplayAs ListView.
AddCoveredWork Creates a new cover work object but does not perform a Commit method, so
current locks are retained.
Work-.AddCovered Use Work-.AddCovered rather than Work-.AddCoveredWork to commit the
new work object.
AddWork 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.
NewCovered Called by harness processing to create a covered work object and display the work
object form.
ToCreateOperator Route the assignment to the user who entered the work object.
ToWorkbasket Routes the assignment to a workbasket identified in a parameter.
ToWorklist Routes the assignment to the worklist of a specific user, identified in a parameter.
CorrNew 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 high or low priority in certain e-mail client programs, such as Microsoft Outlook.
7. Consider this scenario, I have an activity in ruleset A and I want to call this activity from an
acitivity in ruleset B.Is this possible? If yes, how?
Yes, this is possible through ruleset prerequisites.It is defined under Rule-Ruleset-Version.
Note : Process Commander enforces RuleSet version prerequisites only during development (as a
developer adds or saves rules) and as rules are imported during Import Archive operations.
Prerequisites are not enforced at runtime; the user's RuleSet list and the rule resolution algorithm
determine which rules are available for the user to execute.
Almost all the declarative rules implement only forward chaining, except the Rule-Declare-
Expression.
In rule-Declare-Expression, we have a choice to decide either we should go to Forward
chaining or Backward chaining.
Delegating a rule
To mark a rule as delegated, click the Favorites toolbar button ( ) and complete the Delegated
Rules dialog box.
Withdrawing delegation
To cancel the delegation of a rule that is delegated to you:
Using the Developer portal, select Edit > My Rules. Complete the dialog box and click Submit .
Using the WorkManager portal, click the Edit button in the My Business Rules area of the
Process Work workspace. Complete the dialog box and click Submit .
Notes
Delegation of a rule to a user doesn't eliminate the need for that user to hold an appropriate access
role and privileges to check out the rule, modify the rule, and check it back in.
Rule Resolution:
It works as follows:
a. First rule type is matched.
b. Then the Class name of the rule instance is matched bottom up in the class
hierarchy and all rules matching this criteria are filtered.
c. Then the rules are filtered on the basis of ruleset, its versoin and its availability.
d. If they are time based rules then the one with soonest end adte will be picked.
e. Then the circumstance values is checked, the property value in the ruke is checked
against the user clipboard value, if match is found then that rule is picked and the base
unqualified rule is dropped.
f. Then the rules are filtered based on the access roles and privileges.
g. Te rules that qualifies the above criteria are picked nad the one in lowest in the
class hierarchy is executed.
Many Process Commander applications provide business process management and automation through six
functional capabilities, informally known as the Six R's:
Receiving — Accepting and capturing the essential data describing work from multiple sources in multiple
media and formats, from keyboards, scanners, and external systems.
Routing — Using characteristics of the work and knowledge about the workforce to make intelligent matches
and assignments.
Reporting — Providing real-time visibility of work in progress, work completed, productivity, bottlenecks, and
quality.
Responding — Communicating status, requests for information, and progress to the work originator and to
other people involved in the work, by e-mail, fax, written mail, and other means.
Researching — Accessing external systems and databases through connectors to support analysis and
decisionmaking.
Resolving — Through automated processing and automated support of users, completing the work and
updating downstream systems promptly.
1. Difference between Work- and Data- classes?
The Work- base class, one of thirteen standard top level abstract classes, is a superclass to all the
classes that define work objects. A work object is the fundamental unit that records processed work
in an application.
The Data- base class is an abstract class above various classes that define and contain static data and
cumulative data. For example, the Data-Admin- classes contain information created by your Process
Commander developers defining who can use the application, their privileges and security, and
where they belong in the organization.
The class structure provides the first and most important layer of reuse and specialization in PRPC
due to its precedents in the rule resolution algorithm.
The class structure provides us with a hierarchy in which rules can be placed. The higher a rule is in
the hierarchy, the more potential reuse there is. However, a rule can only reference other rules at the
same level in the hierarchy or higher. For example, a rule X at class A- cannot call Rule Y defined at
A-B if no rule Y exists at A-.
The key to a good class structure is that there are enough layers and classes to hold the most
fundamental levels of reuse but not too many that it becomes cumbersome to navigate and unclear as
to the intent.
Shared RuleSets provide a grouping mechanism for sharing both class resolved and non-class
resolved rules. For example Rule HTML properties and utility functions are non-class resolved.
RuleSets are key to reusability as they are the mechanism by which shared rules are moved to
different rule bases and/or environments.
3. What are access roles and how they work at run time? Can we create our own Access
Roles? If yes, explain with an example.
An access role is an instance of the Rule-Access-Role-Name class.
Use an access role name to convey permissions (capabilities) to a user or a group of users. Access
roles can be referenced in requestor instances, Operator ID instances, in access group instances, in
activities, and in queries.
At log in, the system assembles a set of roles for a user based on information in a user's requestor
instance, Operator ID instance, and the associated access group instance.
Access roles influence which classes a user can view, update, delete, and so on through the Access of
Role to Object and Access Deny rule types.
Example. Create an instance of Rule-Access-Role-Name. To grant access to a user for a particular
class create an instance of Rule-Access-Role-Obj.
For each of the eight categories in the array, you can enter an Access When rule name, or a numeric
value between 1 and 5.
If at runtime, the production level of your Process Commander system is not greater than the
numeric value, then users with the specified access role can perform the operation (on objects of that
class). If an Access When rule evaluates to True at runtime, the users with the specified access role
can perform the operation.
Production level is set in Data-Admin-System.
7. What is RuleSet?
A RuleSet name is an instance of the Rule-RuleSet-Name rule type. Each RuleSet defines a major
subset of rules in the PegaRULES database, because every instance of every rule type references or
"belongs to" a RuleSet. A RuleSet name is a major aspect in:
Access control
Grouping interrelated rules
Managing the rules
Moving applications — sets of rules — from one Process Commander system to another.
Process Commander itself consists of six standard RuleSets:
Pega-AppDefinition — Standard rules supporting Direct Capture of Objectives features
Pega-ProCom — Standard rules that support business process management (BPM)
applications
Pega-IntSvcs — Standard rules that support integration
Pega-WB — Standard rules that support the portal infrastructure
Pega-RULES — Standard rules that support business rules engine and rule resolution
CheckInCandidates — Optional. Empty, used by rule check-in processing. Version 01-
01-01 is not locked.
Any application developer who can checked out rules has a private RuleSet.
The system creates each private ruleset automatically named to match the developers operator ID
value.
We create one ruleset per application.
Rule set names are part of SysAdmin category.
8. What is ruleset versioning ? Explain Major, minor and patch?
A RuleSet version is an instance of the Rule-RuleSet-Version rule type. The version number in the
form AA-AA-AA, defines six digits in three groups that characterize the evolution and development
of a rule instance, and of the application it belongs with. The three segments are known as the major
version, minor version, and patch version.
For eg. LoanAdmin:01-02-03
Here, 01: major version
02: minor version
03: patch version
Major : for entirely new functionalities or major releases, the first two digits of the version is
incremented.
Minor : for enhancements, middle two digits are incremented.
Patch : for bug fixes, last two digits are incremented.
Rule resolution algorithm uses version numbers to find the most appropriate single rule instances to
execute in a specific situation.
9. Explain about RuleSet types and the priority given in Rule Resolution?
Application RuleSet is a RuleSet that appears in any of the following form fields:
On the General tab of the application rule referenced in the access group for a requestor
(when the current work pool is part of this application)
(Recursively) On the General tab of a 'parent' application rule, if the Include Parent check
box on the General tab of a 'child' application is checked.
In the Local Customization field on the Settings tab of the access group
Production RuleSet is a RuleSet that has the Type field set to Standard (on the Category tab of the
RuleSet form) and that typically has at least one open (not secured) RuleSet Version.
Production RuleSets are listed on the General tab of an application rule and on the Layout tab of the
Access Group form.
The application RuleSet does not include rules in RuleSets listed in the Production RuleSets array of
the Access tab.
14. Explain with an example, the difference between a Decision shape and a
Fork?
A decision task is a shape on a flow rule that references a rule of one of three types:
· A map value rule (Rule-Obj-MapValue rule type)
· A decision tree rule (Rule-Declare-DecisionTree rule type)
· A decision table rule (Rule-Declare-DecisionTable rule type)
At runtime, the system evaluates the decision rule to determine how a work object
progresses through the flow. The work object progresses along one of the connectors leading
from this shape, depending on the outcome of the decision rule.
On the other hand fork checks the conditions directly on the object and unlike decision
shape it never asks for a Decision tree, table or map value and two or more connectors can
emanate from a fork shape.
15. Consider this scenario: After a work object had reached a particular stage in
a flow, I need to run two flows in parallel to each other. How this can be achieved?
This can be achieved by using Spin-Off shape. Just drag the spin off smart shape and fill in
the appropriate values depending upon what you choose among “On Current Work item”,
“On Another Work Item” or “On Embedded Page”.
So the flow started by this shape will be called a subflow and the original flow as parent
flow.
Flows:
Flow rule is the fundamental representation of a business process in process commander.
3. Can we start an application with a screen flow? If yes, how? If no, why?
A screen flow rule can’t be a starter flow rule. Use the regular flow to create WorkObject.
Call the screen flow as sub flow
we can’t start an application with a screen flow because “Create New Object” option is
disabled under process tab.
A screen flow can operate on a temporary work object, this is never saved to Data Base.
In screen flow Flowactions are referenced by assignment shape rather than connectors.
5. When do we say that a work object is resolved? Can a work object be resolved
manually?
When the flow reached the end shape, the work object gets resolved.
Manually it can be resolved through UpdateStatus activity and provide the values for
“StatusWork” parameter as Resolved.
1. What is SOAP?
SOAP (Simple Object Access Protocol) is a protocol that is used for the exchange of information in
a decentralized, distributed environment. SOAP is an XML-based protocol with three components:
An envelope for describing what is in a message and how to process it
Encoding rules for expressing instances of application-defined data types
A convention for remote procedure calls and responses
Services implemented using SOAP are often called Web services.
2. What is WSDL?
WSDL (Web Services Description Language) is an XML format defined by the World Wide Web
Consortium (W3C). Each WSDL file describes network services as a set of endpoints operating on
messages containing either document-oriented or procedure-oriented information.
A WSDL file describes a SOAP service. It includes XML schema information that describes the
input parameter values that need to be sent in a SOAP request message, and the output parameter
values that can be extracted from a SOAP response message.
1. 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 a multiple node system, and so on.
Pega-IntSvcs,
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).
Pega-ProCom,
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)
Pega-RULES
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 Rule Usage Snapshot
System Pulse Static Content Cleaner
System Indexer System Work Indexer
2. What is service?
A service is a Process Commander programmatic component that defines and implements
an interface between an external application acting as a client and a Process Commander
system acting as a server.
A service is implemented through an instance of one of the rule types below, plus
appropriate calling code in the external client system:
Service SOAP (Rule-Service-SOAP rule type)
Service File (Rule-Service-File rule type)
3. What is connector?
A connector is a Process Commander programmatic component that defines and
implements an interface between a Process Commander application acting as a client and an
external system acting as a server.
A connector is implemented by any of these rule types:
Connect SOAP rules (Rule-Connect-SOAP rule type)
Connect SQL rule (Rule-Connect-SQL rule type)
d. Restart Server.
e. Go to integration wizard.
g. provide the full path of the WSDL and finish the wizard.
3. Generally RDB methods are used for external database, and Obj methods are used for Internal
DataBase. Can they be used vice versa? if not why?
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- methods, not the RDB- methods, with the PegaRULES database to prevent loss of data.
Service Level Agreements:
1. What is an Service Level Aggrement?
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 goal 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.
3. 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.
5. How to implement SLA's? Is is possible to define a SLA for the entire work object? If yes,
how?
SLA’s are always associated with an assignment. Just drag a SLA shape and provide an instance of
Rule-Obj-ServiceLevel.
Yes, SLA can be defined for the entire workobject by defining it in the model.
The property for this is pySLAName.
2. 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.
Edit validate rules are instances of the Rule-Edit-Validate class. They are part of the Property 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.
6. 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.
7. 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.
8. What is the difference b/w 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.
VALIDATIONS
Validation rule is used to validate the value against the some other value. Once the
validation fails the system add error message to that field in clipboard.
1. What types of validations are there?
a. Client Side Validations
b. Server Side Validations
4. 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 a html property, the tag <pega:include name =”Messages”/> tag must be
include
Methods:
15.
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.
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 class Code-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 WHERE
statement. Any constraints on the returned data are in the SQL.
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.
NOTE:
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 or Withdrawn.
3. Where we determine the prefix and suffix of 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.
Cover:
4. 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 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.
By convention, the work object IDs of covers have the format C-999999; basic work objects have
the format W-99999.
Folders:
8. 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.
10. 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 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.
Cover is tightly coupled because a Workobject can be associated with many folders but it can be
associated with only one cover.