You are on page 1of 23

1) Difference between Edit Validate&Obj-Validate?

Ans: Edit Validate is a rule referred in the definition of a property. This rule is
triggered when user modify the value in the UI element mapped to the
property. This is also invoked using Page-Validate method in activity.
Obj-validate is a method that can be used in a step of an activity to apply
Rule-Obj-Validate rule for the object identified on the step page.
2) How to call List View from Activities?
Ans: Using Obj-List-View method.
3) Difference between Forward chaining & Backwardchaining?
Ans: Totally there are 5 declarative rules: Declare Expression, Declare
Constraint, Declare Onchange, Declare Index, and Declare Trigger. Declare
Expression is the only rule which provides both Forward&Backwardchaining
and all other declarative rules by default provide Forward chaining.
Forward chaining in DE is defined for a particular property. The property value
is computed and updated on the clipboard whenever inputs change.
Backward chaining in DE is defined when property value is missing or
property value is empty or whenever used.
Backward chaining can be initiated using Property-Seek-Value method in
activity. Only DE provides the option to program Backward chaining.
4) About Connect SOAP? JAR&WSDL?
5) About Connect SQL? Explain the steps involved?
Ans: Steps involved:
1. There needs to be a DB with the particular table.
2. We need to create Database instance in Data-Admin-DB-Name
3. Create database table instance in Data-Admin-DB-Table
4. Create a service package to hold the Connect-SQL rule.
5. Create Connect-SQL with required business logic in the respective
Open/Save/Delete/Browse tabs.
6. Use this in activity using RDB methods.

To configure an SQL connection to an external database, use the following


elements along with the Connect-SQL rule:
An activity that references one or more of four standard methods for
operating on relational databases RDB-Open, RDB-List, RDB-Delete, and
RDB-Save. The names of the methods match the names of the tabs in the
connector rule. An activity that uses RDB-Open to call a connector rule runs
the SQL statement on that connectors Open tab, and so on.

A Database instance and one or more Database Table instances that provide
access to the tables or views of the external database.
A JDBC library that provides access to the external database software.
Special data mapping syntax to associate properties with database columns.

Use Connect SQL rules when your application needs to run complex
Structured Query Language statements such as joins or stored procedures to
update or extract information from an external database.
Alternative: If your application needs to perform a simple browse, open,
delete, or update operation against an external database, use the Connector
and Metadata Accelerator to configure external table access. When external
table access is configured for an external table, you can use the Obj-Open,
Obj-Browse, and other Obj- methods to interact with that table through a
class that represents it and you do not need to create SQL connector rules
6) About Declare Expression?
Ans: Declare Expression(DE) is a declarative rule. Declarative rules are never
referred from any other rules. Declare expression provides the option to
program backward chaining. No other declarative rule has this capability. The
mechanism of Forward or Backward chaining can be specified in the Change
tracking tab of DE rule. When ever inputs change is the only Forward
chaining option available. All other options When used, if no value present/
When used, if property is missing/Whenever used/When applied by a
Rule collection applies to Backward chaining.
7) Decision rules Vs. Declarative Rules?
Ans: Declarative rules are never referred from any rules. These rules are
triggered when the condition specified in the Declarative rules occur. When
the value of a property is involved in any of these declarative rules, the
system automatically checks using an internal dependency network for other
values that are affected and performs other processing as determined by the
network. This is known as forward chaining.
Decision rules are referred from Flows, Activities, and Other decision rules.
These rules compute the logic specified in the rules and the output is
updated accordingly to the clipboard.

8) How to include Section with in the Section Layoutwithin the


Layout?
Ans: Section within other section is possible by simple drag and drop of the
section from application explorer or providing reference to the section
properties.Layout within other layout is not possible.
9) About Flows in our projects?
10) Flow Types?
Ans:
A flow rule that contains no assignments, and so can execute from
start to end without human input, is known as a straight-through

process.
A flow rule that consists only of assignments or decisions and meets

other criteria is known as a screen flow.


A flow that creates a new work item is called a starter flow.
A flow that is called by another flow is known as a subprocess; the
calling flow is called parent flow. Processing of a subprocess is
synchronous, meaning that the calling flow execution pauses for the

11)
12)

duration of the subprocess.


How to create Harness?
List ViewQuestions? How to create one tab to get List view in a

