You are on page 1of 70

Pega Operators Classes

Inheritance Organization
Structure[L]
This Article Explains about the basics of Pega Rules
Process Commander, Pega Operators Classes Inheritance
Organization Structure.
Pega Rules Process Commander

Operator :- Operator is a Person who login to PRPC environment


to access it’s applications.

Each Operator will be assigned with a Login ID called


“Operator ID”.

To Login to PRPC, we need use Operator ID and associated


password.

PRPC provides a default Operator ID which has Admin Access to


the default Application.

Default Operator ID = Administrator@pega.com

Password = install (all lower case)


—————————————————————————————————
Class :- Any Piece of code which we want to develop has to be
enclosed with a class.

Class ClassName
{

Busienss Components;

Predefined classes in PEGA :-


PRPC’s automated UI, Code will be available in it’s Predefined
classes.

There 13 top most predefined classes available in the class


heirarchy of PRPC.
Out of which the below 3 classes are most important.

1) @baseclass 2) Work- 3) Data-

The top most class in PRPC is @baseclass, which is the Parent


class of all other classes in PEGA.

All the predefined top classes are abstract classes.


————————————————————-

Types Of Classes in PEGA:-

There are two different types of classes available in PEGA

1) Abstract 2) Concrete.

1) Abstract Class :-

These classes are meant for the purpose of reusability.

* When we create an abstract class, in PEGA 6 version, the


class name should end ‘-‘ symbol.

For example if we are creating an abstract with name ABC, in


PEGA 6, it’s name should be ABC-

* From Pega 7 version onwards this naming convention of ‘-‘ at


the end of abstract class name is
removed i,e abstract class name is not required to end with ‘-
‘ symbol.

* Abstract classes can not be instantiated i.e, we can not run


our business under abstract classes.

In otherwords the code which we write in abstract classes can


not be excecuted.
2) Concrete Class :-

A concrete class name should not end with ‘-‘ symbol.

Concrete classes can be instantiated i,e our business can run


under concrete class.

In other words the code which we write under concrete class


can be excecuted.

* We can create work objects under concrete class.

‘C’

#include stdio.h

Printf();

print();

Inheritance :- Inheritance Makes a Parent and child relation


ship between the classes i.e,
when we create two classes, class A and Class B and connect
these two classes by means of inheritacne
such that Class B Inherits from Class A. Class A is said to be
Parent Class where as Class B is said
to be Child Class.

Child class can utilize the properties of Parent class but not
vice versa.

Types Of Inheritance :-

There are two types of Inheritance Available in PEGA

1)Direct Inheritace 2) Pattern Inheritance.


Direct Inheritance :-

In a direct inheritance a child class will be connected to one


and only one parent class directly.

A direct Parent of a child class can be choosen under the drop


down “Parent Class (Directed)” in the
child class rule form.

Pattern Inheritance :-

In a Pattern Inheritance A child class can have multiple


parent classes by means of Pattern.

Predefined classes in PEGA :-

PRPC’s automated UI, Code will be available in it’s Predefined


classes.

There 13 predefined top classes available in PRPC class


heirarchy out of which the below 3 classes are
most important.

1) @baseclass 2) Work- 3) Data-

The top most class in PRPC is @baseclass which is the Parent


of all other classes in PEGA.

All the predefined top classes are abstract classes.

Organization Structure :-

When we create a new application we need to follow PRPC’s


Organization Structure.

Organization Structure contains

1) Organization (Only ONE) (Top most Level)

2) Divsion(S) (Second Level)

3) Unit(S)… (Ground Level)

* Organization and Divsion are meant for reusability where as


our business runs under Unit Level.
Properties, Section, flow
Action , Flow[L]
Property :- Property is an instance of the Class Rule-Obj-
Property.

Property is like a variable in other programming languages.


A Property holds a user input Value at run time.

A Property is associated with

1)Name

2) Property Type :- Which Identifies what type of values can


be held by this property like Text,

Integer, Date etc….

3)UI Control :- It identifies how this property should be


vissible in the User Interface.

4)Table Type = Local List :- It hold the values for Radio


Buttons, Dropdown etc….

*Property can be created under Data Model Category.

Section :- Section is an instance of Class Rule-HTML-Section.

It holds Controls On to it’s layout.

*Section can be created under User Interface Category.

Flow Action :- It is an instance of class Rule-Obj-FlowAction.

FlowAction is a container which holds section rule into it.

Flow Action can be created under Process Category Category.

Flow or Work Flow or Process :- It is an instance of class


Rule-Obj-Flow.
Flow is Heart of the application which does all the processing
of our business.

A flow contains differnt flow shapes which are connected from


start to end.

The below are basic flow shapes.

1)Start :- A flows excecution gets started at this shape.

2)End :- A Flows Excecution gets ended at this shape.

3)Assignment :- This flow shape is required whenever we want


to call a flow action into the flow.
A flow action can be called into the flow by using assignment
shape’s out going

connector.
Flow Work Object Clipboard[L]
Creates a New Work Object :- This Option is Available under
the process tab of the flow, when we
select this check box the flow is an excecutable flow
otherwise it is non excecutable one.

When we run the flow, it creates a Work Object in the


background.

Work Object :- It is an instance of the Class Group.

Every time when we run the flow it creates a unique work


object. Each WO can be identified by an ID
called Work Object ID or Case ID.

Example WO ID = C-123

Where “C-” is WO Prefix, 123 is Sequentical Numeric Number


generated.

* A work object will travel trhough flow from start shape to


till end shape on it’s way of resolution.

In between it invokes all other flow shapes.

To know the current position of the work object in the Flow,


We need to click on the link
“Where Am I”.

* A WO holds all the information of the currently running


flow.

* Once a WO is created it gets saved into the Pega Rules


Rulebase into the OOTB(Out Of the BOx –>
Predefined) table ‘PC_WORK’.

*To see/open all the instances or WOs of a class group, ‘click


on the class Group name’.
——————————————————————————————————

Clip board :- Clip board is visual representation of WO Data.


In other words it’s a temperory storage
location between PRPC application and it’s rulebase.

The properties and values will be available on the clip board


onto it’s pages.

* The information will be posted from PRPC application to


Clipboard then taking from the clipboard
Process commander saves this information to the tables.

*WO ID will be assigned to one OOTB property pyID on the


pyWorkPage.

*pyID is Class Key(Primary Key) of the Class Group.

*In our application the WOs of the class group ‘INDO-indianov-


Work’ will get saved into the table
‘PC_INDO_indianov_Work’.

*This table gets created when we create a new application.


Activities[L]
Activity :-

Activity is rule under technical category. It is an isntance


of the class Rule-Obj-Activity.

Activity is used to implement business logic.

PRPC provides a set of predefined methods which we use through


activity in order to implement business
logic.

Activity contains a sequence of steps like 1,2,3,4….and so on…

At each and every step we can call one predefined method and
pass the parameters to it.

