Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 14

*********************************** PEGA

**********************************************

Direct Inheritance - we can access only the functionalities of same application


classess
pattern Inheritance - we can access other the functionalities of other application
classess

Understanding or looking up the step by step execution flow is called Debugging


process

Tracer is debugging tool provided by Pega

Call Branch Queue Java - act as instructors

Waiting for the child activity to complete is synchronous - Call


The steps after the branch activity execution is ignored
The steps after the call activity execution will execute as expected

Whenever we use Queue instruction parent willnot wait for child to completed is
called asynchronous

DataPage (Cache Memory) is a shared page on server clipboard ( It is used In order


to avoid executing the rule, hitting the db and fetching a common data for period
of time )
It is available either in page or list structure, By defaults its is in readonly
mode. All data pages are prefix with D_

Data Page is called as Declare Page before version 7

Read only pages get created under Data Pages in clipboard. Cannot be modified and
Deleted
Editable Pages are created under User Pages in Clipboard. Can be modified and
Deleted

Page - Will hold one data


List - will hold numbers of data

Get the data from the data pages from the data source like Activity report
Definition

Readonly data pages were automatically deleted after creation of 24 hrs. Inorder To
do delete based on schedule we use option Laod Management -> Refresh Startegy

We can pass the day or time value to delete those records automatically

Also if we restart the server , Data page will be deleted

Clear Data Page button helps to delete the data page frocefully

Reload Once Per Interaction - For every WO object creation, Data page get created

FlushDeclarativePage to delete read only data page


SCOPE :

Data page is available for sharing within one transaction but not the other -
Thread
Data page is available for sharing across multiple transaction of same requestor -
Requestor
Data Page is available for sharing across all requestor of same server but not the
other server - Node

To load the UI data into table,

First need to create a datatype that holds the UI data in the required
application classess.
Create a actvity to hold the UI data in clipboard by creating a temp page
using Page-New, refer a table class in Pages & clasess
Create a OBJ Save method , create and assign the parameters to hold the UI
values from the created temp page.
save the activity
Before running the flow, neeed to get the Data from UI , we use some
preprocessing method in flow action.
In Flow action, in preprocessing get the property values and pass the value
to the parameter created in actvity
after all action remove the cretaed temp page to avaod storage issue

If the actvity executed along the work object flow, there is no need to use commit
method after using Obj save.
If not, the activity run standalone, the data will not persisited to table without
using Commit method in activity

Commit - It helps to commit (persist) the changes into the table after making any
updates using OBJ-SAVE method
We can use Write Now option from Obj_save to persist the changes into DB

Differ Queue - Virtual storage place in PEGA

Once after Obj-save executed the data will stored in Differ Queue later using
commit or Write now it will fetch the date to physical storage

Diff B/W Write now and Commit

Commit Will commit entire data in differQueue but Write Now will commit the data
which is write now enabled

OBJ-SAVE-CANCEL - will roll back the latest uncommitted OBJ-save data in differ
queue
Rollback - will erase every data in differ queue

OBJ-BROWSE is readonly data whereas OBJ-OPEN is editable data

Busn req : Working with OBJ-OPEN, Create a new screen to perform customer search by
CUST-ID, Form should have a custID field, button, fields to display customer
details.

When user searches by cust id display the result in read only format
Part 2 - If cust Id was not found, display a message saying that customer ID not
found

Embedded sction - It helps to merge two section into single section

Maximum number of recommended steps in activity is 28

Pre condition & Post Condition or Transition

Before executing the method in activity when rule is executed means its Pre
codnition
After executing the method in activity when rule is executed in the jump button
means its Post codnition

WHEN Activity ,

Some of the condition under activity when,

SKIP WHENS - it will skip the when that listed further after this condition
CONTINUE WHENS - It will continue execute further when
SKIP STEP - It will skip the current step where the when is given
JUMP TO LATER STEP - It will jump to the step that mentioned by the given label
EXIT ACTIVITY - It will exit from the mentioned activity.

Rule data page is instances of class Rule-Declare-Pages


Rule Section is instances of class Rule-HTML-Section
Rule Property is instance of Rule-Obj-Property
Rule report definition is instance of Rule-Obj-Report definition

Primary = py.Workpage

OOTB property name prefix - px,py,pz


Locking Concept - Check if the Work object is being edited by someone else or not.
If its edited it shown a message if not prpc will acquire lock to WO
WO status, feild value, Pratical
primary Key - Unique value

Before learning about OBJ-OPEN-BY-HANDLE, we have to learn about the above


mentioned topics