Section?
Ans: ListView is a form of reporting in PRPC,other form being SummaryView.
Embedded?checkbox needs to be checked to include a Listview into a
section. The default method to pull up the contents of listview is getContent
and stored in pyListViewContentPage on clipboard. The JOIN tab of listview
can be used to pull data from multiple related tables. All the required fields
for preparation of listview can be mentioned in GET THESE FIELDS section.
But the fields to be displayed to the end user should be mentioned in
SHOW THESE FIELDS section. Events like Singleclick or Doubleclick can be
handled through scripting or activities from EVENT HANDLING section of
FORMAT tab. The fields used in CRITERIA section has to be exposed
properties.
13) Difference between ListView and SummaryView?
Ans:ListView provides a simple view of the records(nice interactive and
attractive display of report) fetched from the db with fields that are
configured in the rule.
Summary View provides a beautiful view of the information fetched from db
using pie charts, bar graphs etc.

14) Types of SLA?


Ans: SLA abbreviates to Service Level Agreements. SLA is a rule typically
referring to 3 different time intervals(Goal, Deadline, Passed Deadline) that
indicate the expected or targeted turnaround time for an assignment to be
resolved. SLAs are monitored and detectedby Pega-Procom Agent in PRPC. An
initial urgency value can be defined in the definition of the SLA. And time
interval specific urgency value can be mentioned at the particular timeline
level. The urgency value of the assignment increments accordingly once it
reaches the particular time interval. For each time interval, escalation activity
can be mentioned, which takes care of the action that needs to be done if the
assignment reaches this time interval. Passed Deadline can be looped if the
assignment is still not resolved for each occurrence. The no. of times can be
mentioned in the definition of the SLA. An SLA can be referred from an
assignment or to the complete flow in pyModel (i.e. data transform)
15) Instead of PYWorkPage what are the remaining Pages?
Ans: Top level pages are UserPages, SystemManagedPages, and
DeclaredPages.
16) About Clipboard?
Ans: Clipboard is a temporary memory area on server assigned by PRPC for
each logged in operator. The action tab in the clipboard viewer tool enables
user to Create Page, Delete Page, Update Page, Execute Activity, Start Flow,
Find properties on clipboard. This action tab is only available for users with
clipboardViewerUpdate privilege.
17) How to handle the Exceptions?
Ans: Exceptions are handled in activities in Transition area. 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. Standard When conditions like,
StepStatusFail or StepStatusGoodetc use the above property to determine
the status of the transaction done in the step. Ticket shape can be used for
exception handling in flow.
18) Difference between Screen Flow& Process Flow?
Ans:
Screen Flow
Screen flow is a flow of screens in a

Process Flow
Process flow is a mix of human

sequence which the user can go back

intervention or automated activities.

and forth of the screens and modify the


inputs and finally submit the form. There
will be no automated activities in Screen
flow.
Screen flows cannot create new work

Process flows can be used to create a

object and hence cannot be used to start

workobject and can be starter flow.

an application.
Limited no. of shapes are available.

Complete set of bpm shapes are

Screen flows can have embedded

available.
Any process can be a Subprocess in

subflows. But normal standard flow

process flow.

cannot be added as subflow and only


another screen flow can be added as
subflow.
Flowactions are mentioned in

Flowactions are mentioned in

assignments.

connectors.

19) About Ticket Shape?


Ans: A ticket shape is just a label and doesnt define any business logic. But
there will be business logic followed by Ticket shape. Ticket shape can be
used for exception processing in a flow. Ticket shape can be referred in
Activities(using Obj-Set-Ticket method) and Flows.Its similar to GO TO
statement in general programming.
20) Spinoff Shape Vs. Sub Flow?
Ans: ASpinoff shape is used in a workflow when asynchronous processing of
another flow (i.e. subflow) is required. The main flow doesnt wait for the
subflow and simply continues processing. This spinoff flow is required when
parallel processing is required to improve the efficiency of the process and
staff utilization.
A Subflow is a simple flow which can be embedded in a starter flow. A subflow
can be triggered on a current work item or a new work item. A subflowcan
representa branch to another flow without returning (one or more incoming
connectors, no outgoing connectors) or a call to another flow with return (one
or more incoming connectors, one or more outgoing connectors).

Processing of a subprocess is synchronous, meaning that the calling flow


execution pauses for the duration of the subprocess.
21) Fork Vs. Decision Shape?
Ans:
Fork
A simple when condition is used for

Decision
Decision tree or Decision table or Map

decision making to take appropriate

value are referred for complex decision

route.
Connectors available are: Always, Status,

makingto take appropriate route.


Connectors available are: Status, Else.

When, Else

22) How set Message?