The below are basic methods which we can use in activities.

1) Page-New :- This method can be used to create new user


pages on the clipboard.

2) PAge-Remove :- This method can be used to delete user pages


from the clipboard.

3) Property-Set :- This method can be used to perform


assignment operation i.e to assign the values to
properties.
Tracer :- Tracer is one of the main debugging tools in PRPC
using which we can debug many types of
rules to see step by step excecution.

How to Invoke One Activity From Another Activity.

An Activity can be invoked from another activity by using


below two instructions.

1) Call 2) Branch.
If We have two activity ‘ChildActiity’ and ‘ParentActivity’,
and if we want to invoke ChildActivity
from parentActivity the syntax is.

Within ParentActivity step we need to write below code.

1)Call ChildActivity.

2)Branch ChildActivity.

Difference between Call and Branch :-

Call invokes the child activity, excecutes it then comes back


to the parent activity and executes remaining steps after call
step.

Branch invokes the Child activity, after the execution of


child activity it comes back to the parent activity and ends
the execution at the branch step itself. Any steps written
after branch step will be ignored.

Queue: Queue executes parent and child activities


asynchronously.

Activity Types :-

1. Activity 2.Utility 3. OnChange 4.Notify 5.Trigger 6.Connect


etc….

Actiity Type can be chosen under the Usage DropDown field in


the Security Tab of Actvity Rule Form.

Actvity types identifies where this actvity should be invoked


from.
Activity Type Invoked From
1. Activity 1. Activity / HTMl Controls.
2. Utility 2. Flow Using Utility Flow Shape.
3. OnChange 3. Declare Onchange Rule
4. Trigger 4. Declare Trigger Rule
5. Connect 5. Flow Using Integrator Shape.
6. Notify 6. Flow using Assignment Shape under Notification
Tab.
Parameters[L]
Parameters :- Are like Propertises but these can be defined
under the Parameters tab of Rule form.

Unlike properties Parameters will not be available on


Clipboard.

Parameters can be accessed by using a predefined PAge ‘Param’.

These can be seen through Tracer under Parameter Page


“Unnammed”.

*When Define Parameters on ‘Rule1’, wherever we call this


‘Rule1’ , it will expect the parameter

values to be passed.
Data Tables or Data Storage
or Data Types[L]
Data Tables or Data Storage or Data Type:-

Data tables are just like relational Database tables but these
are been created from Designer studio of PRPC.

Data Tables are depricated from version 7, and these now


called as Data Storage Rules.

When we Create a Data Table it creates a table class under


data layer. The columns of the Data table will be created as
properties under table class…

A Data Storage class should inherit from the OOTB class ‘Data-
‘.

All the Data Storage classes are “Does not belong to a class
group”, that means these classes are global classes and can be
accessed from any of the class groups in our application.

When we create a Data Storage, it creates a physical table in


the “Rulebase”. The name of physical table will be like

PR_DataStorageClass.

For example, if Data Storage class is BOA-BANK-DATA-STATES


then the physical table name will be PR_BOA_BANK_DATA_STATES…

Data Storage class will be connected to this physical table


from PRPC application.

If we want access the Data Storage Columns, we need to access


the properties of Data Storage Class.

When the physical table gets created in the Rulebase, this


table will not have the columns that we create for Data
Storage Rule instead it maintains all the Data storage columns
into one single column in BLOB (Binary Large Objects) format.
This column name is “PZPVSTREAM”.

The Primary key column of the Phyical table is “PZINSKEY”.

PZINSKEY is the combination of “CLASSNAME <SPACE> PRIMARY KEY


Of the Data Storage Rule”.

We can perform the below operations on Data Storage Rules.

Insert, Update, Fetch and Delete.

In order to query Data Storage, PRPC provides the below


predefined methods in Activity.

1)Obj-Browse :- This method is used to fetch multiple


records(Rows) from the Data Storage.

2)Obj-Save :- This method is used insert or Update Data to


Data Storage.

3)Obj-Open :- This methods fetches single record based on


primary key.

4)Obj-Open-By-Handle :- This method fetches single record


based on pzinskey.

5)Obj-Delete:- This method is used to Delete Data From Data


Storage rules.

6)Commit :- This method commits data to the data storage.

7)Rollback :- This method rolls back uncommited data.

8)Obj-Save-Cancel : This method rolls back latest uncommited


obj-save.

Data Storage or Data Type can be created under Data Explorer.


Obj Open By Handle and
pzInsKey[L]
When we create any rule in PRPC, the rule will saved into the
OOTB table.

When this rule is getting saveed into the table, PRPC


generates a Primary Key Called ‘pzInsKey’ and saves it with
reference to pzInsKey.

pzInsKey column is the Primary column for all the tables in


rulebase.

pzInsKey :- It is combination of <Instnace Class Name>


<<Space>> <Class Key>
For Example :-

WO is instance of Class AXA-Insurnace-Work and Class Key is


pyID then

pzInsKey = ‘AXA-Insurnace-Work pyID’ — If pyID = C-123

pzInsKey z= ‘AXA-Insurnace-Work C-123’


Operator :- Oeprator is an instance of class Data-Admin-
Operator-ID. Class key is pyUserIdentifier.
When we create a new operator it gets saved into the OOTB
table PR_OPERATORS with

pzInsKey = Data-Admin-Oeprator-ID pyUserIDentifier

pyUserIdentifier is an OOTB property which holds the value of


Operator ID.

If Operator ID = Admin@axa

pzInsKey = ‘Data-Admin-Oeprator-ID Admin@axa’


When we with an OepratorID ABC, the details of current
oeprator will be available on the clip board under on a Page
‘OepratorID’ under system pages.

The below are OOTB Properties related to Operator

pyUserIdentifier –> Holds Operator ID

pyFirstName , pyLastName, pyUSerName, pyAccessGroup,


pyReportTo –> Holds the operator id of his manager.
Obj-Open-By-Handle :- Thsi method is used to fetch a single
record from the table based on pzInsKey.
Scenario :- create a genric activity, which takes the input
parameter operater Id and returns operator details as well as
his manager details.
Obj Save Write Now[L]
Expression Builder :-

This provides access to the OOTB Library functions. Using


these funtions we can manipulate the data.

Write Now :- This option is available in Obj-Save method.

Write-Now immediately commits the data to data table.

We need to select this option in order to commit the obj-save


operation.

This option has to be selected only when we are executing Obj-


Save activity independently(Where there
is no WO/WFL involved).

Whenever we are excecuting the Obj-Save activity in a flow


whcih has WO processing, we are not
required to select ‘Write Now’, because WO’s data will be
automatically comited by PRPC.

FL-WO Activity Exec WriteNow Data Inserted


——————————————————-
YES Using FL NOT CHKED YES

NO Directly NOT CHKED NO

NO Directly CHKED YES


* Write Now commits a specific OBj Save step on which we
select this option.