Customer Search Activity Steps :

First need to create a CustomerSearch Property page class to call the Customer
table as reference
Create a Section for search and Results seperately
Later Embed the section to a single section for viewing the results along with one
button
Create a activity to check the customer ID found in table or not
Create a method OBj Open to check the Value and if found store the value in temp
page and copy the data from temppage to Workpage using Page-Copy Method

Result them based on condition using on one flag property truefalse using that
display the section accordingly
Create seperate flow and flow action for this action to test the scenario

pr_sys_locks - table where the Prpc insert a record into it whenever user editing a
WO
For idle section, default lock timeout is 30 min

Obj-Open - Lock - To aquire lock while programatically opening work object for
editing or Updating to prevent from updating by someone else
Release on Commit - After releasing the lock the save got committed. After submit
lock will be relased in transactional WO but while doing programtically we have to
release them using this option.

Purpose of primary key in database - It has unique value

pzinskey for WO - combination of instance class and class key or key ID


pzinskey for Rule - Combination of Instance class, rule class ,rulename and
createDatetime

to find the pzinskey in any rule Action -> View XML -> search for pzinskey

OBJ-OPEN-BY-HANDLE - inorder to fetch single record based on pzinskey

Flow - Is a transaction model

WorkObject status or Case status - Each and evey step in transaction processing
pega provides facility to assign some status to WO

Whenver we used to create a status , we need to create a feild value rule

Busn req : Working with feild values and work object status , pzinskey

to assign work status we need to create a field value, Datamodel -> Field Value
using property pystatuswork and assign them in by double clicking the flow shape in
assigmnent details dropdown enter the value in work status field

Busn req : Create a standalone actvity to update the status of existing WO. This
activity should update case status from current to new status

To get the index of current page in iteration we use this term <CURRENT>

**************************************** CASE TYPE


**********************************************************

Case designer wizard helps the dveloper to create , design the work object life
cycle

Stages - Collection of processs (Multiple flow under one stage)


Processes - Collection of steps
Steps - Action or Flow shapes

Architect or Business Analyst - Will deisgn the case life cycle (top level)

SCREEN Flow

Configure view : Will create sections , flow actions , automatically

Before Pega 8.4, When you create a casetype PRPC is going to create one flow
pystartcase on which create a new work object is selected & grayed out. When you
run the case type, pyworkobject flow will executed and create works object.
After Peg8.5, When you run the case type , it doesn't create work object
automatically, Inorder to create work object OOTB activity will invoked for
creating WO NewFromFlow -> New -> Add -> Addwork -> GenerateID

The default name that created once after creating a casetype is pydefault

Best approach of creating section is , Section created in data class and accessing
them into work class by using page reference.

While embedding data class section into work class using page refrence, before the
sction loaded we have to make sure whether the page is created in clipbaord

Inorder to achive this, we have to set any label property of this page to null in
pydefault DTF or pySetFieldDefaultDTF or OOTB DTF

Validations - Validate, Edit Validate

Client side validation


Server side validation

Validate is an instance class of Rule-Obj-Validate


Edit validate is an instance of Rule-Edit Validate

To create validate, Create->Process->Validate


To create Edit Validate, Create->Datamodel->Edit validate

Validate rule should be call in flow action under validate tab, so that it will
execute on click of submit button and also we can call the validate rule using
activity Obj-Validate method,

Edit validate rule is called under the specific properties and in advanced tab ,
Use validate option is there and also we can call the edit validate rule using
activity Property-Validate method

Diff b/w Validate Rule & Edit Validate Rule Declare Constraints

Validate Rule - Client Side Validation , In this rule, we can right a logic based
on n number of properties, It will execute only on specific flow action which we
called it, we can use function to implement logics,

Edit validate Rule - Server Side validation, In this rule, we can right a logic
for one property because its a generic one, It will execute wherever the properties
used it got executed. We use java source code for implemneting logics.

theProperty.addMessage

Declarting processing - the properties involved in the Declaritive rules are


executed automatically without calling

Declarative constraints - using this we can implement dependency validation

By disabling the chekbox in Validate rule, it will do field by field validation


Declare expfression - Set the property value based on expression. It executes
automatically with out any implementation.

Declare Onchange - The rule will execute automatically when the declared property
value get changed.

the page on which a rule run is called as Primary page


For a flow rule, the primary page is called as pyWorkPage
For a standalone activity, the primary page is RunRecordPrimaryPage

Forward chaining execution depends on source property changes


Backward chaining execution depends on Target property changes

Declare expression is the only declartive rules has both forward and backward
chaining