Ans: Messages can be set to a property or a page. Message can be a static
value mentioned in quotes directly or through a Field Value rule or Message
rule. Message rule can be parameterized also.
Messages can be set in Activity, Constraintsand Validate rules.
Activity: MethodPage-Set-Messages To set message to the step page.
Method Property-Set-Messages To set message to particular property
on step page.
Constraint rule: This is a declarative rule. Based on constraint (i.e. one
business condition), a message can be set to a particular property.
Validate rule: Based on a business condition, a message can be set to a
particular property.
23) About Validations?
Ans: Validations in PRPC can be achieved in two ways, Page Validation &Obj
Validation using Rule-Edit-Validate&Rule-Obj-Validaterules respectively.
Rule-Edit-Validate rule is referred in a property definition. This is invoked
using Page-Validate method in activity. Page-Validate method in activity
invokes all the Rule-Edit-Validate rules on all the properties on the step page.
It also triggers constraint rules of all properties. So, its an expensive in terms
of performance.
Rule-Obj-Validate rule is referred in activity using Obj-Validate method in
activity.
Rule-Obj-Validate isreferred in Action tab ofFlowAction also.
24) How to validate Properties in flow action?
Ans: Rule-Obj-Validate is referred in Action tab of FlowAction.
25) What is Model?

Ans: 6.2 onwards model is named as DataTransform. By convention, a model


named pyDefault is available for most standard classes. However, the name
pyDefault is not reserved and has no special significance. Generally model is
used to set default values to properties that will be applicable throughout the
class. Model is referred only in a Flow. Select the Call superclass data
transform? checkbox to chain together this data transform and data
transforms with the same Name in any of its parent classes. At runtime, the
system first performs the actions defined in the highest-level data transform
highest.
26) What arethe different Debugger tools available in Pega?
Ans: Tracer, Clipboard, Rules Inspector(Can inspect HTML Rules, Property
Rules, Declarative Rules, Field Value Rules, Styles), Trace open rule (Available
only for service rule or activity), Logfiles.
27) Where we will write Java code in pega?
Ans: In a few cases, you can enter Java source code directly into rule forms.
Edit Input rules
Function rules
Java in an activity step
Java directive in source HTML
Using hand crafted java is against the pega guard rails. If custom java is
written, as situation demanded, it is recommended to run Rule Security
Analyzer tool to identify any security vulnerabilities.
28) What is correspondence?
Ans: Correspondence in PRPC can be a printed letter, fax, email, or SMS
phone text. Printing and faxing is handled by an optional component known
as the Correspondence Output Server. A correspondence can be referred
from Flow, FlowActionand Activities. Custom Correspondence type can be
prepared. Correspondence templates can be made with the properties
referring from clipboard. This enables reusability.
29) Why Pega? Why not Java?
Ans:PRPC is a Java server application. PRPC provides the run-anywhere,
inheritance, memory management, multithreading, scalability, and
encapsulation benefits of Java to business rules and business process
management (BPM) applications. Integrating PRPC with Java EE and EJB
applications, JMS, SOAP/XML, and other new technologies is simpler because
of its Java foundation.
To create a PRPC application (a set of rules grouped into one or a few
RuleSets) business analysts and other developers create and update forms to

define the rules, rather than writing Java source code. This approach
improves developer productivity, program modularity, and maintainability.
Using rule forms enables less technical people to work with familiar "objects"
rather than learn a new language or syntax. When PRPC accesses rules to
execute them, it assembles executable Java code.
30) What are the important readings in PAL?
Ans: Total Elapsed, Total CPU, Total Rules Used, Activity Count,AlertCount,
RDBI/O Count.
31) What is IAC?
Ans: To display the PegaRULES Process Commander (PRPC) application
harness on the web page, you include an HTML <DIV ...> element that
specifies the PRPC application as a gadget. You also include a JavaScript
application on the page, the Pega Gadget Manager
(PegaInternetApplicationComposer.js) that supports event handling between
the PRPC and the Pega gadgets on the page, and enables communication
between multiple gadgets on the same page.
If the client web page is in the same enterprise intranet as the PRPC
application, you can configure the Gadget to connect directly to the PRPC
application.
32) Difference between SpinOff, SplitForEach&SplitJoin shapes?
Ans:SpinOf: It will be used for asynchronous processing of a subflow within
a main flow. The main flow triggers the subflow and continues with its
processing. It doesnt wait for the subflow to complete.
SplitJoin: It will be used for synchronous processing as well as asynchronous
processing. Split Join guarantee that "sub flows" of your flow are completed
before continuing with the current flow. 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.
SplitForEach: 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.
33) Difference between DeclareContraint&ValidateRule?
Ans: DeclareConstraint need not be referred from any other rule but Validate
rule needs to be called to get it triggered. DeclareConstraint support the
guard rail of programming declaratively rather programmatically.
ValidateRule defines the validations that are required on a particular property
rule. This rule has to be referred from any other rule to come into action.