Commit Method :- Commit Method commits all the Obj-Save steps


which are above the commit step.

Obj-Save-Cancel :- This method rolls back the latest


uncommited obj-Save step.

Rollback :- This methods rolls back all the uncommited obj-


save steps which are above the rollback
step.
Report Definition[L]
Report Definition Rile :- A report definition rule is used to
generate the reports with the data from
database tables.

It is an instance of class Rule-Obj-Report-Definition.

It can created under Reports Category.

When we create new data type (Data table) PRPC automatically


create report defintion rules to fetch
data from table.

Report Definition rule fetches the Data from table and also
displays it in UI.

In the report defintion rule query tab, we need to metion the


columns (properties) which we want to
fetch as well as we can mention the column properties which
involes in the Where condition.

Create report definition rule under table class from which we


want to fetch the data.

The data will be fetched from the table by an OOTB activity


called “pxRetrieveReportData”, which runs
in the background when we run a report defintion rule.

RPT Definition rule can be used as a source to populate a


dropdown at run time.
Data Page[L]
Data Page :-

1)Data Page is a shared pages on servers clipboard which can


be share with in WO, among Wos, among multiple requestors.

It can be created under Data Model Category.

It’s name should start with ‘D_’.

Data Page will be availabe as ‘Page’ or ‘Page List’.

Data Pages are read only Pages i.e, these can not be updated
or deleted from the clipboard.

These will be created on the clipboard under ‘Data Pages’.

From Pega 7 on wards we can create editable data pages also.

Editable D pages will be created on clipboard under ‘user


pages’.

Data Pages can be populated from the below sources

1) Connector 2) Data Transform 3)Report Definition 4) Activity

Data PAge Sharing :-

Sharing capability of Data Page depends on it ‘scope’.

The below are different scopes available for a data page.

1) Thread :- When the scope is thread the data page can be


shared within the thread(WO), but not between other
threads(WOs).

2) Requestor :- When the scope is requestor the data page can


be shared among multiple WOs for a single requestor session
but can not be shared with other requestors.
3) Node :- When the scope is Node the data page can be shared
among multiple Requestors of a single node but not between the
requestors of other node.
Refresh Straegy :-

A Data page can be refreshed based on

1) Time 2) Once Per Interaction 3) On Server Restart.

The can be done under Load Management Tab.


Data Transform[L]
Data Transform :- A data transform is used to assign values to
the properties.

Using a Data Transform, we can

1) Default Property values.

2) Update one page data to another Page.

3) Loop in a page list and copy the pages from source page
list to target page list.

Ultimately A data transform is used to do property-set.

A DTF can be called from

1) Control

2) DTF

3) Activity using the method Apply-DataTransform.

4) Flow under Process tab.

Default Data Transform provided by PRPC is ‘pyDefault’ which


is available in Work-cover-, Work- and @baseclass.

pyDefault DTF is being called under the process tab of flow.

pyDefault DTF will be excecuted before the WO gets created.

This DTF is used to assign default values to the properties.

WO Id prefix C- is being set from pyDefault DTF. It’s been


assinged to an OOTB property
pyWorkIDPrefix.

How to modify WO ID prefix using pyDefault DTF.


Rule Set and Versions, check
in check out[L]
Application — 1 Year — 3 months (Iteration)
Dev RuleSetA Version Copy Live(Prod)
10000 10000 01 10000 10000

10000 10000 02 10000 10000

10000 10000 03 10000 10000

Rule Set will be created while we create new application

along with this the initial version will be created 01-01-01

example rule set version = 01-04-07

here 01 is called major version


04 is called minor version

07 is patch version

* when a rule or WO is openeded by an operator, PRPC


immediately aquires a lock on it, i.e, it makes an entry in
the table pr_sys_Locks which Operator ID and Rule Name.

Every time any operator opens a rule or case, PRPC first


verifies the locking in PR_SYS_LOCKS table, if an entry is
found for this rule or WO means this rule or WO is locked.
Decision Rules[L]
Decision Rules :-

These are used to evaluate properties and return required


results.

These can be created under Decision Category.

The below are different types of Decision Rules.

1. Decision Table 2. Decision Tree 3.Map Value 4. FORK (This


is not a rule).

These rules can be used to make a decsion path in the work


flow.

1. Decision Table:-

It follows the logic if, else if, else if and so… on..
Otherwise.
When no if condition is satisfied it returns the value of
‘Otherwise’.
Using this rule we can retun any values.

Decision Table can be called from

1. Flow Using Decision Shape.


2. Activity using the method ‘Property-Map-DecisionTable’
3. Decision Tree.
4. Declare Expression.
* The results of decision table can be taken from the local
list of a property which we can specify under results Tab.

Decision Tree :-

It follows the logic of If, If, and so..on.. Other wise.

We can not use Expression builder here.


From a decsion tree we can call other decision rule like Dec
Tbl, Tree, map value when select the option “Allow selection
of ‘call decision’ Option” under Configuration Tab.

Decsion tree can be used when the logic is complex and which
involves more number of properties.

We can devide the logic into small components of tables and


trees thus all these can be called into one single dec Tree.

It can be called from


1. Flow Using Decision Shape.
2. Activity using the method ‘Property-Map-DecisionTree’
3. Decision Tree.
4. Declare Expression.
FORK :- Un like decision table and tree FORK is not a rule.
Fork is an option that can chosen in Decision shape. It uses
when rules in the connectors for decision making i.e, we need
to call when rule in the connectors of decision shape.

When rule satisfied connector will be taken into decision


path.
Declarative Rule[L]
Declarative rule :- Declarative rules can be created under
decision category.

These are created and applied on properties. Where ever we use


the properties(which involves in the declarative rule)
throughout our application, declarative rules will be
automatically called and excecuted.

There are different types of declarative rules available.

1) Declare Expression

2) Declare Contraint

3) Declare On change

4) Declare Trigger

5) Declare Index

1) Declare Expression :- Declare Expression rule is used to


perform automatic calculations.

When ever input properties are changing the target property


value gets automatically updated. This is called “Farword
Chaining”.
@DateTime.addToDate(.TransactionDetails.TransactionEffData,364
,0,0,0)
Validations[L]
Validations :- There are two types of validation rules
available.

1) Validate :- It is an instance of class Rule-Obj-Validate.

It can be created under Process Category.

It is used to validate multiple properties. If the validation


fails we can display error message back to the properties.

It can be called under the validation of Flow Action rule


form.

It validate the properties of a specific flow action on which


we call it.

This is a server side validation.

This called from

1) Flow Action 2) Activity using the method Obj-Validate

2) Edit Validate :-

It is an instance of class Rule-Edit-Validate.

It can be created under Data Model Category.

It is used to validate single property. If the validation


fails we can display error message back to the property.

It can be called under the Advanced Tab of Property rule Form.

Whereever we use the property (throughout our application) it


validates.

This is a client side validation.

