Basics: Architecture, Guardials, Inheritance, Methodology, Classes 6'Rs
Basics: Architecture, Guardials, Inheritance, Methodology, Classes 6'Rs
Basics: Architecture, Guardials, Inheritance, Methodology, Classes 6'Rs
1.
3. 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.
4.
5.
6.
7.
8.
9.
A class group instance causes the system to store the instances corresponding to two or more concrete classes that share 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. Class Groups generally mapped to pc_work table. We
can use our own table also similar to pc_work for the clas groups All the classes who belong to a class group can inherit all the
rulesclared and defined at the class group level.
Case management: Access Groups, Work group, Work pool ,Work list, Work basket
1.
2.
5.
6.
7.
8. 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 .And it is defined as having certain class access rights. A
user can have one or more access roles , which are listed in Access Groups.
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.
9.
What is Privilege ?
A privilege allows a user with a particular with a particular role to execute certain application functions. associated with Access
roles
10. What is a portal and how can it be customized for different users?
The Process Commander portals support two user communities:
The Developer portal provides an integrated work, test, and development environment to support application developers.
Customization of the Developer portal is typically not necessary and ordinarily limited to menus and skins.
User portals support managers and users of applications workers, as they enter, update, and resolve work objects. User
portals may be customized to reflect the terminology, layout, facilities and styles appropriate to each user community.
This Developer portal provides quick access to dozens of tools, wizards, reports, and other capabilities.
The appearance and function of our Process Commander portal depends on information in our access group which
references a portal rule (Rule-Portal rule type)
We can create our own portals and define new gadgets (instances of Data-Gadget).
Data-Gadget contains simple HTML rules.. We can change the Pega Logo as well.
Flows
Flow rule is the fundamental representation of a business process in process commander.
1.
2.
3.
Can we start an application with a screen flow? If yes, how? If no, why?
A screen flow rule cant be a starter flow rule. Use the regular flow to create WorkObject.
Call the screen flow as sub flow
we cant 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.
4.
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.
6.
7.
Flow Actions
Flow actions specify the choices that users have when performing an assigned work object.
1.
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.
3.
4.
5.
6.
7.
How to restrict (make invisible) one flow acton to one user or based on some condition ?
By putting when rules in security tab.
Flow Shapes
The available shapes are
1)
Start task
2)Assignment
3)Assignment service
4)Comment
5)Connector
6)Decision
7) Subflow
8)Flow end
9)Fork
11)Notification
12)Router
13)Spin-off
14)Split-join
17)Ticket
18)Utility
10)Integrator
1.
2.
3.
4.
Associate a Router task with an assignment task. This activity determines which worklist or workbasket is to contain the
assignment.
5.
6.
7.
8.
9.
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.
2.
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 PegaProCom agent.
4.
5.
How to implement SLA's? Is is possible to define a SLA for the entire work object? If yes, how?
SLAs 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.
6.
Reports
1.
2.
3.
4.
5.
6.
What is the activity responsible for getting the data in List View?
7.
8.
Embed-ListParams class.
Yes
getContent Activity
9.
- <pega: ListView name= {name of list view} classname= {Class name of list view}>
A list view can be used for complex retrievals from database by not specifying the display, format and Organize tabl.
PyAction in that case would perform instead of refresh.
19. Explain in brief about the configuration of a summary view?
Summary views are used to create reports which are grouped by certain criteria and can be later drilled down.
A Summary view can be configured as follows:
- Applies to class of summary view will be taken as the database table map for the search criteria
- Category is used to know under which tab the report should come.
- Criteria is used in the where class (this can be asked to user by enabling prompt user)
- Group by and field functions (like count) are used for initial display. If we have more than one group by
it is Displayed one after another on clicking +
- Drill down fields are used to display the fields when we click on the assignment.
- Format is used to tell how to format the display and charts can also be used.
Summary view can be accessed from an activity or html as follows:
- Call Rule-Obj-ListView.ShowView activity with classname and summary view name as parameters
- <pega: SummaryView name={name of summary view} classname={Class name of summary view}>
20. ShowView
Rule-Obj-ListView. ShowView
Agents
1.
What is an Agent?
An agent is an internal background process operating on the server that runs activities on a periodic basis.
Agents send email notifications about assignments, route work as per rules in our application, outgoing correspondence,
synchronize cache etc.
Agents are autonomous and asynchronous
2.
3.
4.
5.
6.
7.
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
8.
If you do not specify an access group for legacy and advanced agents that do not use the agent queue function, Process
Commander uses the access group specified in the Batch requestor type (that is, the Data-Admin-Requestor instance named
Batch). Agents whose mode is Standard do not need access groups; for standard agents, each queue item is processed in the
authorization context of the user whose actions or processing (work object, assignment, and so on) generated the queued
task.
9. How do we troubleshoot or Trace an Agent?
NOTE: Tracer can only be used to trace agents which are running on the same node where the tracing is occurring. For multinode systems, where errors may happen on different nodes, it is necessary to access the monitoring system for the node where
the error occurred.
Tracing an agent is a bit different than tracing Process Commander user sessions, as the agents can run quickly and be gone
before Tracer can catch them. Therefore, To trace the running of an agent, the following steps are recommended:
1. Check the scheduling of the agent in the Agent Schedule instance. (If the agent runs once a week, and has just run, it wont run
again for a while. If the periodicity of the agent is long, temporarily shorten it for troubleshooting.)
2. Before the agent runs, go to the Agent Status screen and delay the execution of the Agent Queue. For Version 5.1, click the
radio button next to the agent entry, and then click the Delay button at the top of the screen in the Single activity in queue section.
3. Go to the Requestor Management page. Continue to refresh this page until a new requestor is displayed which shows a
Waiting message in the Last Input column. (The requestor should show after 60 seconds.) NOTE: For agents, the hash name
of the requestor should begin with B (batch).
4. Once that requestor is visible, trace the activity execution. Click the radio button for that activity, and then click the Tracer
button at the top of the screen.
5. Tracer will open in a new window, showing the trace for this process.
6. Review the trace for errors.
Activities
An activity is an instance of the Rule-Obj-Activity rule type. An activity is the fundamental sequential processing unit of the Process
Commander system.
An activity when defined consists of a sequence of steps, each of which can contain a method or an instruction. As you save an
activity form, the system converts information in the form into server-side Java source code. At runtime, this Java code is compiled
and executed to perform processing, analysis, and decision making.
Activity Types:
Activity
Type
Activity
Assembly
Assign
Connect
Description
Any activity that is not one of the activity types below.
Reserved. Do not use.
An activity that creates an assignment, an instance of a concrete class derived from the Assign- base class. Referenced
in a flow to support an assignment. These activities may be referenced by an assignment shape (
) on a flow rule.
An activity that calls a Rule-Connect- external system interface. These activities may be referenced by an Integrator
shape (
) on a flow rule.
Locate
An activity that finds a locatable page; referenced on when condition, Declare Expression and Constraints rules only.
Load
Declarative An activity that adds values to declarative pages. Referenced on Declare Pages rules only.
Page
An activity that sends correspondence to a work party in a work object. In a flow rule, such activities may be referenced
Notify
in an Assignment Properties panel, or explicitly in a notify shape (
).
An activity that starts automatically when another activity step changes certain properties, as defined through a Declare
OnChange
OnChange rule.
An activity that determines which user worklist or workbasket receives an assignment. In a flow rule, such activities may
Route
be referenced in an Assignment Properties panel, or explicitly in router shape (
).
An activity that starts automatically when an object of a certain class is saved, as defined through a Declare Trigger
Trigger
rule.
An activity that typically updates a work object and is referenced in a flow, but requires no user interaction. In a flow
Utility
rule, these activities may be referenced in a utility shape (
).
Validate
An activity that validates the contents of a rule or data form. (Rarely needed in applications.)
Activity Methods
1.
2.
3.
4.
5.
6.
7.
8.
9.
OBJ Methods:
Code-Pega-List:At runtime 5 methods(Obj-Browse, Obj-List,Obj-Filter, Obj-List-View & RDB-List), list view rules and summary
view rules use a page of the class Code-Pega-List as a source of search criteria and to hold ouput.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 Methods:
Use Connect SQL rules and RDB methods only with an external database. Do not use Connect SQL rules or RDB methods
for the PegaRULES database(s). Because not all properties in the PegaRULES databases are distinct database columns, use
the Obj-Open and Obj-Save methods, not the RDB- methods, with the PegaRULES database to prevent loss of data.
27. Explain about RDB-List method?
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.
28. Explain about RDB-Open method?
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.
31. Obj-Refresh-And-Lock
if step page is not locked, refresh from database and lock
use this when you have an unlocked page which you now wish to update and save in the database.
if the step page is locked - the lock is checked and if we still own it nothing is done to the content of the step page.
if the step page is unlocked - the page is compared to the copy of the page in the database and replaced if the database copy
is newer.
A lock for this page is acquired in either of these last two cases.
Commit:
Commits all database changes in the thread
What are all the default or Pega OOTB activities that you have used till now?
Work-.Add: Creates a new work item (Work object)
Called AddWork activity
Creates a new work object (without any cover work object) and performs a Commit method, which saves the work object and
releases all locks.
Uses: Called from the Create button on the New harness. Can be used to spin off a new work object from within a flow
Work-.AddWork
Use Work-.AddWork rather than Work-.Add in situations where the Commit method is not wanted until later.
This is called from the Add activity
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.
AddCoveredWork
Creates a new cover work object but does not perform a Commit method, so current locks are retained.
Creates a new covered work object using the primary page data. This activity assumes the cover is already locked.
Usage:
Call this activity to spin off a new covered work object from a Utility or Post-Processing activity. Prior to calling this activity,
create and populate the new work object page using createWorkPage then use it as the primary page to call this activity.
Caller must commit changes using commitWithErrorHandling.
Work-.AddCovered
Use Work-.AddCovered rather than Work-.AddCoveredWork to commit the new work object.
It means the difference between AddCovered and AddCoveredWork is commit
New
Called by harness processing to create a (non-covered) work object and display the work object form.
Creates a new work page, populates it by applying a model and displays it in the new harness to collect more information
from the user.
Usage:
Used from the new work drop down menu.
NewCovered
Called by harness processing to create a covered work object and display the work object form.
Creates a new work page for a covered object, populates it by applying a model and displays it in the new harness to collect
more information from the user.
Usage: This activity gets called when a user adds a covered work object using the add work drop down menu of a cover.
Notify
Send an e-mail message as correspondence to a party identified through a parameter.
NotifyAll Send a single e-mail message to each work party identified in the work object.
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.
NewDefaults: It is an activity that is automatically executed when a workobject is initiated(before Harness is displayed) which
is used to customize or extend the steps.
Assign-.NewDefaults Called from Work-.NewAssign and Work-.NewAssignBasket on the assignment. Allows the developer
to customize or extend the steps that are performed when a new assignment is created.
Work-.NewDefaults Called from Work-.New and Work-.NewCovered. Override to customize or extend the steps that are
performed while creating new work page for the New harness.
1.
What's the difference between parameters and local variables? How are they used in an activity?
Values stored in parameter values can be shared between two activities but the scope of local variables is confined to the
activity in which they are declared.
Parameters can be referenced as Param.parametername.
Local variables are referenced as Local.variablename.
2.
3.
4.
5.
6.
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.
7.
Propertys :
1.
2.
3.
4.
5.
6.
7.
8.
9.
Single Value
Value List
Value Group
Page modes
Page
Page List
Page Group
Java Object
Java Property
Px: Identifies properties that are special, meaning that the values cannot be input by user input on an HTML form.
Py: Properties with names that start with py are not special, meaning that values can be input by users on an HTML form.
Pz: Properties with names that start with pz support internal system processing. Users cannot directly manipulate pz
properties. our application may examine these values, but do not set them. The meaning of values may change with new
product releases.
Rules
1. What is the order in which Rule set list is constructed?
Requestor, Organization, Division, Access Group is the order in which this list is constructed.
In access group Application rule set list is in bottom and Production Rule set is on top of it. It follows Top-down approach.
2. 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:
Availability:
1.
2.
3.
4.
5.
6.
Declarative rules provide the necessary capabilities required necessary for declarative processing
Reduce the need for complex procedural logic and manual exceptional handling
Deliver time and cost savings for both BPM and BRM solutions
Declarative Processing
Declarative processing simplifies your application and reduces the number of activities you must create
Dynamic evaluation of properties based on the changes in dependent properties
Checking the state of a property (constraint) automatically based on the changes in dependent properties
Running a specified Activity automatically when the value of a property changes either during processing or upon database commit
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
2. What are the Methods we have used for validations??
a. Obj-Validate--we can referred this method in Activities and in flow actions at Validate Rule field.
b. Edit-Validate---- we can refer this in property form at edit-validate field and in activities through property-validate method.
Note: I think Obj-Validate is used for Server Side Validation and Edit-Validate is used for Client Side Validation.
3. How do you add custom message to the Property when it fails the Validation.
For this we have to use theProperty.addMessage(your message) tag.
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
An application user who has the PegaRULES:WorkMgr4 access role can update the leftmost tab of existing rules that may change
frequently.
Delegation :In addition, a Declare Expression rule can be delegated to business managers who have the
PegaRULES:WorkMgr4 access role. The business managers can see and update only fields on the Expressions tab.
Opening a delegated rule:
From the WorkManager portal, open the Dashboard workspace, locate the My Business Rules area, and click the link that labels
the delegated rule.
From the Developer portal, select View > My Rules > label.
Delegating a rule :To mark a rule as delegated, click the Favourites toolbar button (
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:
1.
Date & Time range- For time-based rules which are in effect only during specific time interval. System date and time is used
to find those in force. Others are eliminated(the one with soonest end date will be picked).
Circumstance- Circumstance property reference value is compared with the users clipboard value for this property
reference(if defined) , if match is found then that rule is picked and the base unqualified rule is dropped.
Security- Rules are filtered based on the access roles and privileges.
To rules that qualifies the above criteria are picked had the one in lowest in the class hierarchy is executed.
Circumstance
1.
2.
3.
4.
5.
USER INTERFACE
A harness rule defines a runtime form that supports application users as they enter, review, update, and resolve work objects.
Harnesses rules support the display of work object forms.
Developers define work object forms through harness rules (Rule-HTML-Harness rule type) and section rules (Rule-HTML-Section
rule type).standard harness forms are New, Perform, Review, Confirm, Reopen, PrintReview
New Support initial entry (creation) of the object.
Perform Support users completion of assignments.
Review Display the work objects in display-only mode, with no fields changeable.
Confirm Accept a text note explaining a user's reasoning about a recently completed assignment.
Reopen Support reopening a previously resolved work object.
PrintReview Support printing of all the fields.
A section is a portion or area of a standard work object form that is incorporated on a harness form. Sections may contain other
sections, informally called subsections.
The appearance, behavior, and contents of a section are defined by a section rule (Rule-HTML-Section rule type). Section rules
are referenced in:
Harness rules
Other section rules
Flow action rules
Paragraph rules with SmartInfo pop-ups
Show-Harness
@baseClass. Show-Harness
It shows the given Harness
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)
4.
1.
2.
3.
4.
5.
To debug listener processing, you can use the Tracer to connect to the listener requestor, remote logging, or the System
Management application.
About Connectors
Connector is PRPC components that act as a interface between a PRPC acting as a client and an external system acting as a
Server.
A connector is implemented by any of these ten rule types:
1. Rule-Connect-BPEL
2. Rule-Connect-dotNet
3. Rule-Connect-SOAP
4. Rule-Connect-EJB
5. Rule-Connect-HTTP
6. Rule-Connect-Java
7. Rule-Connect-JSM
8. Rule-Connect-JCA
9. Rule-Connect-MQ
10. Rule-Connect-SQL
Connect-SQL- is a connector rule which is used when any complex SQL queries such as joins or stored procedures to update or
extract information from an external database.
To configure SQL connection to an external database
In an activity use any of the RDB methods- RDB-List, RDB-Open, RDB-Save, RDB-Delete
RDB-Open- is used to retrieve a single record from the external DB and place the retrieved data in the clipboard page as a
property name and values.
RDB-List-- is used to retrieve multiple records from the external DB and place the retrieved results as an embedded pages in a
specified step page of class Code-Pega-List
RDB-Delete- is a method used to delete a row or multiple records from the external DB using SQL. Under Delete Tab of connectSQL rule contains Delete, Truncate, or Drop sql
RDB-SAVE- is used to save the content of the clipboard page into a row of an external database from the external DB. The system
saves the properties on the specified step page to the specified table in the database. This method operates in conjunction with a
Connect SQL rule that contains SQL statements such as INSERT, UPDATE, and CREATE statements on the Save tab
Use the Connect-MQ method to invoke a connector to an external system that uses IBM Web Sphere MQ messaging services.
Connect-SOAP
Use the Connect-Java method to call a public method of an external Java class, using a Rule-Connect-Java rule
Connect-HTTP- Use the Connect-HTTP method to start an HTTP request/response interaction between Process Commander and
the external system identified by a Connect HTTP rule (Rule-Connect-HTTP rule type).
Connect-JMS
Use the Connect-JMS method to send a JMS message to an external system using the Java Message Service application
programmer interface.
Use the Connect-JCA method to communicate through a JCA resource adapter to an external System
SQL (DataBase)
1.
2.
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.