34)

How many work objects can be created in Production

environment?
Ans: n number of work objects can be created. That means, the number of
work objects is not limited by any parameter in Pega. Its completed based on
the availability of RAM/memory on the server.
35) Explain the deployment process in production environment?
Ans: A rule of type Rule-Admin-Product (RAP) can be prepared with the
required applications and rule sets and rule set versions. This product can be
exported to a zip file or jar file. This application zip file will be sent for
deployment.
In the production server, PegaButton Application Distribution Import
wizard can be used to import the application zip file.
36) Differences between Connect-SOAP & Connect-HTTP?
Ans: Use Simple Object Access Protocol (SOAP) over HTTP, the SOAP
integration interface in Process commander supports interactions with
external systems through Web services. Use SOAP connector rules when your
Process Commander applications need to call an external Web service.
Use HTTP connector rules when you want your application to send XML or
string data (text) as messages to an external system without the need to
comply with messaging standards or protocols like SOAP. Use the ConnectHTTP method to start an HTTP request/response interaction between Process
Commander and the external system identified by a Connect HTTP rule.
37)

What are Declare pages? And what the different modes

available?
Ans: Declared pages are instances of Rule-Declare-Page class. These pages
on clipboard are used to hold static information that is used and referred by
all requestors in the application. This can also be some infrequently changing
information. These rules are created only when they are first accessed.
Different modes are specified in PageScope field and can be Node, Thread &
requestor.
38) What is Passivation?
Ans: Passivation allows the state of a Java object such as an entire Process
Commander PRThread context, including the clipboard state to be saved to
a file. A later operation, known as activation, restores the object.
PRPC supportstwo types of passivation,
Clipboard Page passivation:When all or part of a requestor
clipboard is idle for an extended period and available JVM memory is

limited, Process Commander automatically saves clipboard pages in a

disk file on the server. This frees up JVM memory


HTTP Session passivation:Optional HTTP session passivation can
help provide high availability in a multinode environment. If a node

fails, activation of the session can usually continue on a different node.


39) Which feature ofPega supports Two Phase Commit?
Ans: Two phase commit is the term used for distributed transaction. If your
Process Commander application must participate in distributedtransactions
(in simple language, this means, One PRPC app writing to two completely
different data sources using different db driver and setup), Process
Commander must be deployed as an enterpriseapplication and your system
is configured to use a JDBC driver withXA support.
There are two ways for Two Phase Commit:Bean Managed, Container
managed.
Bean Managed: Bean-managed transactions are those for which
Process Commander directlyuses the Java Transaction API (JTA) to
begin, commit, or roll back changes. I.e., Process Commander manages

the transaction.
Container managed:Container-managed transactions are those for
which Process Commanderparticipates as one resource in a distributed
transaction. When transactions are container-managed, they are

committed orrolled back by the J2EE application server the container


40) What is Vulnerability?
Ans: One type of vulnerability is, whenever handcrafted java is used, we need
to run Rule Security Analyzer tool to check for any security vulnerabilities.
41) What is rule restriction? Asked this question with an example
of Framework layer and implementation layer.
Ans: This can be achieved using Access-Deny rule type. Use an Access Deny
rule to restrict users who have a specified access role from accessing
instances of specific classes under certain conditions.
42) Difference between Framework layer & Enterprise layer?
43) When we use Java method is activities, Preflight throws a
warning for guardrail violation. So, client may be unhappy seeing
the warnings. What can be done in this situation?
Ans: Preflight throws warnings if any of the guardrails are violated. In this
case, you can justify why this particular warning is unavoidable using the
Justify warning link in the rule itself(besides the warning).
44) How many requestor types are available?

Ans: BROWSER, BATCH, PORTAL, APPLICATION