This called from


1) Property 2) Activity using the method Property-Validate

* Here we need to write JAVA code.

* PRPC property value will be assigned to a Java Variable


called “theValue”.

* Java code which we are implementing for validation purpose


should be written based on ‘theValue’.
Differences Between rule Obj Validate and Rule Edit Validate

Obj Validate Edit Validate

1. We can validate Multiple Properties. 1. Can validate Only


one propery

2. It is specific to Flow action. 2. Where ever we use


property it validates.
3. Server side Validation. 3. Client Side Validation.

4. We can use fucntions. 4. We need to write Java Code.


Circumstance[L]
Circumstance :- It means creating multiple variants of a
single rule by applying a condition on it.

When requesteting for rule, if the condition is met the


circumstance version of rule will be excecute otherwise
Original rule will be excecuted.

Original rule is called as ‘Base Rule’.

There are two types of circumstances available.

1)Single Property 2) Multi property or Template Circumstance.

1)Single Property :- The condition involves only one property.

2) Multi property :- The Condition involves multiple


properties.

To create multi property circumstance, first we need to create

a) Circumstance Template b) Circumstance Definition.

* If we want to create circumstance version of a rule.

Open the original rule, Under save as dropdown choose


‘Specialize By Circumstance’ then
select Single Property –> and Write the condition for
circumstance.

*In Circumstance the same can be created with multiple


behaviour.
Rule Resolution[L]
Rule Resolution :- It is an internal algorithem which runs
every time
when a rule is been reqested by a requestor.

It decides weather to process the rule or prevent the rule.

The criteria for processing or preventing the rule are below.

1) Rule Cache 2) Rule Availability 3) Cercumstance 4)


Autorization.

Rule Availability :- There are 5 availabitilties…

1) Available :- The rule will be processed and presented to


the requestor
also PRPC allows us to copy the rule from one rule set to
other.

2) Final :- The rule will be processed and presented to the


requestor but
PRPC does not allow us to copy the rule from one rule set to
other with
out changing the name.

3) Not Available :- When the rule is not available PRPC


ignores the rule
in the current version and proceeds in the rule set hierachi
to get the
rule from previous version.

4) With drawn :- When a withdrawn rule is encountered PRPC


ignores all
the versions of rules in the current rule set and proceeds in
the
heirachi to get the rule from pattern parent class.

5) Blocked :- When encounterd with a blocked rule PRPC


immediately stops
rule reslution algorithem and
throuws an error message.
Harness[L]
Harness :- Harness is a UI rule which defines the appearance
and processing of the UI Forms.

PRPC provides below predefined Harness Rules available under


Work- class.

New , Perform, Confirm, Review


———————————————–

1) New :-
It’s been called under the process tab of a flow.
This is responsible for creating a WO.
This harness rule contains “Create” or “Done” Button.
This can be used to capture the information before a WO gets
created.

New Harness Excecutes below activities to create a WO

Add
AddWork
GenerateID
WorkCommit.

Whenever we run a flow, it excecutes an OOTB activity

NewFromFlow. It will take the parameters of Flow Name , Class


Name and excecutes the Work flow.

2) Perform :-
It is responsble for Loading Flow action into it. This is been
called in the assignment shape properties. This is available
with Submit button.

When the perform harness is getting loaded, it loads below


predefined sections.

1)pyCaseActionArea
pzActionAreaContect
FlowActionHTML_Simple (This section contains HTML Code which
loads the connected FA of current assignment)
2)pyCaseActionAreaButtons (This section contains all the
buttons).

3) Confirm :-
This is a readonly harness used to display confirmation
messages to the user.
This is been called under the process tab of flow.
This gets loaded when all the assignments are completed in a
flow.

* A WO’s life cycle will be through New,Perform and confirm


hanress rules.

4)Review :-
This is a readonly harness used to review the WO information.
This is for system internal usage.
* any readonly harness which we create in order to review the
WO information is said to be a review harness.
Routing[L]
Routing :- Trafering or Assigning work to an operator is
called routing.

An assignment can be assigned to a perticular operator bu


means of routing.

Routing Option is Available under

1)Assignment shape properties in Process Flow.

2)Start shape properties in Screen Flow.

In a process flow each assignment can be routed and in a


screen flow entire flow can be routed.

Routing can be dones in two ways.

1) to single operator. 2) to work basket.

1) When we route an assignment to a single operator, the task


will be avilable in Operators Work List.

The routing activity used here is “toWorklist”.

When we route a task to work list, the assignment will be


created in an OOTB table

PC_aSSIGN_WORKLIST.
—————————————————————————————-

Work Basket :- unlike work list work basket is a rule. Which


we will assigned to an operator via a work group.

Work can be accessed by all the operators who belong to


connected work group.

Work Group :- Work Group is a team of operators. Each operator


will be assigned to a work group.
Work group can be asigned to an operator in his Operator
profile under ‘work’ tab.

Work basket will assigned to work group and vice versa.

Operator,Work Group and Work basket Relation ship.

Work basket contains the work items/Cases/Work objects which


can be access by multiple operators.

The defautl work group and work basket are “default@dbs”

How to create a work group and work basket, assign each other.

Create a new work Group “DBSLossVerificationTeam”, create a


new basket “DBSLossVerificationbskt”.

Create multiple operator like DBSLossOp1, DBSLossOp2,


DBSLossOp3 and assign them to the work group
“DBSLossVerificationTeam”.

These operators should have manager access group.


DBS-46 is currently being modified by LossOp1 DBS

DBSLossOp1.

Work Obect Locking :-

When a work is been opened by an operator and is being worked


on by him, PRPC aquires a lock on it.

When a WO is been aquired a lock by an operator, PRPC creates


an entiry in the OOTB table

pr_sys_locks with pzinsKey and Operator ID.

Every time when a case been opened an operator, PRPC opens


this table to check if an antry is make for the specifiz
pznsKey, if so it will display lock message to the current
operator who opens the task.

Else the task can be accessible to current operator.


Service Level Agreement[L]
SLA (Service Level Agreement) :-

SLA is a rule under process category.

SLA can be created and applied on an assignment or on a work


object.

There are two Levels of/Types of SLAs available :-

1) Assignment Level SLA 2) WO Level SLA.

1) Assignment Level SLA :- When an SLA is applied on


Assignment shape then it is said to be assignment

level SLA. Here SLA is applicable only to one assignment on


which we call it.

To apply SLA on an assingment , goto assignment Properties –>


Service Level = SLA rule Name.

2) WO Level SLA :- When an SLA is applied on WO it is said to


WO level SLA. WO level SLA can be

applied by assigning the Property pySLAName = “Name Of SLA


Rule”, which has to be set in pyDefault

Data Transform

WO Level SLA will be applicable for all the asssignments in


the Work Flow.

SLA Defines three time intervals for a task to get completed


also it defines the Urgency (Priory).

SLA Time intervals are