To call declare expression backward chaining using activity we use method called
Property-Seek-Value

Decision Rules - Decision Table & Decision Tree - Evaluates the condition and
return the result.

Multile property set together at one single place with pre condition - advnatges

Decision Table -All the condition will have same set of properties. We can call
them using activity Property-Map-DecisionTable. Expression builder and functions
can be used in table but not that in tree. We can not call other decision rules via
option in table. But we can call other decision rules via functions
pxevaluateDecisionTree & pxevaluateDecisionTable

Decision Tree - We can use any set of properties for condition. We can call them
using activity Property-Map-DecisionTree. Expression builder option is not
available for Decision Tree. We can call other decision rules via option in table
by enabling it.

AllowMissingProperties - if there are any empty values in the defined properties it


will not throw an error while executing the function.

********************** Decision Tree


*************************************************

Section Tale - Layout

Source - Property - If we go with property we have to pass pagelist properties


Report Definition
DataPage

By default, table layout is readonly mode we cannot modify it (add delete), if we


want to make it editable we have to choose the option Inline in operation tab.

Fork used in decision shape, inorder to create decision tree table properties we
can create a when rule for each connectors.
***************** Circumstance ***********************************

Cicumstance - Save the rule from the derived parent class based on condition. It
has two types Template & Property and Date

Circumstance Template -
Circumstance definition

Connector Flow action, Its a process rule that allow us to perform an action on the
assignemnt and moves the case from current assignment to the next flow

Local action - Flow action, Its a process rule that allow us to perform an action
on the assignemnt and but the case still on the assignment shape even after action
performed.It can be called from HTML buttons,text inputs, Assignment shape

Can call local action in Flow rule under design tab, Flow wide local actions
Can call local action in assignment shape is Assignemnet level local action
Can call local in action in case type under process tab case wide action - case
wide flow action

We can create a local action in flow action under actions tab and Indicator
option , we can see an option called used as Local, Connector & Local & Connector
action.

********************** Local Action **********************

In case type, after creating casetype we couldn't see the action dropdown enabled
for first stages & steps due to disable of harness option.
We have to enable harness in those processess by double clicking each assignment in
the first process and go to assignment details option from that Select Custom from
Harness & Perform form harness name

********************* Rule Resolution *************************************

Rule Resolution - Its a process that identifies the exact rule which should picked,
process and present to the requestor.