45) How can you see what other users are doing on their Pega
sessions?
Ans: Remote tracer can be used to watch the Pega session activities of other
users. This feature is available in Tracer window only. Remote tracing is also
possible from SMA.
46) What are the different types of tools available inPega?
Ans: Move Rules Tool, SMA Tool, PAL, Tracer, Guardrails, Clipboard Viewer,
StyleViewer, Rule Security Analyzer.
47) What is SMA tool?
Ans: SMA stands for System Management Application, is a web application
that developers can use to monitor and control cache, agents and other
processing in your PRPC system. You can monitor memory management,
agents management, http service request details, remote logging,
webserver/appserver installation details and edit prconfig.xml too.
48) What are the different types of Pega logs?
Ans: Different types of Pega logs are PEGA, SERVICES-PAL, ALERT, BIX, and
ALERTSECURITY.
49) Difference between Exit-Activity and Activity-End in step
methods in activity?
Ans: The Exit-Activity method ends the current activity and returns control to
the calling activity.
The Activity-End method ends the current activity and all calling activities
50) Difference between Call an activity and Branch an activity in
Step methods in activity?
Ans: Call instruction causes the current activity find another specified activity
and execute it. When that activity completes, control returns to the calling
activity.
Branch instruction causes 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. Execution of the original activity pauses.
When the branched activity ends, processing of the current activity also ends;
no steps after the Branch step are executed.
51) When do you use Decision Tree and when do you use Decision
Table?
Ans: Decision tree is used when we have to build complex nested if else
conditions and Decision table is used when the simple if else is the required.
52) What all the information you mention in Operator creation?

Ans: Accessgroups, org/div, Workgroup & workbaskets are important


information.
53) Have you ever worked on DSM - Decision Strategy
Management? Explain?
54) If User A and UserB are associated to single accessgroup, can
UserB access the workbasket of UserA?
Ans: No. Workbaskets are not related to accessgroup. Workbaskets are
mentioned in operator instance.
55) Difference between RDB-List & RDB-Open?
Ans: Difference is similar to the differences between Obj-List &Obj-Open.
56) What do you think Pega does internally in RDB and Obj
methods? Differences?
Ans: Obj methods: Pega internally generates the sql statements required for
the operations (like open/save/delete/list etc.).
RDB methods: We, the developers, will be providing the required sql
statements for the operations for execution in Connect-SQL rules. So, its
developers responsibility to use the correct table, column names etc. in the
sql statement.
57) How do Pega recognize if the table is internal or external
table?
Ans:Pega recognizes based on the existence of pxObjClass/pzInsKeyproperty
in the particular table. If the property/esexists, its an internal table else
external table.
58) How many rules will be created once connect soap is
consumed?
Ans: A minimum of two rules i.e. Connect-Soap and referring activity will be
created. Whether more number of rules are created are not basically depend
on the no. of input and output parameters.
59) Activities Purpose of MayStart?AndAuthenticate checkbox?
Ans: May Start:Select to allow users to start this activity directly through
user input processing, for example through a Submit button or a pyActivity=
element in an URL. Clear this if this activity is to be started only from another
activity, through a Call, Branch, or other means.
Authenticate: Select to require that only authenticated requestors can start
this activity.[In most cases, clear this checkbox if the activity is for an agent.
Agents are not true authenticated users and by default cannot run activities
that are restricted to authenticated users. However, this checkbox is ignored
by agents for which the Bypass activity authentication checkbox (on the

Security tab is checked; they can run activities regardless of the


Authenticate? value.
60) Guardrail which is related to Activities?
Ans: Limit custom java, Do Nothing Hard(use OOTB), declaratively and not
programmatically.
61) Guardrail which is related to User Interface?
Ans: Do Nothing Hard(use OOTB)
62) How do you join two tables in LV? And Is this inner join or outer
join?
Ans: In Join tab of LV. ItsOuterjoin.
63) What is the difference between LocalVariable and Parameter?
Ans: Parameter is a variable which is expected from the calling activity and
LocalVariable is for internal(within the activity) logic building used. This local
variable is not exposed to outside.
64) How do you pass a localvariable to another activity as a
parameter?
Ans: Local variable is for internal logic building in the activity. This cant be
passed over as a parameter.
65) How do you log messages in activities?
Ans: Property-Set or Page-Set or Log-Message method in activity.
66) Difference between PageList and ValueList?
Ans: PageList is a property mode and is used to hold list of pages.
ValueList is a property mode and is used to hold list of values.
67) How to you limit a user from checkin/checkout functionalities?
Ans: Using Allow Rule Checkout checkbox inAdvanced tab of operator rule
form.
Checkout can also be limited for a particular ruleset using Use check-out?
checkbox in Security tab of Ruleset rule form.
68) Difference between Connect and Service rules?
Ans: Connect rules are used to consume some external features into our
application.
Service rules are used to expose our application features to external
consumption.
69) How do you map a class to a data table?
Ans: While creating a data table, we need to mention the class to which this
data table is mapped. This can be any class i.e. work class or data class.
70) I have a property with name pyId, but in the database I have
named it as CaseId by mistake. Now, how do I write sql query to
fetch this in external db?
Ans: This can be achieved using External Mapping tab in the respective class
rule where the Column Name and respective Property Name can be mapped.
71) Withdrawn rule?