1) Goal Time 2) Deadline Time 3) Passed Deadline Time.

Goal Time :- Goal time start calculating immediately once the


assingment gets created on which we

apply the SLA.

Deadline Time :- Goal time start calculating immediately once


the assingment gets created on which we

apply the SLA.

Passed Deadline Time :- It starts calculating from the time


deadline is completed.

Urgency :- Urgency defines the priority of an assignments.

Urgency value ranges from 0-100 where 0 is minimum and 100 is


maximum.

There are 5 types of Urgencies available.

1) Default Urgency , which can be assigned to the OOTB


property pxUrgencyWorkClass in the pyDefault

Data Transform.

2) Initial Urgency :- Which can be defined in SLA rule Form.


Once the task is created Intital Urgency

Value = Default Urgency + Initial Urgency.

3) Goal Urgency :- Once the Goal Time is completed.

Urgency = Default Urgency + Initial Urgency + Goal Urgency.

4)Deadline Urgency :- Once the Deadline Time is completed.

Urgency = Default Urgency + Initial Urgency + Goal Urgency +


Deadline Urgency.

4) Passed Deadline Urgency :- Once the Passed Deadline Time is


completed.

Urgency = Default Urgency + Initial Urgency + Goal Urgency +


Deadline Urgency + Passed Deadline

Urgency.

Urgency calculation Example :-

Task Created At 7 AM

Default Urgency = 10 Initial Urgency = 5

Goal time = 1 Hr Goal Urgency = 15

Deadline Time = 2 hrs Deadline Urgency = 30

Passed Deadline Time = 1 hr Passed Deadline Urgency = 40

7 AM Once task is created Urgency = 10 + 5 = 15

8 AM Urgency = 10+5+15 = 30

9 AM Urgency = 10+5+15+30 = 60

10 AM Urgency = 10+5+15+30+40 = 100


DSS , Email Integration ,
Correspondance[L]
Out Bound Email Integration and Correspondance :-

PRPC application can read the emails from an Email Box(In


Bound Email Integration)/ can trigger emails from a mail box
to out side email addresses (Out Bound Email Integration).

SendEmailNotification @baseclass

To work with Out Bound Email Integration we need to know the


below inputs.

1. Form Email Address


2. SMTP Host of the From Email Box.
3. Password of From Email Address.
4. To Email/Emails.

———————————————————————
The above details 1,2 and 3 can be created as DSS(Dynamic
System Settings) Entries whereas 4th one can be supplied at
run time.

Inorder to send email notification PRPC provides an OOTB


activity “SendEmailNotification” which is available in
@baseclass. From PEGA 7 onwards we can also use “SendEmail”
smart shpae in Flows.

Correspondace :- A correspondance rule is an instance of the


class
Rule-Obj-Corr. It can be created under process category. It
can be used to create the messages for Email Body. This can be
assigned to a property by using the method Property-Set-Corr.
DSS (Dynamic System Settings) :-

DSS entries allows us to maintain different values for


Different application server environments by allowing us to
change the values with out check in and check out.

DSS entries can be created under sysadmin category which can


be used to maintain the global values at environment level.
This can be read into the application logic by using a
predefined funtion getDataSystemSetting(“Setting
Purpose”,”Rule Set”)

FreeLance Technical and SoftSkills Trainers, Management


Consultants
Agents[L]
Agent :-

Agent is internal background process or requestor, which is


gets associated with

1) Schedule 2) Activity 3) Access Group 4) Mode.

Agents wakes up at the schedule time and excecutes its


associated activity.

When an agent wakeup, it will run on the associated access


group.

PRPC has a predefined master agent ‘System Pulse’, which wakes


up all the user created agents at their schedule time.

* Agent is an instance of Rule-Agent-Queue where as agent


schedule is an instance of Data-Agent-Queue.

Modes Of Agent :- There are 3 different modes available.

1) Legacy 2) Advanced 3) Standard.

1) Legacy :- This mode is been depricated from PRPC version


5.4.

2) Advanced :-

a) When an advanced wakes up at schedule time it will directly


excecutes agent acitivty with out bothering about Agent Queue
Items.

b) Usually we will create advanced with out applying AQM (Auto


Queue Management) and these agents will be configured to run
on Single Node.

c) In an advanced Agent Work Object locking and Transactional


Commit must be taken care by our self.
3) Standard Agent :- Standard Agent will be applied with AQM.

AQM (Auto Queue Management) :- This programme is responsible


for instructing the agent weather to excecute associated agent
activity or not.

When the Queue Items are there, standard agent will excecute
agent activity else it will not excecute activity thus goto
sleep.

Queue Items can be put into agent queue table PR_SYS_QUEUES by


using the method/activity
Queue-For-Agent/QueueForAgent.

When the standard agent wake it will excecute the agent


activity ‘N’ number of times(with status=scheduled) where ‘N’
is the number of Queue Items in the PR_SYS_QUEUS table.

A queue is associated with the below status values.

1)Scheduled :- This is initial status when a queue is been


inseted into the table and which gets prcess by agent during
next run.

2)Now-Processing :- This means that the Queue is picked by


agent and is being processed.

3) Broken-Queue:- When Queue items fails in its processing,


the status will be updated to
Broken-Queue.
How to Trace An Agent :-

Login to SMA –> Agent Mngt –> Agents –> Select Agent which we
want to trace

–> click on Delay –> Now the agent will be delayed for 60
seconds.

Goto Raquestor Mngt –> Search with Agent name and see for a
requestor with description, Waiting upto 60 seconds…
Now get the Requestor name of this agent.

Open the tracer, click on remote trace, in the drop down


choose above requestor and click ok.

For the next agent run we can see the tracing the remote
tracer.

*Standard agents can be configured to run on multiple nodes


where as advanced agent we generally configure on a single
node.

Standard agents used to process WOs where as advanced agents


are used to perform a raw functionality(which does not involve
work object processing).
Types of Flows[L]
Flow Types :- There are 3 different types of flows available.

1. Process Flow 2.Sub Flow 3. Screen Flow


1. Process Flow :-

This is called as starter of our application which gets


triggered intially.

Process Flow Creates a Work Object.

2. Sub Flow :- This is similar to process flow except it is


not the starter flow but it has be invoked from a process
flow.

A sub flow can create a work object.

3. Screen Flow :-

A screen flow can not create a work object. It must be invoked


from any other flow.

A screen flow can be created Create –> Process –> Flow –>

Enter flowName then Click on “View Additional Configuration


Options” then choose “Standard template for screen flows”.

In a screen flow, flow action option will be available in the


“Assignment Shape”.

Types Of Screen Flows :-


Based on the appearance of the screen flows, these are
classified into three types.

1) Perform Screen Flow 2) Tabbed Screen Flow (Default) 3) Tree


Navigation.

Screen Type Can be chosen fromt the Start Shape Properties of


