PRPC Bullet Pointsv02 PDF Free
PRPC Bullet Pointsv02 PDF Free
Following things are must – Go through these at least one time…see help to get info
on these.
1. PRPC is a combination of BPM ( business process management) and BRE (Business rules
engineering )
1. Receive
2. Route
3. Report
4. Research
5. Respond
6. Resolve
3. Services are interfaces from other systems to PRPC. Standard services that come in with PRPC
are
1. Rule-Service-COM
2. Rule-Service-CORBA
3. Rule-Service- DOTNET
4. Rule-Service-EJB
5. Rule-Service-Email
6. Rule-Service-JMS
7. Rule-Service-JSR94
8. Rule-Service-MQ
4. Connectors are interfaces from PRPC to other systems. Standard connectors that come in with
PRPC are
1. Rule-connect-ejb
2. Rule-connect-dotnet
3. Rule-connect-SQL
4. Rule-Connect-Java
5. Rule-Connect-JMS
6. Rule-Connect-SOAP
7. Rule-Connet-MQ
8. Significance of adding top level class at Organization: You can optionally specify a top
level class when an organization is created. It does not have much significance except it is
used as default top level class when the users belonging to the organization uses application
accelerator to create an application
9. Division: Divisions is at a second level in the organization hierarchy right after the
Organization. It is an instance of the class Data-Admin-OrgDivision.
10.While you are creating a new division, you have to specify (Mandatory) to which organization
it belongs.
11.Significance of adding rulesets at Division: We can add one or more rulesets to division
for providing access to all the users belonging to that division. Assume an application like
“Loan application” of a bank which needs to be accessed only by the employees of Loans
division, then perhaps we may like to add Loan application’s rulesets at Loan division level, so
that other divisions in the same organization cannot have access the ruleset
12.Unit: Unit is at a third level in the organization hierarchy right after the division. It is an
instance of the class Data-Admin-OrgUnit.
13.While you are creating a new unit, you have to specify (Mandatory) to which organization and
division it belongs.
15.Access Group controls the security basing on the job functions. It is instance of Data-Admin-
Operator-AccessGroup. Various aspects that can be controlled through access group are
2
-3–
16.Portal Layout: The Portal is the standard Internet Explorer-based user interface for Process
Commander Workers, managers, and developers. The Portal rule (Instance of Rule-Portal
class) defines the tabs, arrangement, and labeling of anchors and features, known as
gadgets. We can always create new portal layouts by defining new instances of the class
Rule-Portal. Later we can make use of these portals from operator’s access group.
17.Significance of adding rulesets at Access Group: We can add one or more rulesets to
access group when we think that security needs to be controlled basing on the specific job
function. Assume that an application like “Heart allocation request application” is being
developed for all the Project Managers in ABC Company for making resource requests for their
projects. Then we can think of adding this application ruleset in an access group called “PM”,
so that all PMs across all the divisions in ABC Company can access this application.
18.We can add rulesets at either at Organization or at Division or at access group, but not at
the unit.
19.It is not mandatory to add the rulesets either at Organization, division and the access group.
We can add at all these places, at the same time we can refrain by not adding at any of
these places.
21. Significance of “Default class group of work” and “all class groups” of work
fields in access group form : In “all the class groups”field, we need to add one or more
class groups so as to create the work pools in which users associated in this access group
are permitted to create the work objects. We can add one class group in the field “Default
class group of work”
1. Organization ( Mandatory)
2. Division ( Mandatory )
3. Unit ( Mandatory )
4. Workgroup ( Mandatory )
5. Access Group ( Mandatory )
6. Allow Rule Check Out ( Check box ) ( Optional )
24.Checking the “Allow rule check out” check box in operator form , allows that operator to
update the rules from the rulesets that require check out
25.The PRPC jargon of security and organization hierarchy can be diagrammatically depicted as
below.
3
-4–
26.Ruleset is a container for rules in our application building. And it is what we deploy in
production environment or ship to customer.
27.An instance of Rule-Ruleset-name is created when we first time create the rule set. An
instance of Rule-RuleSet-Version is created whenever the version is upgraded including when
the first version is created. The relation between Rule-Ruleset-name and the Rule-RuleSet-
Version is one to many.
28.All the rules that we create for our application should belong to one or other ruleset.
PyRuleSet property in the Rule- Class represents this
29.Though we know that all the instances of all the Rule- hierarchy classes will have versions,
instances of following classes will not have any version
a. Rule-Obj-Class
b. Rule-Ruleset-Name
c. Rule-Ruleset-Version
d. Rule-Access-Role-Obj
e. Rule-Method
c. Prefix of Pega or Pega- should not be used as these are restricted for use by Pega
Systems. ( Practically, for now Pega prefix is allowed but Pega- prefix produces
the error)
d. Special characters, quotes and + signs are not allowed
e. Dash and underscores are not recommended to be used
LoanAppl:01-02-03
01- Version
02 –Minor release within the version
03 – Interim or patch release within minor release
33. Private Ruleset: Whenever application developer checks out the rule, it enters/ belongs to
private ruleset. Users who have the “Allow Rule Check Out?” check box (on their Operator ID
instance) checked can place copies of rule instances into a personal or private RuleSet. The
name of this RuleSet is the same as their Operator. System automatically creates the private
ruleset whenever required. No explicit instance of the Rule-RuleSet-Name exists for a private
RuleSet.
34. How a user’s ruleset list is formed (thelogic)? 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,
1. Requestor : (Data-Admin-Requestor class) — Usually this adds the RuleSets named Pega-
RULES, and Pega-IntSvcs and a version or version prefix for these
2. Division — As referenced in the Operator-ID instance
3. Organization — As referenced in the Operator-ID instance
4. Access Group : As referenced in the Operator-ID instance
5. Ruleset Versions — Prerequisite RuleSets and Versions to those already compiled
6. Operator ID: If this user has the ability to check out rules, the personal RuleSet (named the
same as the Operator ID key) is added last. Also called as private ruleset
36. There are two important repetitive things that can be added in Rule-Admin-Product
Instance :
5
-6–
1. Export Rules option: Copies rules from rulebase to a zip file on a server. The typical screen
that appears on using this tool is
Unlike Rule-Admin-Product, you can only specify one ruleset here, but you can specify all
version or a particular version. Then you can give suggested name for the zip file and can
click “Export Data to Zip file” to keep the zip file in the “Service Export” directory
2. Load rules to rulebaseoption: This option can be used to load the rules from the zip file in
to your systems if the zip file is already in the Service export directory. The typical screen that
appears on using this tool is
You can select the required zip file and use “Import Data from Zip File” to load rules to the
rulebase
3. Upload zip file into the rulebaseoption:This option can be used when you want to transfer
a ZIP file created by the Move Rules tool or the Product rule from your workstation disk to the
ServiceExport directory on a target Process Commander system by using FTP. The typical
screen that appears up on selecting this option is.
6
-7–
Remember that the source file must be on your system disk and you must be operating this
“upload zip file option” from your machine as client and Target machine as PRPC server
4. Download Extracted rules to PC Option: This option is used to download the zip file that
contains extracted rules to your workstation. The typical screen that comes upon selecting
this option is
For example you are connecting to a PRPC server as a client and you want to down load the zip
file from PRPC server’s “Service export“ directory to your workstation’s hard disk you should use
the above option
5. Skim to a new Version Option: Skimming creates rules for a major RuleSet version by
copying selected rules of lower numbered versions of the same RuleSeton the same
system. Skimming collects the highest version of every rule in the RuleSet and copies them
to a new major version of that RuleSet on the same system. The typical screen you will see up
on this option is
38. Remember that during skimming, we altogether get a new major version. It is not
possible to skim just to a higher minor version or patch version. For example if we are skimming
ABCLoanAppl : 05-06-07, the only options we have is 06-01-01, 07-01-01….. and so on, but you
can not skim to 05-06-08 05-07-07 or 06-02-01
39. Availability of the rules: Availability is an important aspect of any rule for it to be considered
by Rule resolution algorithm. pyRuleAvailable property represents whether a given rule is
7
-8–
available or not ? At any point of time, this property can be set with either of the following four
values
i. YES : Indicates that this rule is available. Rules with a Yes value are visible
to rule resolution processing and executed.
ii. NO : Indicates that is rule is not available and become invisible to the
rule resolution algorithm for all users (including yourself). The No setting is useful in
experimentation and troubleshooting to assess the effect of two rule versions.
Ex : If you are setting “No” status for a rule of version 01-01-03, still 01-01-01, 01-01-
02, 01-01-04 of same rule are visible to rule resolution algorithm
iii. BLOCKED : The rule instance is ignored; when PRPC encounters a blocked
rule, it immediately stops the rule resolution process, and return an error to the user.
iv. FINAL : We need to set availability to Final if we want this rule to be
available (equivalent to Yes), but want to prevent others from overriding this rule in any
other RuleSet. A final rule can be superseded by a higher-numbered version (in
the same RuleSet), but not by any version in any different RuleSet.
40. A rule is said to be available only when it’s availability is either “Yes” or “Final”
42. How does circumstance works during rule resolution: At run time, the system first finds
rules based on the class hierarchy and then searches for the rules that a requestor session
needs, it compares the values of the RuleSet, Version, and Availability fields with a
requestor's own RuleSet list to determine which rule to execute. This part of the rule resolution
search may result in multiple candidate rules to execute (there could be one non-circumstance
qualified and more than one circumstance qualified rules of same version). The rule resolution
algorithm then tests the property values defined in the circumstances fields against the property
values on the clipboard. If a match is found, it selects the circumstance-Qualified rule and if no
match is found, then unqualified rule is selected
45. All rule classes will not have the “circumstance” feature on. Only those rule classes which
were created with the option “Allow Selection based on property rules” is checked in
8
-9–
47. Time qualified rules: A time-qualified rule is the one which is qualified with a start date
and an end date. Regardless of other rule resolution logic, time-qualified rule instances are found
and used only between the start date and time and the end date and time. Before or after these
moments in time, they are invisible to rule resolution.
48. After you've saved a time-qualified rule, a clock appears on the rule form near the Availability
check box. To view the start and end times in a ToolTip, hold the pointer over the clock icon. Here
is the feel.
49. All rule classes will not have the “Time qualification” feature on. Only those rule classes which
were created with the option “Allow rules that are valid only for a certain period of time”
is checked in.
50. Note on circumstance and time qualified rules: We know that the rules which are
qualified either through the Circumstance or through the Time ranges are called “Qualified
rules”. We should realize that qualified rules can be created only after a base unqualified rule is
created. You can't delete the base-unqualified rule when a qualified rule of the same rule exists.
51. Special note on time qualified rules : At any given time, if there are two or more time-
based rules, all valid at the current time and date, the system selects the ones with the soonest
end date. If there is more than one candidate with the same end date, it picks the one with the
most recent start date
1. Match Class Hierarchy : Algorithm first looks for appropriate class up the hierarchy
2. Filter by RuleSet List and availability: Algorithm then matches RuleSet and Version
associated with the rule instance against the RuleSet list of the user. Also the availability of
the rule is taken into consideration at this point. If the rule is not available, rule resolution
algorithm cannot consider that rule
3. Filter based on time : Algorithmthen filters the rules, if they are time qualified versions of
the rule
9
- 10 –
5. Enforces access roles and Privileges : Algorithm then excludes rules that the user (or
requestor process) cannot execute for security or access control reasons
6. Execute the Survivor Rule : If no rule instances survive the above five phases, the user
process is notified of the "not found" condition
53. Work List: A work list is an outstanding (notcomplete) assignments (workobjects) waiting for
a user to perform them.
The worklist appears in the My Work In Progress area of this workspace for every operator.
55. While we define an operator, if the work group is left empty, that operator can enter work
objects but not access a worklist or workbaskets.
57. Work pool: Different work types (classes derived from the Work- base class) are grouped in
to one class group and when this class group is added to a user in his access group, user can
work on through each work type of each class groups. Class groups so added are called as
Work pools.
58. Instances of Data-Admin-DB-Table are used for mapping the classes and class groups with
DB tables. At any point of time, if a class is not mapped to any DB table, its instances are stored
in its super class’s mapped table. The principle is recursive.
59. How are the calendars defined in PRPC? : Calendars can be defined as instances of
Data-Admin-Calendar and then these instances can be added at Organization or at
Operator level. For example we can define a calendar called “ABC-2005” ( where we define
what are working hours on each day, and what are the holidays and all ), then we can add this
calendar ( ABC-2005) when we define the Organization called “ABC”
60. Work Parties are interested in the progress and resolution of a particular work object, but they
need not necessarily perform work on the application. Typical types of work parties are
customers (typically the primary party), staff members that are interested in the progress of the
work object, but don’t directly act upon the work object and external organizations etc.
10
- 11 –
13. Process commander comes with various standard work party classes. Eligible standard
classes include:
Data-Party-Gov
Data-Party-Operator
Data-Party-Com
Data-Party-Org
Data-Party-Person
You can use these classes as it is, or you can create a new class that inherits from Data-Party
61. The standard HTML rule “partyDisplay” in work party classes determines which fields
appear for each party role
62. The Portal always contains two main sections one on left side and another on right side. Left
side section is called “navigation panel” which contains expandable navigation bars. Right
side section is called “Work Space” and is context sensitive in the sense the contents
change based on the selected section on left hand side navigation panel
63. The show-java feature on each rule form displays the underlying Java code for the rule
64. “Where Am I” feature shows you, at which assignment you are in the flow currently.
65. The Initial Setup wizard is usually run by your system administrator to prepare the
environment for the application development. He creates the skeleton organization hierarchy,
core set of operators and access groups, base ruleset and the top-level class by running the
initial setup wizard.
66. The application accelerator automates the process commander design methodology. The
application accelerator creates the basic components required for any Process Commander
application tailored for the business processes. The whole idea is – First use the application
accelerator to create the foundation for your application, then use the process commander portal
to add further components as the design progresses
1. initial ruleset,
2. simple class structure including covers and work-related classes,
3. class group( work pool ),
4. prefixes for work objects and cover classes,
5. properties, models
6. work parties,
7. user interfaces,
8. basic flows,
9. workbaskets, worklists and workgroups
11
- 12 –
70. Application accelerator automatically adds the newly created ruleset and the work pool to
your access group. Only thing you need to do is re login to the application so as to see the new
work pool in the list
71. pyRuleSet property in Rule- class represents, to what ruleset a given rule belongs
72. pyRuleSetVersion property in Rule- class represents, to what ruleset version a given rule
belongs
73. An instance of Rule-RuleSet-Name is created when the first version of ruleset is created
76. Flow actions specify thechoices that user have when performing an assigned work
object. Flow actions are mainly of two types i.e., connector actions and local actions.
77. Connector actions advance the flow. They are associated with the connector that exists at the
assignment, so selecting them causes the flow to advance along with the path.
78. Local actions allow the user to update the work item, but don’t advance the flow. After
the assignment was committed, the flow remains at the same assignment from which the local
action was performed.
79. A when condition is a Boolean expression based on the values in the clipboard.
80. The utility activity can return a status value throughthe TaskStatus-Setmethod, which
can be used for talking paths in the flow.
82. Work-. Add activitycreates a new work object ( without a cover object) ( IMP )
83. Various standard (ready to use) flow actions are defined at work- Class.
84. Most of the standard flow actions can be used either as a local action or as a connector
action. However some flow actions are valid to be used as only one type. Unless otherwise
specified, you can use in either way.
85. Some of important standard flow actions that come with PRPC are
12
- 13 –
86. Assignment is a pause in the flow and it signifies that a person or external system must act
on a work object before the flow can progress. In certain situations assignments can be
processed completely or in part by a Process Commander agent rather than by a person
87. Assignments are created by a flow operating on a work object, but they are not themselves
part of the work object. The system saves data relating to an assignment in instances of
the Assign-Workbasket class, Assign-Worklist class, or other subclasses of the Assign- base
class. Means whenever a workobject reaches an assignment, it creates an instance of respective
Assign-* class. This instance stores all the assignment pertaining information rather than work
object itself
88. Some of the important properties in the Assign- class, which are used for each assignment.
2. PXUrgencyAssign : Urgency value for the assignment. This is not same as the pyUrgency
property which is urgency of work object as a whole
90.
13
- 14 –
1. Assignment rule to use: Name of the assignment activity. Currently 4 types available. You can
create your own by making an activity as type of assign
i. WorkList: Causes the assignment to be placed on the worklist of current
operator
ii. Workbasket : Causes the assignment to be placed in a work basket,
determined by an associated router shape
2. Instructions : The text entered may later appear on the worklist or the Review form for the
work object
3. StatusWork: We may enter a work object status value that is to appear when the assignment
first appears on the worklist or in the workbasket. If you leave this blank, the status value is
unchanged as this assignment is created.
5. Confirmation Note: Optionally we can enter the confirmation note. This note appears on the
confirmation form presented to the user when the flow action is completed
6. HarnessPurpose : We can enter the Purpose key part of a harness rule (Rule-HTML-Harness
rule type) the system is to use to present this assignment
7. Local actions : you can add one or more local flow actions
8. Service Level: You can assign a service level (Rule-Obj-ServiceLevel) rule to this assignment.
92. You can assign activities at goal and deadlines of each service level, and these activities will
be fired when goal and deadline times are passed on
93. Likelihood field appears for connector only when connector type is selected as “Action”
or “Status” ( IMP)
94. When an assignment is given a service level, it takes precedence than the flow’ s service rule
only for that assignment
95. The symbol for comments shape is . You can add this at any stage of the flow. It does
not have any impact on processing of the flow.
96. Connector arrows show as either red or blue. A red arrow indicates that the "from" (tail) or
"to" (head) end of the connector is not yet connected to a task shape. A blue color indicates a
properly connected connector (Not sure on this .. Need to test )
14
- 15 –
97. PRPC comes with certain standard built in flows which u can use as it is or customize. Some of
such flows are
1. Work-Cover-.NewWork
2. Work-. FlowProblems
3. Work-Folder-. NewWork
4. Work-. NewWork
5. Work-.VerifySendCorr
98. By default the assignment normally appears on the worklist of the user running the flow. We
can add a router task later if you want the assignment to be sent (at least under some
circumstances) to any user other than the current user, or sent to a workbasket.
1. Connector: There are five options available here. “Always”, “Action”, “Status” , “Else” and
“When”
i. All of the choices may not be available always. It all depends on the shape
from which the connector emanates. For example
a. When the connector is from assignment, you will have only “Action”.
b. When the connector is from utility, you will have four options i.e., all
except “Action”
c. When the connector is from the decision you will have only Status
and Else.
d. When the connector is from fork, you will have four options i.e. all
except “Action”
ii. Always: When there is to be only one possible path from the connector.
iii. Status: If the connector is from a Utility task shape, a Fork task shape or a
Decision task shape and you want to perform a comparison. The flow proceeds on this
connector only if the value returned at run time matches the value in the text box
iv. Action: For a connector that is to be associated with a flow action. In the third
box, enter the name of a (non-local) flow action
v. When: The work object is permitted to flow along this connector when only
when a certain when condition rule evaluates to true. In the third box, enter the name
of a when condition rule.
vi. Else : To define a none-of-the above connector that the flow is to use when no
other connectors are valid
2. Flow action / When / Status : Whether it is “flow action” or “when” or “Status” depends on the
choice in the previous field
i. Flow Action : If you choose “Action” in the connector option, you need to
enter the flow action name here
ii. Status: If you choose “Status” in the connector option, you need to enter a
text value to match the text value returned at run time by the decision task (a map
value, decision table or decision tree) or the utility activity.
15
- 16 –
iii. When : If you chose “When”, we need to enter the “When” Condition rule
name or you can do a property comparison
3. Set Properties ( Optional ) : You can choose to update some properties whenever the work
object follows this connector in the flow rule
4. Add to Audit trail (Optional): Click the plus sign to access a text box. Text entered here
appears as a history instance for the work object, recording that this connector was followed
100. The summary of actions for connectors when they are coming out of different shapes is
101. An integrator task in flow is an activity that connects your Process Commander system
to an external system to send or receive data.
102. Integrators on flows use activities (with Connect as the activity type) that call connector rules
(Rule-Connect- rule types).
1. Map Value
2. Map value pair
3. Decision tree
4. Decision table
At run time, the system evaluates the decision rule based on inputs from the flow and the work
object, and chooses one of the outgoing connectors based on the result. No user interaction or
input is required.
104. If a map is selected on the decision of flow, we need to enter only the row input where as if
map value pair is selected, we need to supply both row input as well as column input
You can perhaps use the map value as in the following example in the decision of a flow
Assume you need to move in different directions basing on a grade of a student. You can
supply the marks and then get the Grade equivalent from the map. If the map value returns
values "A", "B", and "C", the flow could include four connectors flowing from the Decision task
shape, all corresponding to Status comparisons. One connector compares the returned value
to “A”, one to "B", one to "C", and a fourth could become the default (Else) connector
You can optionally store the value of output of map in a property by using “Store Result Field“
16
- 17 –
105. Fork shape in the flow: We need to use the fork shape in the flow when we want to represent
a point where the flow execution chooses one of the few different paths (Connectors) based on
the tests on the work object. At run time the system evaluates the conditions on each connector,
starting with the connector assigned the highest likelihood.
106. Notify shape to an assignment will cause our application to send correspondence to a work
party in the work object reflecting the assignment. (The system creates this correspondence as
the assignment is created, not when it is performed.). You need to supply one of the notify
( activity of type notify) to the notify shape.
107. The difference between the notify, router and comments symbols in flow is very narrow. Be
careful ( they look same to some extent)
108. The various standard activities that can be used in the flows are
2. Integrator Task activities : Because these tasks involve external systems, there are no
standard rules with this type
17
- 18 –
viii. UpdateStatus : Changes the status of a work object (not the status of an
assignment), and adds a record of this change to the history of the work object
18
- 19 –
109. The main difference between fork and decision in the flow – Decision executes a decision rule
( like map, map value pair, decision tree and decision map ) and then basing on the output it
takes appropriate branch ( basing on the status ). Where as fork does not execute any decision
rule, it branches the flow basing on the when condition embedded in the connectors emanating
from the fork
110. Various portal layouts and the available navigation bars are
112. Spin off Task : 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
113. There are 11 modes of properties. These 11 modes are broadly categorized to 3 broad
categories viz, Values, Pages and Java Objects
115. All of the except one ( Single value ) is considered to be aggregate properties
116. Difference between Value list and value Group - In Value List value is an ordered, indexed list
of strings, sometimes called an array. In Value Group value contains one or multiple strings,
unordered, each identified by a unique text index.
a. Text
b. Integer
c. Identifier
d. Password
19
- 20 –
e. Double
f. Decimal
g. DateTime
h. Date
i. TimeOFDay
j. TruleORFalse
118. A Class group is an instance of the Data-Admin-DB-ClassGroup A class group instance causes
the system to store the instances corresponding to two or more concrete classes that have a
common key format in a single database table. Class groups are commonly used to cause the
system to store instances of similar or related Work- concrete classes together in one relational
database table
119. Every work object has a unique ID (property pyID), an urgency value, and a status (property
pyStatusWork)
120. Operator ID data instance (Data-Admin-Operator-ID class) usually identifies a work group to
which the user belongs
121. A property of mode Java Object can contain any Java object while on the clipboard. If the Java
class supports the Serializable interface, a page containing this property can be saved into the
Process Commander database
122. For value list , page list modes the index is integer and starts from 1 , not from 0 like in java
Note that a String that fits to integer can also be used as example 2 above
123. For Value group, page group modes, the index is string.
1. Student( “James”)
2. Population ( "USA")
3. Population (.StateCode)
124. <APPEND> index can be used to add the element at the end of the Value list or Page list
properties
For example in property set u can add a value to page list as below
125. <LAST> index can be used to set or retrieve the last element( Highest indexed number
element) for Value list or Page list properties
For example you can set last element value of a page list as below
20
- 21 –
126. <INSERT> index followed by an integer can be used to insert a new element and it’s value
into a Value list or Page list properties. Any elements with the same or higher index value are
"pushed down" by one.
For example you add an element in the page list at index 2 as below
If the integer is larger than the size of the list by 2 or more, Process Commander
creates an exception.
127. Html Property rules (Rule-HTML-Property) control how properties appear on work object forms,
correspondence, and other HTML forms, for both display and for input.
128. If you leave the Property Stream field on the Property form blank, the system uses HTML
Property rule called “Default”.
129. A service level rule is an instance of the Rule-Obj-ServiceLevel rule type. Each service level
rule defines one or two time intervals, known as goals and deadlines, that indicate the
expected or targeted turnaround time for the assignment, or time-to-resolve for the work object.
Process Commander detects service levels not achieved — unmet goals or deadlines — promptly.
If an assignment isn't completed before the time limit, the system can automatically notify
various parties, escalate the assignment, cancel the entire flow, and so on
130. A developer can assign the SLA to either the assignment or for entire flow.
131. The assignment icon changes to include a clock icon, when you add a SLA at the assignment
132. What happens on SLA escalation (When goal or deadline time is reached)?
1. Adds corresponding goal or deadline urgency to original initial urgency
2. Executes the activity in the Activity If Locked field if the work object is locked, or the
Activity Name field if the work object is not locked
133. If we want to associate the whole SLA for entire work object we need to add the SLA at Model
level
134. How can we debug / test whether the SLAs are working fine or not?
1. Initial urgency ( Optional ) : To set the initial urgency for a work object
2. Assignment is ready for work : Represents when from the time count
to consider SLA, most of the cases it would be immediately. At times, it is beneficial to create
an assignment but not expect a user to start work on the assignment for a while. In these
cases this field is useful There are 3 options available
i. Immediately : Immediately
ii. Define from Property : You can take from property
iii. Interval from assignment creation : You can directly set the timing
21
- 22 –
136. For every class that is created as a class group is also created as instance of Data-Admin-DB-
ClassGroup.
137. Every work object has a unique ID ( property pyID), an urgency value, and a status ( property
pyStatusWork)
138. By Default PRPC is shipped with one work basket called default@pega.com
139. A work basket is an instance of Data-Admin-Workbasket.
140. A work group is an instance of the Data-Admin-WorkGroup class. A work group can identify a
user who is, for purposes of your application, a supervisor. Work groups are a primary unit of
summarization in standard management reports on the Monitor Activity workspace.
141. newDefaults (activity) get’sautomatically called ( if exists in a class ), when its instance is
created.
142. Procedure to create a cover
1. Initialize AddCover activity
2. Create cover ID – by calling Work-Cover.Add activity
143. Each connected Process Commander requestor (including all browser-based users, even if
guests) has an associated temporary memory area on the server known as the
clipboard
144. One individual page can govern an activity and is known as the primary page. If for one step
in an activity, a different page is identified, it is known as the step page
145. Top level classes are always abstract and inherit from the @baseclass
146. An embedded page is a clipboard page that is not a top-level page, but rather is the
value of a property of mode Page.
147. @baseclass is called as the ultimate base class. And its immediate child classes like Data-,
Work-, Assign-etcare called as base classes
148. Concrete classes under Rule- and Data- hold the instances of rules and data that the
application developers create as a building blocks of the application
149. Concrete classes under Assign- and Work- hold dynamic transaction instances that are
created during the actual operation of built application
150. History- classes are created automatically ( IMP )
151. Embed- Classes define the structure of pages embedded within other pages. Pages belonging
to classes derived from the Embed- base class cannot be renamed or saved. Often it is a design
level decision to choose between the Data- classes and the Assign- classes when want to use the
pagelists. If we choose the Data- class, it stores the instances and if we choose Embed- class, it
prevents in stances being stored in the process commander
152. Index- Classes provide the Secondary access keys defined to provide fast retrieval of other
instances
153. Top level class is an abstract class that has the ultimate base class @baseclass as parent
but is not one of the standard base classes.
154. Use following kind of access control by adding the Ruleset as below
1. General use – add at Organization
22
- 23 –
155. By Convention, abstract classes end with a dash ( - ). Concrete classes must not end with
dash. Ex YourCo- , MyCo-
156. Normally it is a practice to have a unique top level class for each company/ product that
serves as a starting place for the class structure
157. While Creating the class, mentioning the direct inheritance is inevitable. Pattern
inheritance is optional. If pattern inheritance is mentioned by checking in the check box, Pattern
inheritance takes the precedence.
158. The server can run two or more process commander systems at a time. The “System Name”
uniquely identifies the each process commander system. It’s default value is “wfe”. This is an
instance of Data-Admin-System
159. While Work- instances are stored in the PegaRules Database, Data- instances can be
stored either in PegaRules database or in External database
160. Work Objects are the basic units of work. Covers tightly coordinate processing on
several distinct (but closely related) work objects. Folders loosely package many related work
objects, covers, and other folders.
161. The PRPC standard activity “GenerateID” is responsible for creating the work object ID.
We can override this activity, if we want to have different kind of sequencing for work object Ids
162. Typically you should use different Work object prefixes for each workpool
163. PRPC uses the W- prefix by default. You change this even. Use the meaningful prefixes
such as LW-, LC-, LF-, for work object, cover and folders of a leave application
164. Don’t confuse work parties with the actors of the system. Work parties are those who are
interested of knowing the execution / progress of the work object, or who should be notified when
something happens to the work object.
165. Three important aspects that we must specify while we define the work parties are
i. Name of the party role ( Such as originator, contact )
ii. Party Type ( Such as person or commercial entity)
iii. And data source ( the party class that describes the party)
166. PRPC allows to have one work party in repeating mode in a work object
167. There are two important parameters in the restrictions tab of the class definition, worth
noting.
i. Prevent subclassing in other rulesets: Prevents classes in other rulesets from
inheriting from this classes.
ii. Limit Rules applied to this class to these rulesets : Restrict the rules creation
for this class to one or more rulesets
168. Always use the pyID as the key for the class definitions that belong to work-.
169. All the classes belonging to the class group will have the same keys of the class group and
hence there will be no provision of specifieng these sub classes.
170. Process Commander comes with a standard flow called “newWork” ( defined in Work- class )
to use as a starting point
171. PRPC standard properties are prefixed either with px or py or pz
i. Px – Computed properties that users can see on a form, but can’t directly
enter or change( Such as pxCreateDateTime). To alter this values activities can use a
step method called Property-Set-Special metod
ii. Py – Properties that users can enter or change via direct input( such as
pyDescription ) . To assign these values programmatically, activities can use step
method called Property-Set method
iii. Pz – Properties that are reserved for internal use( such as pzInsKey). User
can’t see, enter or change these properties
172. Some specific entries while defining the properties are
23
- 24 –
i. Override Sort Function – Specifies a sort function ( a rule type of Rule –Obj-
Function ) to use instead of the natural sort sequence for the string type ( Optional )
ii. Special – If checked, property ids for display only and it requires activities for
changes. It prevents sensitive e and calculated properties from being changed by UI
iii. Edit Input Value: You can specify the Rule-Edit-Input instance here. Rule Edit
inputs are basically custom Java routines for converting user input to an internal
system format. For example Rule-Edit-Inputs can contain code segments like as below
if (theValue.length() > 0)
{
theValue = theProperty.getStandardText(theValue);
}
24
- 25 –
182. Activities may use the logical page names, which may not actually exist as they are called in
the clipboard. For example Activities may use a working page called “Primary”, a parameter page
called “Parameter” and a local parameter page called “Local”
183. The current page on which you are operating is called “primary page”. Think of primary page
as this page
184. In many situations we may be interested to operate on another page in parallel to the primary
page. This page is called secondary page or interest page. By using interest page, activates
can have different primary page other than the work object page. Interest pages are useful for
operating on the objects that are part of repeating group embedded in the work object. When
coming to flows, flows use interest pages for supporting branching. Flow processing normally
operates on the properties on the primary page, but you can specify a separate interest page to
operate on when splitting off to another flow.
185. When we refer the properties in HTML, activities or declarative rules we need to include the
page name before the property name except for primary pages. When you refer the
properties for primary pages, Primary.xxx and the .xxx are same
186. It is good practice to omit the page name, if we are operating in the context of primary page.
187. A class can have many models. But we can designate only one model while creating the
object. But you can chain together models of the same name in the direct inheritance hierarchy
for your class to achieve the cumulative model for the class.
188. PRPC comes with a standard model called pyDefault
189. Harness ( Rule-HTML-Harness) rules define the form structure and the layout , specifying the
sections that include in the harnesses and other elements to be added
190. Section ( Rule-HTML-Section) rules define the form content, consisting the discrete section
that you include in the harness
191. Streams define the class specific content to be included in a section ( Such as dynamic HTML
and repeating group ), as well as supporting forms for filed specific user input
192. Fragments (Rule-HTML-Fragment)are supporting pieces of HTML that you include in the
sections, streams, or other fragments. We need to use fragments if we want to share the html
across classes, such as buttons for performing the actions.
193. Text files (Rule-File-Text)contain static text that we will include in the streams of fragments
such as style sheets and Java script files. They are conceptually same as that of fragments, but
rule resolution does not apply for text files.
194. Model chaining works only with direct inheritance
195. Text files ( CSS and JS etc ) are not subjected to rule resolution where as the binary files ( JPG,
JPEG, images etc ) are subjected to rule resolution
196. For harness and section rules, process commander automatically generates the HTML
source( Which we can tailor as we need ). But we write the HTML for other html rules
197. Any class that inherits from Work-Object-, Work-Cover- or Work-Folder- also inherits all the
harnesses. When we enter a new work object or review, the harness automatically presents the
appropriate form for the object type
198. Standard harnesses are,
i. New - For creating new work objects
ii. Perform – Performing assignments on existing objects
iii. Confirm – Confirming object resolution
iv. Review – Reviewing the closed objects
v. Reopen - Reopening the closed objects
vi. NewCovered – To open a cover object
199. Harness rule basically assembles all required sections, streams and fragments
200. Sections typically include other sections, for
201. Page-new is used to create a new page in the clipboard. The page-new may be a top-level or
embedded page.
202. Page-new takes the following parameters
25
- 26 –
i. Model ( Optional )
ii. PageList ( Optional)
iii. New Class (Optional):
You can specify the class of for which new page is to be created. If left blank, it creates
for class of the step page that is mentioned in the activity step ( it retrieves the
respective class from pages-classes tab). If step page filed is also blank, the system
creates the new page of the class that is first key of the current activity, which is
nothing but primary page
203. When using the page-new, if the system finds the page already in the clipboard, it
deletes the old one and creates the new one
204. pxMethodStatus is the property that can be used to find out the status of a method step
1. Page-Copy method copies 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 may contain properties it contained before, plus
properties from a model, plus properties copied from the source page. The various
parameters are,
i. CopyFrom( Optional ) : If left blank, system uses step page of the current step
ii. CopyInto :
iii. Model ( Optional )
iv. PageList ( Optional ) :
205. Page-Copy method works as below
i. If the source page cannot be found, the method does not fail. It does
not alter any pages. The resulting method status value is Good
ii. If the destination page (identified in the CopyInto parameter value) does not
already exist, the system creates a blank page of the same class as the source page. It
may be a top-level page or an embedded page
iii. IF the Model parameter is not blank, the system finds the model (using rule
resolution) and applies the model to the destination page. Properties already on the
destination page are never affected by the application of the model
iv. Next, the system copies properties from the source page into the destination
page. This copying may create new properties on the destination page or update the
value of existing properties — both those originally on the destination page and
those created through the model. As the copying occurs, each property is validated
against its definition (its Rule-Obi-Property instance). If a property value fails validation,
the system adds a message to the destination page
206. Page-Rename method can be used to rename the existing page to a new name. The
parameters are
i. PageNewName : Enter the new page name
207. Page-rename works in the following way
i. The system renames the page identified on the Step Page column of the
current step to the new name specified in the parameter
ii. Page names are unique within the clipboard. If another page with the new
name is already present, the system deletes it and replaces it with the renamed page
208. Page-Remove method is used to delete one or more pages from the clipboard. The
contents of the database are not affected. The method accepts array of one or more pages.
This method works in the following way
i. The system finds the pages (top-level or embedded) on the list and deletes
them. This method does not alter the contents of the database
ii. If a page you specified is not found on the clipboard, the Page-Remove
method reports a warning error but does not fail
26
- 27 –
209. Page-Set-Message is used 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. This method has two parameters
i. Page : ( Optional ) : If you leave this blank, the system uses the step page, or
the primary page if the Step Page column is blank
ii. Message: Enter literal text within quotes, or the name of a message rule
(Rule-Message rule type). Smart Prompt is available
210. Checking the step status: Method status is stored after each step. ;Methods update the
.pxMethodStatus property with a status such as Good, Warn, or Fail. Often, additional
information is stored in the property named pxMethodStatusInfo. As a sound development
practice, test this status value against Good in those activity steps that may fail. In the Transition
area, reference a when condition rule, and branch or jump to handle the failure. You can use two
standard when conditions named @baseclass.StepStatusGood and @baseclass.StepStatusFail in
transitions
i. StepStatusFail condition returns True when the status is Fail
ii. StepStatusGood condition returns True when the status is Good
Enter a when condition in the transitions as below for proper error handling of the step.. In
the If True field, indicate what the processing is to occur when the condition is true.
211. Page-Validate method forces validation (or revalidation) of the value of all properties on the
step page. The system adds a message to each clipboard property that fails validation against
the restrictions in its property rule. If the page has hundreds or thousands of properties, this
method can be expensive in terms of system resources. Use the Obj-Validate method, not
the Page-Validate method, to validate specific properties identified in a Rule-Obj-
Validate rule. The Page-validate method works in the following way.
i. system validates each property on the step page against the constraints
imposed by that property's definition, such length, type, validate rule, table edit values
etc.
212. Obj-Open method is used to open an instance stored in the rulebase and save it as a
clipboard page. If it finds the specified step page, the system clears any data that is on it and re-
uses the page. If no existing page has a name matching the specified step page, the system
creates a new page as part of the Obj-Open method. When used on a primary page, the Obj-
Open method always clears any data on the page and reuses its name. If the key supplied does
not match the key of an object in the database, the system creates a page of the indicated class
that is empty except for the pxObjClass property, and indicates failure in the pxMethodStatus
property. The parameters for this method are
i. Open Class : Identify the class of the instance to be opened
ii. Lock : Check this box to acquire a lock. Lock the instance if you plan to
change and save the instance or delete it
iii. RleaseOnCommit : Check this box if you checked the Lock box and want the
system to release the lock whenever the next Commit method occurs for this instance.
iv. PropertyName and PropertyValue :Enter in this array the name of each
property or properties and the associated values that together make up the key of the
instance to be opened. Type a period before the property name
213. What is handle? : Handle of an instance is a unique key, in an internal format, assembled by
the system that identifies an instance. It differs from the visible key generally used to identify
27
- 28 –
instances. The handle includes system-generated identifying values (including the create date
and time) that make it unique. Every instance has a unique handle, but more than one instance
may share the same visible key.
214. Obj-Open-By-Handle can be used to open the instance , only if you know the unique handle
that permanently identifies which instance to open. Otherwise, we need to use the Obj-Open
method. Obj-Open-By-Handle method has 3 parameters
i. InstanceHandle :
ii. Lock :
iii. ReleaseOnCommit :
215. Some of the methods, overwrite the existing clipboard pages, if they already exist. If you want
the activity to check whether a page with a certain name exists before you open a new page, you
can use the following precondition in the step.
i. @PageExists("myPage", tools)
216. Obj-Save method requests that the system save a clipboard page to the database. The Obj-
Save method uses properties on the page to derive the internal key under which it is to be saved.
This method can create a new database instance or overwrite a previous instance with that key.
An object that is stored in the database is persistent. method does not always cause the object
to be written immediately to the database. Often this method is used to perform a "deferred
write" operation. We can use the WriteNow parameter to force this page (and only this page)
to be written to the database as part of the Obj-Save method. The whole idea is you can
reverse the effect of an Obj-Save method — if it has not yet been committed — with the Obj-
Save-Cancel method. The parameters for this method are
i. WriteNow
ii. WithErrors : Check this box if the instance is to be saved even when it
contains messages, indicating validation errors
217. Obj-Save-Cancel method is used to cancel an earlier Obj-Save method or obi-delete
method , so that the instance is not written or deleted as part of a subsequent Commit. This
method does not take any parameters. This method can be applied only if the previous
obj-Save or obj-delete does not use Write-Now option.
218. Obj-delete method can be used to delete a database instance corresponding to a clipboard
page and optionally to delete the clipboard page too. You can cause the deletion to occur
immediately, or defer deletion until a later execution of a Commit method. Unless you check the
Immediate check box on the activity form, the database deletion does not occur until the
system next processes the Commit method. This method uses the flowing parameters
i. Remove : If checked, it deletes the respective clipboard page also
ii. Immediate : If checked the system deleted the DB instance immediately
219. Commit method is used to commit all the DB changes. This method writes all the
instances specified by one or more earlier Obj-Save methods to the database. The Commit
method operates on thread pages that can operate across multiple instances. There are no
parameters for this method and all previous pending Obj-Saves and Obj-Deletes will be
considered
220. Obj-List method is used to retrieve data to the clipboard as an array of embedded pages . You
can use this method in two modes.
i. Complete instances as embedded pages
ii. Selected properties from the instances placed in embedded pages with
shortcut characteristics. Shortcut pages contain only partial instance data and so
28
- 29 –
cannot be re-saved to the database. A rule-Obj-List is used for this purpose of obtaining
the partial list of properties
29
- 30 –
a. File ( Data-WorkAttach-File)
b. Note ( Data-WorkAttach-Note)
c. Scanned document ( Data-WorkAttach-ScannDocument)
d. Screenshot ( Data-WorkAttach-ScreenShot)
e. URL ( Data-WorkAttach-URL)
30
- 31 –
233. To work with properties, we can use the flowing directives in the HTML.
i. Reference
ii. Lookup
iii. With
iv. Save
234. To add with the HTML rules that provide parts of the form , we can use include directive
235. To work with script files and style sheets in HTML, following directives can be used in the
HTML
i. Literal
ii. Delimiters
236. Reference directive is used to display the values of the properties, to allow the users to enter
the values for the properties and to insert the parameter values. Syntax for reference directive is
{[REFERENCE][[page].]property[(index)][AS [=]][option]}
237. The various ways we can use reference directive is( V V IMP)
i. To display the value of single value property on primary page
{.myProperty}
ii. To display the value of single value property on another page
{anotherPage.myProperty}
iii. To display the value list or value group
{myPage.myProperty(1)}
{myPage.myProperty(mySubscript)}
238. Lookupdirective can be used retrieve and display a property value of an instance that is
stored in the database, but that is not open on the clipboard. If the value is already in the
clipboard, we can better use the reference directive. The complete syntax of Lookup directive
is, ( Ref : Clipboard Lookup : Database) ( IMP )
{LOOKUP propertyclass-namekeyName=keyValue}
For example,
{LOOKUP pxCreateOperator Rule-Obj-HTML pyClassName=Work- pyStreamName=New}
31
- 32 –
Here is an example
{with PAGE myPage}
Enter your HTML and/or directives here.
{end}
240. Include directive can be used to include six rule types
i. Fragments ( Rule-HTML-Fragment )
ii. HTML Rules ( Rule-Obj-HTML)
iii. Correspondence Rules ( Rule-Obj-Corr rule type )
iv. Correspondence Fragments ( Rule-Corr-Fragment rule type )
v. HTML Property rules ( Rule-HTML-Property)
vi. XML rules ( Rule-Obj-XML )
241. Literal directive: Use the Literal directive around JavaScript, VBScript, or Cascading Style
Sheet text that contains curly brace characters. The Literal directive identifies a part of the
source HTML that is to be copied to the generated stream exactly as entered. The system does
not process the text within the directive, except to find the end of the directive.
Example:
{= style sheet or script goes here =}
Optionally you can also add key word called LITERAL
{LITERAL [comments] }
style sheet or script goes here
{/LITERAL [comments] }
{/when}
244. Flow can optionally take the parameters which can be specified in the flow definition form
245. “Work Class” fields in Flow definition is to identifywork type( a concrete class derived
from Work- class ) that this flow rule usually uses . Except in rare cases this is the same class
where the flow is defined.( IMP )
246. “Can be added to work object “ field in flow definitions is used for : This flow rule can be
associated with and started for an existing (unresolved) work object created by another flow.
247. The other important fields in flow form are
i. Create a new work object: Check if this flow rule when started creates a
new work object. Informally, flow rules which create new work objects are called
starter flow rules. If checked, the Short Description field of this flow rule becomes
visible on the Process Work workspace
ii. Harness for work object creation : You can specify a harness rule that
the system is to display when a user begins to enter a work object for this flow rule.
This is an optional field. IF left blank, system uses the “New” harness
248. There are basically four ways to get into another flow from current flow. These are
a. Called Flow
b. Spin-off Flow
249. The “Called Flow “ Shape can be used if we want the current flow to pause until the Called
flow ( Sub flow ) is completed
250. Spin Off: Process Commander to starts execution of a different flow (Sub 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. Important fields are
i. Define Flow on:Choose Current Object to cause the current work object to
start along another flow rule. Choose Different Object to start another flow rule, but for
a different work object
ii. Flow Type :Mention the flow name either current or different
iii. Object class: only applicable when different object is selected. Mention the
name of the class of the work object for which new flow should operate
251. Split Join guarantee that "sub flows" of your flow are completed before continuing with the
current flow. Important fileds are
i. Join When.. Flows are Finished: Choose any or all, to resume your main
flow. If all is specified, your main flow will resume only when all sub flows are
33
- 34 –
completed. If any is selected, your main flow will resume when any one of the sub flows
are completed
252. Split for Each shape is used to send a work object through another flow based on
information in the pages of a Page List or Page Group property. Important fileds are
i. Join When. Flows are Finished: Choose any or all, to resume your main
flow. If all is specified, your main flow will resume only when all sub flows are
completed. If any is selected, your main flow will resume when any one of the sub flows
are completed
ii. Property Reference:the property of mode Page List or Page Group that is
the basis of the split.
iii. Object Class:the work type of the for-each work objects.
iv. Flow Type :flow rule for the for-each work objects
253. 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.
254. Activity-End method in activity can be used to cause the system to end the current activity
and continue with the next activity on the requestor's activity list. For example, you can use the
Activity-End method to end an activity conditionally in mid-processing and cause the system to
start the next activity on the pxActivityList.
Word of Caution: If one activity calls another activity that contains the Activity-End method,
both activities end, and the system does not return to the calling activity.
255. Branch step method can be used to cause the current activity 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. To use this method we need to type
Branch, a space, and the activity name to branch to. The step page of this step becomes the
primary page of the target activity.
256. Call step method can be used execute an activity based on the class of the step page being
passed to the called activity. When that activity completes, control returns to the calling activity.
The calling activity can provide input parameters to the called activity, or or it can share its own
parameter page with the called activity, an approach known as call-by-reference.
1. The preferred means for passing a single page from one activity to another is to identify the
page in the Step Page field of the calling activity. The called activity receives this page as its
primary page
2. Use the following steps if you want to pass more than one page
i. In the calling activity, identify an indirect page by the keyword prompt as the
Mode field in the Pages & Classes tab.
ii. In the steps of the called activity, refer to these pages using the syntax
promptpagename. No corresponding entry is required in the Parameters tab.
257. The difference between the branch and class is, branch completely branches to new activity
and never returns to calling activity, where as call method returns the control to calling activity
once called activity is executed
34
- 35 –
258. The Exit-Activity method ends the current activity and returns control to the calling activity.
If there is no calling activity, the system starts the next activity in the pxActivityList property.
Where as the End-Activity also closes the calling activity
259. Show-HTML method to cause the activity to process an HTML rule and send the resulting
HTML to a user for display by Internet Explorer. Note: Use the standard activity @baseclass.
Show-Harness, not this method, to display a work object form defined by a harness rule (Rule-
HTML-Harness rule type).
260. 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 or to populate the values in a select
box in HTML dynamically
261. Show-Property method to send the value of a single property on the clipboard page identified
in the Step Page column to a user's Internet Explorer browser session, as an aid to debugging
262. Property-Set property is used set the values to the properties on the clipboard
pages
263. Property-Set-Special is used this method to set the value of one or more special properties.
Standard special properties have names that start with the prefix px. The value of special
properties cannot be modified through direct user input in an HTML form, nor by the Property-Set
activity method
264. Property-Set-XML method is used to save the contents of an XML rule (after stream
processing) as the value of a Single Value property
265. StartNewFlowactivity from the Work- class can be used from to start a new flow from an
activity
266. Flow-New step method can be used to start new flow execution , referencing a flow rule
267. RDB-List method can be usedto 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 an Connect SQL rule instance, and executes SQL statements stored in the
Browse tab of that rule instance. Specify a page of class Code-Pega-List as the step page of the
RDB-List method. Also identify this page and class on the Pages & Classes tab of the Activity
form. The important parameters are
ii. Access : Enter the second key part of the Connect SQL rule (by convention
MSSQL, Oracle, DB2, UDB, or Sybase, but not restricted to these values)
iii. Class Name:Class name where the SQL is defined. We need to identify
exact class of the rule. The system does not use class inheritance to find the Rule-
35
- 36 –
Connect-SQL instance. Also this class is different from the class on which you want to
perform the search, which you enter in your SQL code
iv. Browse page(Optional): Identify the top-level page into which the search
results are to be returned. The pxResults pages are embedded in this page. If left
blank, the system uses the step page you specified for the RDB-List method in the
activity step.
Note: Connect SQL rules only with an external database. Do not use Connect SQL rules or
RDB methods for the Process Commander database(s). Because not all properties in the
Process Commander databases are individual database columns, you must use the Obj-Open
and Obj-Save methods, not the RDB-* methods
268. Rule-Connect-SQL converts table, class, and property references on the Browse tab of this
rule using clipboard data, and sends the resulting SQL to the external database
269. RDB –Open Step 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. You can use this method with rule-connect-SQLs having select statements in the
Open tabs. The parameters are pretty much same as that of the RDB-LIST
270. Each RDB-Open, RDB-Save, and RDB-Delete method involves an SQL database commit
operation. You can't implement SQL transaction commit operations spanning two or more
Connect SQL rules.
271. RDB-Save method can be 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 works in conjunction with a Connect SQL rule that contains
SQL statements such as INSERT, UPDATE, and CREATE statements on the Save tab. The
parameters of this step method are pretty much same as that of RDB-List
272. RDB-Delete method can be 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 an Connect SQL rule (Rule-Connect-SQL rule type) which contains the DELETE, TRUNCATE
or DROP SQL statement. The parameters of this step method are pretty much same as that of
RDB-List
Use break point button to access the break point configuration. After that what you see is
To see a list of activities, select a class. select the step before which you want processing to
pause. Select at entry or 1 to break when the activity starts. To break for each step, choose all
step.
36
- 37 –
To remove a break, check the Remove box and click the Remove button.
274. Watch values can be set on tracer for various properties on the clipboard pages, pretty
much in the same way as we set the break points. But break points are set to activity steps
and the watch values are set to properties in the clipboard( IMP).
276. Declarative rules need / should not be refereed from any rule.They are always in
force. The primary benefit of declarative processing is that the system, rather than the
developer, controls when computations are processed
278. Remember that other than above five rules , any other rules are not really declarative rules,
though containing “Declare” keyword. For example, following are not declarative rules
Rule-Declare-DecisionTree
Rule-Declare-DecisionTable
37
- 38 –
recomputation of the value of the Area property. For example following is the R-D-E created for
gross salary property
Idea is, Whenever value of any property from Basic, HRA, SpecialAllowance, ITax and PTax
is changed, The value of GrossSalary in clipboard automatically changes. For example, if an
activity which has Property-Set method for property “Basic” and if this activity is executed, the
clipboard value of GrossSalary automatically changes
280. Declarative rules are not referenced explicitly in other rules. If you use of an property
that is referenced in the declarative rule, it automatically causes the declarative rule to run.
( IMP )
281. Forward Chaining :Forwardchaining provides the automatic calculation of the property by
executing the declarative rule, when any one of the input property value is changed. For
example, if the Area property depends on the Length and Width property, then forward chaining
causes the Area property to be recomputed each time either Length, or Width value changes
282. BackwordChaining : Forward chaining provides the automatic calculation of the property
by executing the declarative rule, when a value is needed for a property, rather than when
inputs change. For example, if the Area property depends on the Length and Width property,
then backword chaining causes the Area property to be recomputed each time the Area property
is required/ referred
283. What decides the forward chaining / Backwordchaining? : The “Target Property
Data “ field in declare expressions decide this ( IMP )
38
- 39 –
284. You can use when conditions in the R-D-E. For example we can change the formula for
grossSalary for regular employees and contract employees as given below. Contract employees
will not have the Special allowance
285. You need to give the page context value, if the R-D-E is declared for a target property which is
embedded in page-List or a page-property . You can leave the page context value as blank, if
your target property is of mode single value.
If you give the page context, if you specify the page context, you need to specify the class for
this page context, in
39
- 40 –
For example, the following may be valid values for page context
wageBill.Employee(“Murali”)
wageBill.Employee(4)
wageBill.Employee()
Assuming, Employee is an embedded page in which we have the GrossPay property for which
we are declaring R-D-E
Also, If you give the page context, you need to specify the class for this page context, in class
field as given below
40
- 41 –
287. Same as Declare expressions, we can also declare constraints for the properties inside the
embedded page. In that case, we need to specify the page name and it’s class in the pages and
classes tab as given below
288. Rule-Declare-Index: Declare Index rule are defined for defining criteria under which Process
Commander automatically maintains index instances for faster access.
41
- 42 –
290. Same as Declare expressions, we can define declare OnChange rules for the properties inside
the embedded page. In that case, we need to specify the page name and it’s class in the pages
and classes tab as given below
291. Rule-Declare-Trigger: A trigger rule identifies an activity that runs automatically whenever
an object of a particular class is saved in or deleted or updated from the database.
293. Almost all the declarative rules implement only the forward chaining, except the R-
D-E. In R-D-E, we have a choice to decide either we should go to forward chaining or backward
chaining
42
- 43 –
295. How to refer the decision table? Decision table can be referred from three other rules
1. From decision shape of flow rule
2. In an activity you can evaluate the decision table using Property-Map-DecisionTable. By
doing so, we can set a property value with the return value of the decision table
3. Decision table can be referred from R-D-E
297. How to refer the decision tree? Decision table can be referred from three other rules
43
- 44 –
298. Significance of Default input property in decision tree is: This is an optional field. At run time
when the decision tree is referred, if the value of the third parameter to the Property-Map-
DecisionTree method is blank, the system evaluates this field and uses the result as the value for
comparisons.
299. Map Value: We can think of a map value rule to create a table of number, text, or date
ranges that converts one or two input values, such as latitude and longitude numbers,
into a calculated result value, such as a city name. Map value rules greatly simplify
decisions based on ranges of one or two inputs. ( IMP )
Though we can use map value to take a maximum of 2 inputs, through cascading — where one
map value calls another — map value rules can provide an output value based on three,
four, or more inputs
300. Normally maps can be defined in two ways. We can give a row input only which is referred as
simple map. The following is example of simple Map
Also we can think of creating a map which takes both row input and column input
which is normally referred as Map value pair. Following is an example of map value pair.
44
- 45 –
302. Important flow symbols ( ** Symbols are very important for exam )
f. Decision :We can use decision task to reference a map value rule,
decision table rule, or decision tree rule that when evaluated produces a value
that is the basis of branching in the flow. Decision shape looks as
g. Flow End Shape :Defines the end of the flow. Shape looks as
h. Fork :Fork represents a point where the flow execution chooses one of
a few different paths (connectors) based on tests on the work object. fork shape
looks ad
45
- 46 –
1. Ruleset - Rule-Ruleset-Name
2. Ruleset version - Rule-RuleSet-Version
3. Class - Rule-Obj-Class
4. Property - Rule- Obj-Property
5. HTML Form - Rule-Obj-HTML
6. Harness - Rule-HTML-Harness
7. Harness Section - Rule-HTML-Section
8. Flow - Rule-Obj-Flow
9. Organization - Data-Admin-Organization
10. Division - Data-Admin-OrgDivision
11. Unit - Data-Admin-OrgUnit
12. Flow action - Rule-Obj-FlowAction
13. System - Data-Admin-System
14. Operator - Data-Admin-Operator-ID
15. Access Group - Data-Admin-Operator-AccessGroup
16. Work Object - Work-Object-
17. Cover - Work-Cover-
18. Folder - Work-Folder-
19. Party types - Data-Party
20. Work parties for work class - Rule-Obj-WorkParty
21. Class Group - Data-Admin-Db-ClassGroup
46
- 47 –
305. An Access Role is an instance of the Rule-Access-Role-Name class. An access role can
be assigned to individual users (or requestors) to influence their access control. These roles
determine what operations they can perform on what CLASSES. Don't confuse access roles
with access groups, which affect RuleSet and Version visibility. Access groups are data
instances (of the Data-Admin-Operator-AccessGroup class), while access roles are
rules.
47
- 48 –
a. Business Users
310. Guardrails
1. Adopt an Iterative Approach
2. Establish a Robust Foundation
3. Do Nothing That Is Hard
4. Limit Custom Java
5. Build For Change
6. Design Intent-Driven Processes
7. Create Easy-To-Read Flows
8. Monitor Performance Regularly
9. Calculate and Edit Declaratively, Not Procedurally
10. Keep Security Object-Oriented Too
48
- 49 –
14.Continuous Improvement
Method Description
Apply-Parse-Structured
Execute a Parse Structured rule in an activity.
49
- 50 –
Obj-Delete Delete an instance from the database, or mark it for later deletion
with the Commit method
Obj-Save Save page data to the database, or mark it for saving (commit)
later.
50
- 51 –
51
- 52 –
Property-Map-DecisionTable Evaluate a decision table rule and assign the result to a property
Property-Map-DecisionTree Evaluate a decision tree rule and assign the result to a property
Property-Set-Stream Save the contents of a JSP, XML, or HTML stream as the value of a
property.
52
- 53 –
53
- 54 –
313. RULE-OBJ_CORR
Create correspondence rules to define, in HTML, templates for the content of outgoing
correspondence. We need to select the Correspondence type.
RULE-CORR TYPE
A correspondence type rule indicates whether a piece of correspondence is a printed letter,
fax, e-mail, or phone text
RULE-CORR-FRAGMENT
Create a correspondence fragment rule to define reusable or boilerplate HTML text for
correspondence. Through the include directive or the equivalent include JSP tag, this text
can be incorporated into multiple correspondence rules during stream processing.
314. RULE-DECLARE-INDEX
Indexing can improve performance and facilitate reporting. These rules are stored in
index_base table of pega rules.
315. RULE-UTILITY-LIBRARY
A library rule is a container for a set of related function rules.
316. RULE-UTILITY-FUNCTION
It defines a java function that can be accessed through rule resolution. These rules can be
referenced in expressions or java step in an activity. For example,
Exprerssion
@(MyRuleSet:MyGeoLibrary).MyGeographicFunction( Latitude, Longitude)
Java step
myruleset_mygeolibrary.MyGeographicFunction(Latitude, Longitude );
317. RULE-PARSE-DELIMITED
Use the Parse Delimited rule to upload data into your Process Commander system from
an external file or files. Within an input record, a comma, tab, quote, or other character
may separate fields. The rule extracts the text between the delimiter characters and
stores it in a Single Value property or as one element of a Value List property.
RULE-PARSE-STRUCTURED
Use a Parse Structured rule in conjunction with a Service File rule or the Apply-Parse-
Structured method to import structured data to the clipboard. For example, you can import
fixed-format flat files from a variety of external sources and platforms.
RULE-PARSE-XML
Use Parse XML rules with services and connectors to map data from an XML text message
into clipboard property values. Each Parse XML rule contains an array of parsing
instructions that let Process Commander interpret an incoming XML document or
message. The incoming message may arrive using an e-mail protocol or by SOAP over
54
- 55 –
HTTP protocol. The message may be a request for service or a reply from a connector.
Within a Parse XML rule, the notation for finding elements and attributes is similar to the
World Wide Web Consortium's XPath notation.
The Process Commander JSP tag library provides a functional equivalent to a directive, or
part of a directive.
Reference tag
<pega:reference name="myPage.myProperty" />
Look up Tag
<pega:lookupclassname="Rule-Obj-HTML" property="pxCreateOperator" />
<pega:key name="pyClassName" value ="Work-" />
<pega:key name="pyStreamName" value="Newbook" />
</pega:lookup>
With Embedded
<pega:withEmbedded name="embeddedpagestring" >
Enter <pega:reference name=".Surname" /> here.
</pega:withEmbedded>
With Page
<pega:withPage name="pagename"">
<!-- HTML and/or tags here with pagename as the base page -->
</pega:withPage>
Include
<pega:include
[name="name"]
[ref="indirect reference "]
[type="rule type"]
/>
When
<pega:when
[name="When rule ]
55
- 56 –
[java="<%=expression=%>"]
[test="keyword"]>
HTML segment to include if true
</pega:when>
For Each
<TABLE>
<pega:foreach name="Operators.pxResults">
<TR><TD>
<pega:reference name="$THIS.pyUserIdentifier" />
</TD></TR>
</pega:foreach>
</TABLE>
2. Complete the Display Fields tab to record the layout of an HTML <TABLE> display of
results.
3. Complete the Content tab to define a search of the Process Commander database and
exploit
the retrieval, filtering, and sorting power of database software.
4. Use the Organize tab to apply further filtering and sorting, and buttons.
56