Direct inheritance -
Pattern inheritance - PRPC will priotize first the pattern inheritance class
because by deafult the check box is selected in Class group (Find by name
first(pattern)

the below steps the rule will get identifies and present to the requestor

Rule Cache
Class inheritance
Ruleset Heirarchy
Rule Availability
Circumstance - When rule is requested by the requestor, PRPC will identifies
whether the rule is need to execute circumstance instance or base instance
Rule Authorization - Rule -> Ruleset version -> Application -> Access group ->
Operator

Whenever the requestor requested for the rule,PRPC will identifies Which ruleset
the rule is created from application and the application is refeered from which
access group. Then operator of the requestor and the access group of the rule are
same it confirms that Rule is authorized if not its unauthorized
Access group - In pega, access group acts as an interface between operator and
respective app, role and portal access role. Syntax of access group is the
combination of Application name followed by colon and name of Access group
(Administrators,Authors, Managers, Users)

Operator have number of access group but one is default

******************* Rule Avaialbility *************************

Status available in rule availability is,

Available - Allow processing the rule


Not Available - prevent processing & take previous highest version of current class
Blocked - Prevent processing & permanant stop of respective rule
Final - Allow Processing & restricts the rule by overridding & it cannot be
modified
Withdrwan - Prevent all version from the current class and take the higher version
of pattern parent class

Rule Resolution start to end procedure

At first prpc will look for the rule cache,

If the rule is available in the cache then the PRPC will pick it from cache, and
verfify whether its blocked or not. If blocked it returns no rule found. If not
blocked then check the operator is authorised for thr rule or not. If authorised ,
process and present the rule to the requestor. If not authorised shows the message
that operator was not authorised.

if the rule is not available in the cache, PRPC will fetch all the rules that
matching with name and type.After collecting the rules start filtering by not
available and not in class inheritance ( Data classess and Int classess are not
part of class inheritance) and Ignore the rules which are withdrwan and not in the
applicable ruleset heirarchy. Start ranking the remaining rules based on Rulesset,
Class inheritance, Circumstance. It got the best instance class and present it to
requestor also it stores in cache. And again the steps followed by the above.

Multi Node Server - Web server (Load Balancing Server) + Application server

************************* Portal ********************************************

Operator will have access group ,access group will have application, application
will have rulesets, Ruleset will have rules
Operator -> Access group -> Portal -> Harness -> Section

Whenwver we create a new application, four access groups got created,

Administrators,
Authors,
Managers
Users

Portal is the container of Harness and the instance of class Data-Portal


Harness is the container of Section also Flow action is the container of Section.

Top , Bottom, Right & Left panel - Center space is called workarea

For the control menu, the source rule used for is Navigation

Default action for harness in navigation rule is Close Harness Run script

************************************* Harness & Routing


********************************

At first before executing the wo, UI displayed by predefined harness rule named New
& its editable
The workobject form that is loaded by predefined harness rule named Perform & its
editable
No assignment to perfrom and UI is displayed by predefined harness rule named
Confirm & its read only
During transaction, to review the WO data in read only using Harness Review & its
read only

We can call New & Confirm harness in the process tab under flow rule

Sequence of activity executed that will create a work object internally they are
Add -> Addwork -> GenerateID ->SaveNew -> WorkCommit

Perfrom harness is responsible for loading Flow action


pyCaseActionArea is the section loaded into perfrom harness internally there are
two sections pyCaseActionAreaButtons & FlowActionHTML_Simple

FlowActionHTML_Simple is responsible for loading Flowaction into perform Harness

Work flow of assignment shape and harness perfomance

When the work object reaches the assignment, perfrom harness gets load into it,
inside perform harness one section gets loaded is pyCaseActionArea inside section
two more section loads gets loaded is FlowActionHTML_Simple &
pyCaseActionAreaButtons

pyCaseActionAreaButtons loads Submit save cancel button


FlowActionHTML_Simple loads flowaction which is connected to the harness

Work List - Routing to single operator


Work Queue or Work Basket - Routing to more than one operator

Routing to Single operator internally the activity executes is toWorklist & its
type Route
Routing to more than one operator internally the activity executes is toWorkbasket
& its type Route

Whenever the assigmnent is created, it is routed to either single operator or more


than one operator.

To view the assigned task for single operator, go to operator login -> Mywork. From
there you can see the list of tasks
To view the assigned task for Work Queue, Dashboard -> Workqueue to see the list of
tasks.

***************************************** Assignemnet & Create and Current


Operator *************************************************

List of options available under route to opertaion in assignment is,


Current operator
Operator
WorkQueue
Custom
Use Business Logic

All the assignment data will be stored in table called pc_assign_worklist &
pc_assign_basket
All the operator data will be stored in table called pr_operator & the instance
class of Data-Admin-OperatorId

Assignment is the instance of class either its Assign-WorkBasket or Assign-Worklist


In clipbaord, Assignment data will be available in page newAssignPage
In clipbaord, Operator data will be available in Systempages on OperatorID

pyuseridentifier property holds the value of operator id

Current Operator is the one who has to work with previous assigmnent
The person who create & initiate the work object is known as Create Operator

Primary Stage & Alternate Stage

Any processing which is secondary process of a transaction - Alternate stage

WO will go through primary stages at any time it can jump to alternate stage using
automation step named Change to a Stage

the reporting manager id of an operator is assigned to prpty pyreportTo

pxrefobjectkey - its pzinskey value of work table which helps to relate the
worklits or workbasket table
pxassignedoperatorid - Whom the task is assigned to the respective operator

****************************************** Work Queue


******************************************

Work Group is acting as an interface between operators and work queue , also is a
team of operators
Team is also referred as work group
There is a 2 way relation between work queue and work group

*************************** Types of Flow ************************************

Max 17 flow shape is recommeded to use in single flow

Straight through processing - Flow without manual intervention & other than
assignment shape flow

Process Flow - Starting flow of transaction which will create WO & We can call n
number of flow action in single assignment & We can call flow action through
outward connector & routing options are available. Navigation between assignments
is not possible in assignment.

Screen Flow - It doen't have the capability of creating WO & We can call only one
flow action in single assignment & We cannot call flow action through outward
connector we can call by clicking the flow shape & routing options are not
available in screen flow its avalialble only in start shape of screen
flow.Navigation between assignments is possible in assignment

Sub Flow - A flow can be called from another flow using the flow shape (Subprocess)
it also create WO

Likelihood refer u tube video (Complete Pratical)

Whenever we create a castetype, prpc provide you by creating one processs by


default its a screen flow

Three types of screen flow,

TabbedScreenFlow
Tree NavigationScreenFlow
PerformScreenFlow

SaveonLastStep - It will save the data only on the completion of last assignment in
between it won't save the changes.
SpinoffFlow - the process between main flow and sub flow will be made asynchronous
(Main flow will not wait for subflow to complete)

******************************* Split Join & Split For Each


*******************************

Using Subprocess shape we can call one and only Subflow. To call more than one flow
we have to use split Join Flow shape

There are three join in it,

Any - Atleast one subflow gets completed, mainflow will resumed , Synchronous
All - When all the subflows gets completed the main flow will processed ,
Synchronous
Some - Any one of subflow gets completed along with condition satisfy main flow
will get resumed. If all flows completed condition not satisy main flow will
resumed.

Split Join - To execute flow more than one times using pagelist property.

pyAddresses - Email Address - Pagegroupproperty

Data-Admin-Operator-Id - is the rule instance of operator

Split for each - to execute any sub flow multiple times.

Declare Trigger - Is the rule in pega which will execute whenever there any insert
update delete happened in datatype using only Obj methods one activity will be
executed. We have to create a declafe trigger rule in the same table.
There are instance for the trigger is Saved, Deleted, Committed Save, Committed
Delete, Saved and...

Saved - it will trigger when Obj-Save method executed


Deleted - it will trigger when Obj-Delete method executed
Committed Save - it will trigger when Obj-Save followed by write now or Commit is
used & the method will be executed
Committed Delete - it will trigger when Obj-Delete followed by write now or Commit
is used & the method will be executed
Saved and... - if the values were updated in the datatype the trigger will executed

Opertor details would be available on clipboard in System Pages -> Operator ID ->
pyAddresses

Page List is the ordered collection of pages. Each page has index numeric value
PageGroup unordered collection of pages. Each page has specific name

******************************* E-Mail Integration


******************************************

Outbound emails - Sending emails from our application integrated to mailbox to


outside
Inbound Email - Reading emails in the mailbox and PRPC will process and create a wo
if required

There are three ways for outbound email,

SendEmailNotfication activity - It has multiple required paramters such as USer,


Password, SMTP Host, Port details. If there are multiple conditions based on the
email needs to be sent means we have to use this activty.
SendSimpleMail - It does not required paramter but we have to create Email Account
there we have to store our credentials by default pega will read the credentials
when required.It also had Smart Shape in Flow is Send email.

Work Parties (You tube Videoo)

********************************* Web Service


**********************************************

Integration rule in pega is derived from the class Int-


While creating intergration rules we have to use integration ruleset

To create Service Package Create -> Integation Resources -> Service Package
To create some rule in Integration using wizard, Go to Configure tab Integration ->
Services -> Service Wizard

http://localhost:8080/prweb/PRSOAPServlet/SOAP/ExportRegNo/Services?WSDL

************************* REST Architecture


****************************************************
REST - Representation State Transfer

GET - Act as Select query in SQL fetches the data


POST - Acts as Insert query adding an entry in table
PATCH - Acts as update query but as partiallly
DELETE - Acts as delete query
PUT - Acts as update query but fully

****************** Working with Connector REST using Data Page


****************************************

Connector rules must be created under Organization Int class whereas Service rules
may be cretaed under any of particular work class

While creating connector rest rule in wizard, we have to pass the repsonse as file
to create a response properties,In Integration Layer Change the default class into
org int class and its ruleset & In data layers choose Org Data Class and its
ruleset.

Any rule that runs on data page primary page is data Page itself

DSS - Dynamic System Setting in Pega helps you to access and modify the system
configuration data without restarting the server (prconfig.xml)

RUle Instance & Data Instance

Rule Instance - has Versions & Check in & Cehck out


Data Instance - Doesn't has verisons & no check in & check out

To access the DSS, use function named getDataSystemSetting

Email Listneree - Youtubee videos

*************************************** Admin Studio


*****************************************

Requestor is the rule instance of Code-Pega-Requestor

Every time the request initaited by human or non human requestor ID get generated
and deleted once logged off
Requestor are of four types of category

A - Service
B - Internal Batch Processing
H - Human
P - Portal

Once the file processed its cleaned up and its placed in sepearte folder if its
completed its in completed folder. If any error thrown it would be stored as err
extension. Also we can re attempt the error files by default 3 times but we can run
at any times based on business need

File listener monito the file location or an path. If file is placed it would pick
and hand over the file to service File. Sevice File rule process and parse data
from file to clipboard later we can store the data into table is required using
activty.There are preprocessing and postprocessing activity is there.
Do we need to use ommit for this activty if data store into table using obj save?
----

You might also like