“Screen flow”.
* If we have two flows FlowA and FlowB, to invoke FlowB from
FlowA, PRPC provides a flow shape called

“Sub Process”.

Screen flow provides Back , Next or Finish buttons for


assignments i.e, we can navigate between the assignments in
screen flows.

Save On Last Step :- This option is available under the start


shape properties of screen flow.

When we select this option, data in a screen flow gets saved


only after the last step is completed.
Split For Each , Spli join,
Spin Off[L]
Flow Shapes :-

1) Sub Process :- Using this shape we can call only one sub
flow where the process flow wil wait for sub flow to be
completed. Once sub flow is completed process flow can resume
its excecution.

This is called syncronus processing.

Spin Off :- This option is available in sub process shape,


when selected, both process flow and sub flow will run
parallel. This is called asyncronus processing.

2) Split Join :- Using this flow shape we can call multiple


sub flows. All these sub flows gets excecuted parallel. Once
all the sub flow are completed, process flow can be resumed.

When we select ‘Join Any’, Process flow can be resumed when


any of the sub flows completed.

When we select ‘Join Some’ process flow can be resumes when


any of the sub flows completed with a when condition met.

3) Split For Each :- Using this flow shape we can call one sub
flow.

This flow shape takes the Page List a parameter to it and


executes the sub flow N number of times where N = number of
pages in page list.
Declare Index[L]
Declare Index Rule :- Indexing Improves the performance Of
application when running the reports.

If we want use any properties in Report rules, we need to


optimize those properties.
Un like normal properties, when we optimize PageList
properties PRPC will create below rules.

1) Index Class which gets Derived from the OOTB class ‘INDEX-
‘. This index class is been mapped to an index table.

2) Declare index rule which maintains the mapping between Data


table and Index table.

*Declare Index rule will be created under Work class ,


sysAdmin Category.

————————————————————————-
Optimizing Page List Properties :-

Optmize our UICustomersList Properties to be able to access


into reports.

Index Class Index-SWIS-SWISBank-Data-CUSTOMER


Index Property Name Index-SWIS-SWISBank-Data-CUSTOMER
CUSTID
Index Property Name Index-SWIS-SWISBank-Data-CUSTOMER
FNAME
Index Property Name Index-SWIS-SWISBank-Data-CUSTOMER
LNAME
———————————————————————————

The physical table mapped to the index class is…

pr_Index_SWIS_SWISBank_Data_CU
——————————————————–
Under work class it creates a declare index rule.
Declare Index Index_UICustomersList

Open the Index class, see the mapped table and look at the
mapped table for its data and pxInsIndexedKey
Web Services[L]
Web Services :-

In Order to establish connection between two application on


the web, we need to use Web Services.

Using web services two application can comminicate on web


using different Protocals like SOAP, REST, MQ, HTTP etc…
——————————————-
When communicate one application is going to request for data
from other application.

The application which requests for Data is called as consumer


and the app which responds is called as Provider.

Consumer is going to send Request where as Provider is going


to Respond.

PRPC appllication can be a requestor or provider.

Being PRPC application a requestor we need to create CONNECT


rules like
Connect-SOAP, Connect-REST, Connect-MQ etc…

Being PRPC application as a provider we need to create SERVICE


rules like
SERVICE-SOAP, SERVICE-REST, SERVICE-MQ etc…
SOAP Protocal

SOAP Uses XML Data Structure for Request and Response.

When working with SOAP we need to convert the clipboard


Properties into XML and XML into Clipboard properties.

Working with Connect-SOAP.

During connect-soap PRPC application uses SOAP protocal being


a requestor.
To stablish connection between two application we need ‘WSDL’
(Web Service Description Language) URL shared to us by
vendor(Provider).

To establish connection we need to input the WSDL URL by


running the wizard ‘Connector and Meta Data Wizard’ provided
by PRPC.

After the connection is established PRPC automatically creates


below rules.

1. Input, Output Parameter Properties for service in the


respective classes.
2. Connect SOAP Rule.
3. XML Stream Rule
4. Parse XML Rule
5. Activity with Connect SOAP method.

XML Stream Rule :- Is used to convert Clip board Properties


into XML format.

Parse XML Rule :- Is used to convert XML into Clipboard


Properties.

The above Rules 1,2,3, and 4 will be Created under


Organization Integration Layer where as 5 will be created
under Implementation Work Class.

* Al the conenctor related rules should be created under


Organization Integration Layer so that these can be utilized
by different divisions and units across the ORganization.
Class RELI-Int-GeoIPService-
Class RELI-Int-GeoIP
Class RELI-Int-GetGeoIP
Class RELI-Int-GetGeoIPResponse
Property RELI-Int-GeoIP.CountryCode
Property RELI-Int-GeoIP.CountryName
Property RELI-Int-GeoIP.IP
Property RELI-Int-GeoIP.ReturnCode
Property RELI-Int-GeoIP.ReturnCodeDetails
Property RELI-Int-GeoIPService-.GetGeoIPParameters
Property RELI-Int-GeoIPService-.GetGeoIPParametersResult
Property RELI-Int-GetGeoIP.IPAddress
Property RELI-Int-GetGeoIPResponse.GetGeoIPResult
Data Transform RELI-Reliance-Work.GetGeoIPRequest
Data Transform RELI-Reliance-Work.GetGeoIPResponse
Parse XML RELI-Int-GeoIPService-
.GetGeoIPParameters.GetGeoIPResponse
XML RELI-Int-GeoIPService-.GetGeoIPParameters.MapFrom
Connect SOAP RELI-Int-GeoIPService-.GetGeoIP
Activity RELI-Reliance-Work.GetGeoIP

GetGeoIPParameters.IPAddress (This Input Parameter Prop to


service)

GetGEoIPParameterResult.GetGeoIPResult
CountryCode
CountryName
Ip
Return code
RetunCodeDetails

All these are out put parameter Properties of service.

Connect SOAP Rule = GetGeoIP

Also it creates XML stream and Parse XML Rules.

XML Stream rule will be called from Connect SOAP rule under
request Tab.

Parse XML rule will be called from Connect SOAP rule under
response tab.

* we need to assign pyWorkPAge properties to Input Parameter


Property of service before we call connect soap rule.

* After soap rule is excecute we need to assign out put


parameter properties of service to pyWorkPage Properties.
*Now goto work class we have got an actvity created “GEtGeoIP”
which calls connect soap rule using the method Connect-SOAP.
Skimming[L]
Skimming :- Skimming allows a developer to copy the rules of
multiple ruleset version to next highest rule set version.

Skimming is of two types

1) Major Skimming 2)Minor Skimming.

Major Skimming means the new rule set version created will be
updated with it’s major version value.

Minor Skiming means the new rule set version created will be
updated with it’s minor version value.

The patch version of new skimmed rule set version number will
be ’01’ by default.

Skimming drops the duplicate rules.

For example, if you move a ruleset containing rules with