Ans: Equivalent to deleted rule. The rule cannot be referred from any of
higher version and current version rules.
72) Difference between Obj methods and RDB methods?
Ans: Obj methods are used to operate on instances stored in the PegaRULES
database and in an external database linked to an external class.
RDB methods are used to operate only on an external relational database. Do
not use RDB methods to operate on the PegaRULES database, because not all
properties in the PRPC databases are distinct database columns.
Obj- methods can be used to retrieve data from the BLOB(pzpvstream
column) and save data to the BLOB . So they can be used for properties that
are not exposed along with the exposed properties.
RDB- methods cannot read from or update the BLOB.
So if our table has the pzpvstream(BLOB) column then we should always use
Obj- methods. This will work on the exposed columns as well as the BLOB.
.
73) How do you achieve Call and Branch functionalities in BPM?
Ans: Call can be implemented using a simple sub process in the main flow.
When a subprocess is encountered in the main flow, the main flow is halted
temporarily and the subprocess is executed. Once the subprocess execution
is completed, the main flow is continued. (Assuming further shapes are
present after the subprocess call in the main flow)
Branch can be achieved in a flow. Lets say, I have a main flow with 3
assignments(Assignment 1, Assignment 2, Assignment 3) and then a
subprocess. There are no more shapes in the main flow. And the in the
subprocess there are 2 assignments (Assignment 4, Assignment 5) and then
an End shape.
74) What are the key things that needs to be considered while
designing
Ans: Class structure, application architecture, DB Model, DB Designing.
75) What is the difference between node and thread?
Ans:
A PegaRULES Thread object is a named context of clipboard pages.
Most processing for a requestor is single-threaded. Ordinarily, each
interactive user, accessing PRPC through HTTP and a browser has only
a single, dedicated process, and one Thread named STANDARD. The
pxThread page is a named top-level clipboard page sometimes
referred to as the thread page. The class for the page is Code-PegaThread.

PRPC engine can operate in a distributed mode, running


simultaneously on more than one server in a cluster. Each server

76)

hosting the PRPC rules engine software is known as a node.


What are the super classes present in pega immediate to

@baseclass?

Ans: There are 12 toplevel classes which are immediate to @baseclass. They
are
Assign-, Code-, Data-, Embed-,History-, Index-, Link-, Log-, Pega-, Rule-,
System-, Work77) In an activity, can we jump to a previous step i.e. lower
numbered steps?
Ans: No. Pega doesnt support this.
78) What is the purpose of skimming?
79) Localization?
Ans: The localization process overrides text in user-visible field value rules
that appear in application elements such as user forms and portal displays.
This process makes an application available in one or more additional
languages.
80) When will a work object be actually saved in a screen flow?
81) If we write System.out.println in java code then where can we
see the message, tracer or clipboard?
Ans: System->Tools->Logs->Log Files
82) How do you call 2 assignments at time? About map value?
83) What is AJAX? How we used in Pega?
Ans: Asynchronous JavaScript and XML (AJAX) is a Web technology that allows
browser-based applications to communicate with a server without
transmitting the entire HTTP input, and to render only parts of the form rather
than the entire form.
Using XML and the Document Object Model, AJAX-based software can provide
more interactivity to browser-based applications and reduce the traffic
between the client (browser) and the server.
Process Commander uses AJAX technology in:
Dynamic select operations
User interface events such as Visible When, Refresh When
Deferred loading of sections of user forms
Display on user forms and flow action forms of calculated values

84)

computed by declare expression rules


SmartPrompt support
How to send a work assignment simultaneously to Worklist and

Workbasket?
Ans: Using spinoff shape or Slit-join shapes in workflow.

85)

Which is better option of Decision Table and Decision Tree in

performance aspect?
Ans:Performance wise, Decision table is more efficient than Decision tree.
Basically, as a rule of thumb,
If you're making decisions on series of data that are different from one

branch to the next, use decision tree.


If you're making decisions against the same data element, use decision

table.
If you're making decisions on the basis of only 1 or 2 values, then use

MapValue.
If you want to get a Boolean returned, or when your decision employs a
lot of complexity but doesn't need to be applied to a lot of cases,

consider using a When rule.