ruleset versions 01-01-01, 01-01-02 and 01-01-03 into a new
target ruleset and specify a version of 01-02-01, the target
ruleset version will contain the highest version of all the
source rules contained in versions 01-01-01, 01-01-02 and
01-01-03 with lower-versioned duplicates dropped. In this
example, if a rule is duplicated in both 01-01-01 and
01-01-02, the rule will be moved from 01-01-02 to the new
ruleset name with ruleset version 01-02-01, and the duplicate
rule in 01-01-01 will be dropped.

Select the Designer Studio> System >Refactor > RuleSets

Major Skim

During a major skim, rules with Availability of ‘Yes’,


‘Blocked’, and ‘Final’ are carried forward. Rules with
availability of ‘No’ (not available) or ‘Withdrawn’ are
filtered out.
Minor Skim
During a minor skim, rules with Availability of ‘Yes’,
‘Blocked’, ‘Withdrawn’ and ‘Final’ are carried forward. Rules
with availability of ‘No’ (shown as ‘Not Available’ in the
table below) are filtered out.
Case Types and Staging[L]
Case Type and Staging :-

Case Type allows us to design WO life cycle. It can be added


from cases explorer.

* When we add a case type to our application, it allows us to


design the WO lige cycle using “Staging”
Wizard.

Staging :- Staging allows us to design the WO life cycle in


multiple stages.

WO will travel from start stage to End stage.


Usually End stages is called as “Resolution” stage.

Each stage is a collection processes where as each process is


a logical collection of similar steps.

Each Process = a work flow

Each step = A flow shape like an assignment or utility etc…

When we add multiple stages in a case type, it creates


multiple flows in the back group where each
flow corresponds to one Process under stage.

All these indipendent flows works together as a single flow.

1. WO travels in a flow from start shape to till end shape.

1. WO travels from Start Stage to End Stage (Resolution


Stage).

2. Ticket can be used

2. Change state is alternate approach.

3. SLa can be applied assignment level or WO level (i.e to


entire WO).
3. SLA can be applied ‘Step level’ (Assignment Level) ,
Process Level (Multiple assignemnts), Stage Level (Multiple
Processes),
Case Type Level (WO Level).

To apply SLa at case type level, goto settings tab of Case


type rule and choose Goals and deadlines.

4. Validation can be done after we submit flow action.

4. Validation can be done when we enter a stage.

* Properties, Sections, flow actions, flows will be


automatically created.

BLOB (Binary Large Objects)


Case Management[L]
Case Management :-

Case Management is a Process Of Spanning Multiple Child Cases


from a Parent Case where these child cases can be worked on
parellally.

The Parent Case is called “Cover Case” and Children are called
“Covered Cases”
When working Case Mngt, the class group must inherit from
“Work-Cover-“.

Below is the example of Case Management requirement.

HROnboarding –> H-01 — CoverCase


Approvals –> A-01 covered Case
Thrid Party Verification T-01 covered Case
Finance F-01 covered Case
Drug Test D-01 covered Case

Child Case Instantiation :- A child case instantiation


(Methdod For Creating Child Case) case be chosen under the
setting tab of Child Case Type Rule.

Parent Case Data Will be available on it’s pyWorkPage…

the pzInsKeys Of all the Covered cases of the parent case will
be available on pxCoveredInsKeys Value List under pyWorkPage.

pxCoveredCount property on pyWorkPage holds the number of


Covered cases of a cover.

pxCoveredCountOpen property on pyWorkPage holds the number of


Open Covered cases of a cover.

Goto the clipboard of child case

Covered case information will be available on it pyWorkPage.


pyWorkCover = pyWorkPage Of Parent Case.

When working with Child Case If we want to use the Data Of


Parent Case we need to use it from pyWorkCover.

* PRPC provides an OOTB when rule ‘AllCoveredResolved’, which


returns true when all the covered cases resolved and false
when any one is open.
How to restrict the Parent from being closed before it’s
childred are being closed.

PRPC Provides an OOTB Activity, pxForceCaseClose(work ID ,


Status, CloseAllSubcase etc..), which will close the parent
case and all sub cases forcefully.

Data Propagation :- This option is available on the settings


tab of Parent Case Type Rule.

Using this we can copy the data of Parent case properties to


Child case properties.
Exception Handling and
Logging[L]
Exception Handling and Logging :-

Exception handing means, handling the erronious situation


during business processing. So the exception handled tasks can
be resumed for it excecution later.

In PRPC exceptions can be handled in the actvity steps at


“Jump”.

In Connectors and services exceptions can be handled using


“Error handler” flow, which we can call in the connector or
service rules.

In connectors and Services PRPC has an error handling section


where in whcih it has an OOTB “Connection Problem” flow being
called.

This flow check the availability of target resource and routes


the task to respective work baskets.
Exception Handling and
Logging[L]
Exception Handling and Logging :-

Exception handing means, handling the erronious situation


during business processing. So the exception handled tasks can
be resumed for it excecution later.

In PRPC exceptions can be handled in the actvity steps at


“Jump”.

In Connectors and services exceptions can be handled using


“Error handler” flow, which we can call in the connector or
service rules.

In connectors and Services PRPC has an error handling section


where in whcih it has an OOTB “Connection Problem” flow being
called.

This flow check the availability of target resource and routes


the task to respective work baskets.
Differnces Between PEGA 6.x
and PEGA 7.x[L]
Differnces Between PEGA 6.x and PEGA 7.x

1)Pega 6 used single schema DB for both rules and Data,


whereas PEGA 7 uses two schemas one for storing rules and one
for storing Data instances in it’s rulebase. This is called
split schema architecture.

2)PEGA introduces new layout called “Dynamic Layout” for UI


desigin.

3)PEGA 7 in its portals used “Dynamic Container”.

4)This Dynamic container and Layout makes the UI responsive in


PEGA 7 i.e, when we access the PEGA 7 application from
different devices like Lappy, Tab , Phone etc.. it
automatically adjusts the size of the UI as per the screen
size in the device.

5)Dynmic Select control has been depricated and replaced with


“pxDropDown” control.

6)Declare Pages are depricated and replaced with “Data Pages”.

7)Rules Inspector has been depricated and replaced with “Live


UI”.

8)Data Tables are been depricated and replaced with “Data Type
or Data Storage” rules.

9)Listview and Summary view are been depricated and only


Report Definition is Available.

10)Staging has been introduced to design the Work Object’s


Lyfe Cyle.

11)Organization setup has been removed and to create new


application we have to used “Create New Application” Wizard.

12)From PEGA 7 onwards, the convention of giving a ‘-‘ symbol


at the end the abstract class name is been removed.
COAL-FW-CourtOrderFW-Work (FCG) (Work-Cover-)

COAL-CourOrder-Work (CG) —> COAL-FW-CourtOrderFW-Work

COAL-CourOrder-ABC (CG) —> COAL-FW-CourtOrderFW-Work