86) How is urgency value computed in SLA usage?
Ans: https://pdn.pega.com/forums/pega-academy/senior-system-architectprogram/using-slas-urgency-of-assignments
87) Push routing and pull routing in pega?
Ans: In many business processes, tasks to be performed by human workers
are stored in central in-baskets or electronic equivalents of in-baskets. A
supervisor reviews the tasks and assigns them to a worker on her team, or
workers select an item to work on when they become idle. This approach is
called "pulling" work.
In other settings, work is sent directly to workers based on their
availability or other criteria such as skills, regions, or customer account
number. This is called "pushing" work.
PRPC supports both approaches. Your routing activities can place
assignments in workbaskets, or can send the assignments to worklists.
88) What is the feature which acts a constructor in Pega? (like java
class constructor)
Ans: Model orDataTransform (pyDefault)
89) Which is efficient of Obj-Browse &Obj-List-View?
Ans:
90) Difference between Cover & Folder?
Ans: Covers and folders are two built-in facilities that allow your application to
support collections of work items.A folder work can be a member of other
folder work items.
Folders contrast to covers in following aspects:
One work item may be associated with multiple folders, but only with
one cover.

Members of a folder can belong to different work types, which need not

belong all in a single work pool.


The relationships between folder work items and their contents may be

many-to-many.
As a business example, consider a purchasing application where a basic work
item is a line item on a single purchase order:
The purchase order corresponds to a cover object. Every line item

belongs to one purchase order.


Folders organize open purchase order line items by our part number
and also by the vendor's part number. A folder work item (in WorkFolder-OurPartNum work type) may be associated with several line
items, and one line item can simultaneously belong to a Work-Folder-

OurPartNum work item and a Work-Folder-TheirPartNum work item.


91) How to trace Listeners/Agents/Services?
Ans: Listeners(MQ Listeners etc.) and Agents can be monitored from SMA
tool.
92) Agents?(Standard and Advance differences)
Ans: An agent is an internal background process operating on the server that
runs activities on a periodic basis.
The name of an agents rule is the name of a RuleSet and there can be
only one agents rule defined for each RuleSet and version in a PRPC

system.
When the Agent Manager master agent notices a newly added Agents
rule (Rule-Agent-Queue), it generates agent schedules (Data-Agent-

Queue instances) for each node in your PRPC system.


Each agent activity runs individually on its own interval schedule, as a
separate requestor thread. Do not design application logic that

depends on agent activities running in a specific order.


QueueMode determines whether the agent uses the agent queue
capability to process items from the agent queue. This feature allows
the agent to temporarily skip over items that fail for example,
because a needed resource is locked and try again later to process
the item later. Three options of queue mode are,
Legacy Specifies that this is an agent that was created in a
version prior to V5.4 and has not yet been updated.

Standard Specifies that this agent processes items from an


agent queue and that it relies on the system to provide object

93)
Ans:
94)
95)
96)

locking and other transactional support.


Advanced Specifies that this agent uses custom queuing.
Can we map 3 different work types to 3 different work tables?
Yes, this can be.
How to get the data from 2 different tables?
Exception handling while RDB methods fails?
Using Agent we run 10 wo's and from this 5 wo's are failed,

how you know this info?


Ans: some listview will be there to know these details
97) Global resource settings?
98) Parsing and stream rules used in connect-soap?
99) What does the naming convention of pr_/pc_/pvbv4_ in the
initially installed PegaRULES database represent?
Ans: When initially installed, objects in the PegaRULES database follow a
naming convention, using these prefixes:
pc_ identifies tables containing instances corresponding to PegaProComRuleSet capabilities, such as flows, work items, and

assignments.
pr_ and pr4_ identify tables for activities, properties, requestors, and
other features of the rules engine, corresponding to Pega-

RULESRuleSet capabilities.
pvbv4_ identifies views that speed queries and reporting.
sppc_ and sppr_ identify stored procedures.
trpr4_ identifies database triggers.
100) I have consumed a WSDL using Connect-SOAP and created

activities. But later, the request parameters are updated or new


parameters are added. What changes do you need to do in PRPC
for the webservice to work? I.E. How to update an existing
Connect-SOAP?
101) Difference between Obj-Open &Obj-Open-By-Handle methods?
Ans: Obj-Open is used to open a particular instance stored in PegaRULES DB
or an external DB and populate the details on the clipboard page. The system
uses the specified class and key fields to find and open the object and place
its data into the specified step page.
Obj-Open-By-Handle is used if you can determine the unique handle that
permanently identifies which instance to open. Otherwise, use the Obj-Open
method. The handle of an instance is a unique key, in an internal format,
assembled by the system that identifies an instance in the PegaRULESDB.

102) Difference between Obj-Browse &Obj-List methods?