COAL-CourOrder-XYZ (CG) —> COAL-FW-CourtOrderFW-Work


Project Explanation[L]
Project :-

Methodologies?

Project 1 year –> 4 Iterations /Project–> 6 Sprints /


Iteration –> Sprint will have Use Case Requirements.

Sprints (15 days)


Scrum :- Request (Jira, Lotus Notes, Rally), Development,Daily
Status Calls with business and dails team meeting, Unit
Testing, QA (Defects -DMS, Jira, Service Now, BMC, ALM ) UAT
Testing, Implementation Plan, Deployment check list, ,
Deployment (Release Management Team) (ARM Tool) …

How would you get requirements?

BA—> Tech lead –> Team Lead>–> Reasoures…

Request will be there in Jira Tool, also lead share us the


documents.

Development Life cycle Model. This is a procedure that you


folow for application development.

Request, Time Line, Dayly or Weekly status calls with


business, Internal Team meetings,

Development, documentation, Unit test case preparation, Unit


Testing, Peer Reviews, Peer testing.

Integration (QA) Testing (QA team), UAT (User Acceptance


Testing), Production Deployment. , Post Production Server.

Estimation?
—————————————————————————-
Roles and Responsibilities in Project? UI, Integration etc…

Being a developer wotking on Development Tasks in Sprints.


Will receive requirements from BA –> TEch Lead –> Team Lead
and working on Requirements implementation.

Involved in development , Unit Testing, Peer review, Peer


Testing, fixing Defects, Attending Status calls, Supporting
duting deplyent days with release management team.

———————————————————————————
Team size?

7 Resources.

Teac Lead, Team Lead and BA.

BA and Teach Lead (On shore)

Team lead and 4 other resources along with me are here in off
shore.

———————————————-

Who involved in build process?

Build will be done by Tech Leads. After build complete the


final Product file will be kept in a shared folder that can be
used by Release team to deploy it.

——————————————————————————
Deployment?

From Development to QA region I am involved in Deployment


using PRPC tool.

For production deployment we have release management team ,


they will take care of Deployents using ARM tool.

My work is to give support during deployment day.

Kind of support is just to monitor the process, be on call.

——————————————————————
Tools other than Pega?
Requirement Gathering – Jira, Lotus Notes, Rally , Planning
Poker.

DMS – Jira, ALM.

Deployment – PRPC, ARM.

XML Files and other files to maintain version — Subversion


Tool, Serina version manager, GIT…

Integration Testing — SOAP- SOAP UI, REST – POST MAN

——————————————————————
Upgrage from 6 to 7?

No Iam not involved but after the upgrade I have worked on UI


related issues.
Tech leads from On shore involved in the upgrade process.

Removing all depricated conrols.


Replace declare pages with Data Pages.
Converted Data Tables to Data Type (Data Storage format)
Designed studio –> Data Model-> Data Table

All tables will be displayed with a Button “Convert”.

————————————————————————
Performance Issues?
Performance issues related to DB, Reports, Server Log Files.

1. First We need to look at server space and free it deleting


log files.

2. Look into Alert Log files and see the any Alert Codes then
use PAL to Understand the Alter Code reasona and involve the
DB team , or Admin Team or other developers as required.

3. Report Definition Properties not optimized or used Complex


joins.

—————————————————————————-
Module Worked on?
I am involved in almost all the modules of my application. I
have idea from end to end.

————————————————————————-
Domain? & Clinet?

Mention a client which is not well known.

————————————————————————–
What Project to Mention in Resume?

You should know the business of the project… How this project
delivers the required out put to the user –> What is the input
and What is the output.

Choose the project which you can imagine in real life.

How this project can be done manually –> Teams or people


involve in the project.

First screen to end screen.


Car Rental Project[L]

CAR Rental Application


Screen 1:- Customer Details

Capture basic Details.

Initial, First Name, Last Mane, Surname, Gender, Age, Country,


State, City, ZIP, Phone, Email.

Age :- Age should be Between 18 & 65.

County, State, City :- Crate 3 Data Pages to Populate these


with Source RPT or Activity.

Validations:

Last and First Name Should Not Be Same.

Email :- Check for Valid Email Address Format.

Mandatory Fields :-

First Name, Gender, Age, Country, State, City, ZIP, Phone.

Data Tables.

Counry :- CountryCode, CountryName

State : CountryCode, StateCode,StateName.

City:- StateCode,CityCode,CityName

Screen 2:- Transaction Details

Capture Transaction Details.


Pickup Date, Return Date, Country, State, City (Re Use the
above created Data Pages), Max Price (Dropdown),

A button to check the availability of CAR.

Driver Required (Radio Button Yes, No).

All are mandatory fields.

Data Table :-

Vehicle Availability :- PickUpDate, MaxPrice, Pick up


location (It should be a drop down with data page, location
should be based on City), CAR Type , Model, Make Year, VIN
Number,Price of Each CAR.

Query(Obj-Browse) this Table to check the availability of CAR


with Pickupdate and <=Max Price.

Display the List of available CARs, If no cars available


display a message “NO CARs available”.

If CARS available

Use repeating Layout and Display Page List Data with a select
Radio Button.

Copy the Select CAR details to a Page SelectedCARPage and


Display these details in next screen along with RENT Price.

3. CAR SUMMARY Screen

Display CAR Summary details form the SelectedCARPage.

CAR Number, CAR Type, CAR MODEL, MAKE YEAR.


Display some Terms and conditions, Give a Mandatory Check Box
To select the agreement, if selected then only user should
proceed further.

4. DRIVER DETAILS Screen.


Driver Type ( Drop Down Values Self, Other)

If Drive required is NO, then Default Driver Type to


Self and make it read only.

Drive Details Should be Displayed here if the Drive


Required is ‘YES’ and Driver Type is Other.

If self populate the Requestor Details from Customer


Details Screen. Else ask for details.

Self or Others the below details should be captured.

Licence Number (Validate it against a Table using Obj-


Open),

Passport number ((Validate it against a Table using Obj-


Open).

On submit of this screen , Insert the data into


AssignedDriver Table.

Data Tables :-

Driver Details :-

Drive Name, Age, Gender, Licence Number, VIN Number.


(This should have the date)

AssignedDriver :-

CaseID, Drive Name, Age, Gender, Licence Number, VIN


Number. (this table should be inserted at run time)

Attachments Screen:-
If the driver required is Yes, this screen is not required.

User should attach License Copy and Passport Copy.

Approval Screen :-

Approval Screen Should be available to manager,

He should be displayed with the details of Requestor, Driver,


along with Drivers Licence and Passport Detials.

He shoould be able to open the attachments and see the


correctness of the details displayed with the attached
dcuments.

then he should be able to approve it or reject it.

If approved proceed to Give the CAR and Close the case with
status Resolved-Approved.

Else ask manager for the reject reason and close the case with
the status Resolved-Rejected.

You might also like