Ans: Obj-Browse method is used to search instances of one class and copy
the entire instances, or specified properties, to the clipboard. Only properties
exposed as columns can be used as selection criteria. However, values of
properties that are not exposed as columns, including embedded properties,
can be returned. All the properties which are used in the select criteria has to
be exposed properties. The selection criteria can be an exact value
Use the Obj-Browse method optionally followed by the Obj-Filter method to
create a list of search results. The Obj-Browse method selects instances
based on values of properties exposed as a column. The Obj-Filter method
qualifies and filters list results based on all property values, exposed or not.
Together these two methods provide greater control over which properties
are returned, and better performance, than the Obj-List method.
Obj-List method is used to retrieve data to the clipboard. This is a
deprecated method. At least one property mentioned in the
SelectionProperty list should be exposed property. The selection criteria
have to be between a range of values.
103) Difference between Starter Flow & Normal Flow?
Ans: A work object can be created only by a Starter Flow. A Normal Flow
refers to a flow which cant create a workobject. Such normal flows can be
only be used as a subprocess in starter flow.
104) How do you identify whether the flow is a starter flow or
normal flow?
Ans: This can be identified in the Process tab of the flow. Creates a new work
object? checkbox will be checked for a starter flow.
105) Any real scenario where you used Access-Role, Privilege,
Access-Group?
106) Hi
107) Hi
108) Hi
109) Hi

Diff b/w ojb and RDB methods?

We can also use Obj methods to do transactions in external DB, but usually while we
are connecting to external databases/systems we usually may have complex
queries to fetch data and some customization might required.
Obj methods are preferred for simple transactions, whereas RDB methods are
preferred for complex custom transactions with external DB(major cases).
1. We can use both Obj and RDB methods for retrieving data from External
Database and internal Pega Database. But if we have requirement to fetch the data
from External DB using "Stored Procs", then we should go for RDB insted of Obj
methods.
2. To run the SQL calls in parallel to your applcaition, then we can use RDB methods
where we have an option called "Run parallel". If we enable that option then the
connector call will run in parallel and data will available in your clipboard. But
Exception handling should be handled here.

How To set up two-way SSL for SOAP over HTTP using Rule-Connect-SOAP :
To prevent unauthorized access to your Web services, you may implement two-way
SSL (Secure Socket Layer). Two-way SSL requires the Web services server to present
a signed certificate to the client proving its identity, as well as requiring the client to
present a signed certificate to the server verifying its identity.
If two-way SSL is not configured properly, no connection is made and an error
similar to the following may appear:

Suggested Approach

To initiate two-way SSL over HTTPS using Rule-Connect-SOAP, you need to configure the trust
store and key store files, and then configure the client and server.
Configure the trust store and key store files
The trust store and key store files should already be configured. If not, your Web Services
system administrator needs to perform the following steps.
1. Create and Import the server certificate into the client trust store.
2. Create and Import the client certificate into the server trust store.
NOTE: See the instructions at the following link to complete steps 1 and 2:
http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html
Server configuration
On the server, configure the HTTPS connector in Tomcats server.xml file
($CATALINA_HOME/conf/server.xml):
1. Uncomment the connector definition in the file (by default it is commented out).
2. Set the clientAuth attribute to true.
3. Enter values for the following attributes to point to their configured file locations:

keystoreFile

truststoreFile

4. Enter the appropriate passwords for the following attributes:

keystorePass

truststorePass

The updated connector definition in the server.xml file will be similar to the following:
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="true"sslProtocol="TLS"
keystoreFile="server_keystore.keystore"
keystorePass="server_keystore_pw_mypassword"
truststoreFile="server_truststore.keystore"
truststorePass=" server_truststore_pw_mypassword"/>
It should be noted that that relative filepaths for the keystoreFile and truststoreFile are resolved
relative to the $CATALINA_HOME directory.
NOTE: For Tomcat, the keystore password and the key password should be the same. This
applies to the client keystore specified below as well. (For details, see the section entitled
Prepare the Certificate Keystore in the Tomcat URL referenced above.)
Client configuration
On the client, add the following command line arguments to the Tomcat setenv.bat file:
-Djavax.net.ssl.keyStore=C:/tomcat/client_keystore.keystore
-Djavax.net.ssl.keyStorePassword=client_keystore_pw_mypassword
-Djavax.net.ssl.trustStore= C:/tomcat/client_truststore.keystore
-Djavax.net.ssl.trustStorePassword= client_truststore_pw_mypassword
where the values for these arguments are the file locations and the passwords.
For further details on this step, see the instructions at the following link:
http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html
Error reporting
Two-way SSL involves heavy HTTP traffic. If an error message displays, this traffic makes it
difficult to determine where in the process the error occurred. To resolve this issue, set the
following command line option in Process Commander:
For Sun JVMs:
-Djavax.net.debug=all

For IBM JVMs:


-Djavax.net.debug=true

You might also like