Extension Points in PEGA Platform – Part 2

Extension Points in PEGA Platform – Part 2

Summary:

This article is the continuation of part 1 post that discusses about additional extension points that can be overridden to meet application-specific needs.

Read through the Part -1 post of extension points to get an overview of PEGA extensibility and Usage of few extension points in Work- & Assign- classes with real-time examples.

As a continuation of the part-1 post, let’s go through the usage of below extension points in this post,

  • Work-.ReopenDefaults
  • Work-.ReassignDefaults
  • Work-.ReassigntoWorkbasketDefaults
  • Work-.CloseDefaults

ReopenDefaults

Before getting into the discussion on ReopenDefaults, let’s understand the Reopen functionality in PEGA.

If a Case/Work Object which is already resolved needs to be re-opened based on the Customer’s request or on specific business need, then Reopen functionality available OOTB can be used.

Reopen action will by default be available as an optional action in all resolved cases.

Work-. Reopen API activity is invoked when a resolved case is reopened. This API takes care of performing the change stage, updating OOTB properties, audit history, and other manipulations during the reopening of the work objects.

Coming back to our extension point discussion, ReopenDefaults can be extended & specialized in the respective work class to implement application-specific logic during the reopening of the work objects.

  • ReopenDefaults is a rule type of class Rule-Obj-Activity.
  • As the name suggests, it’s an extension point provided by PEGA to plugin logic whenever a resolved case is reopened.
  • ReopenDefaults is available as an extension point in Work- Class.
  • ReopenDefaults is invoked from an OOTB API Work-. Reopen.

Business Scenario

Let’s consider the Loan application used in the part 1 post just to ensure the continuity & ease of reading.

This image has an empty alt attribute; its file name is image-15.png

Customers can call the loan processing department anytime with the loan processing identification number of their processed loan cases to pay the pending payment like a one-time settlement.

The system should update the case status as Pending-Reopened whenever a case is reopened.

Implementation

  • Loan processing identification number will typically be the Case ID using which the loan processing department can search & open the case-specific to that customer.
  • Specialize ReopenDefaults in the Loan work class with logic to update the case status.

Execution

  • Enter the identification number provided by the Customer and open the matching case (L-5 in our example).
  • Perform the optional action Reopen.
  • ReopenDefaults specialized in the loan work class gets invoked which updates the status of the case as Pending-Reopened.
Tracer events showing the execution of ReopenDefaults specialized in loan work class.

ReassignDefaults

Before getting into the discussion on ReassignDefaults, let’s understand the Reassign functionality in PEGA.

Reassign/Transfer assignment is the process of assigning one’s work to another User (Worklist) or a common basket (Workbasket) based on the unavailability or any other business circumstance. Reassign functionality ensures the Case/ Work Object is processed without any slippages/miss.

Coming back to our extension point discussion, ReassignDefaults can be extended & specialized in the respective work class to implement application-specific logic when the case is reassigned/transferred to another user’s worklist.

  • ReassignDefaults is a rule type of class Rule-Obj-Activity.
  • As the name suggests, it’s an extension point provided by PEGA to plugin logic whenever a case is reassigned to another user’s worklist.
  • ReassignDefaults is available as an extension point in Work- Class.
  • ReassignDefaults is invoked from an OOTB API Work-. Reassign.

Business Scenario

End users can reassign their assignments to another user when they are not available to work on the case at the given time. Whenever a case is reassigned to another user, email should be sent to the new assignee with the below details,

  • Case ID.
  • Case Status.
  • Reassigned/Transferred from.

Implementation

Let’s now see a loan work object created by Case Worker 1 being transferred to Case Worker 2.

  • Use OOTB Flow action pyTransferAssignment as an optional local action to implement reassign logic.
If reassign is specific to an assignment, then it can be added as an optional action to the assignment. If its common across assignments in case, then it can be added as a case wide local action.
  • Specialize ReassignDefaults in loan work class with logic to send emails to the new assignees as per requirement.
Param.ReassignOperator in the ReassignDefaults activity holds the operator ID to which the assignment is getting transferred to.
Param.ToEmail is the email ID mapped to the new assignee’s operator ID record.

Execution

  • Login as Case Worker 1 and create a loan case. As per configuration, Case Worker 1 should see Transfer as an optional action.
  • Select Transfer action and fill in the required details for the system to perform the assignment transfer.
OOTB flow action pyTransferAssignment takes care of collecting all required information to perform assignment transfer. This flow action and section can be customized for application-specific logic.
  • Once the Reassign/Transfer assignment is performed, an email is sent to the new assignee [Case Worker 2] as per the logic implemented in ReassignDefaults.
Case Worker 2 receiving email on the assignment transfer of case L-9.
Tracer events showing the execution of ReassignDefaults specialized in loan work class.

ReassignToWorkBasketDefaults

ReassignToWorkBasketDefaults can be extended & specialized in the respective work class to implement application-specific logic when the case is reassigned/transferred to workbasket.

  • ReassignToWorkBasketDefaults is a rule type of class Rule-Obj-Activity.
  • As the name suggests, it’s an extension point provided by PEGA to plugin logic whenever a case is reassigned to Workbasket.
  • ReassignToWorkBasketDefaults is available as an extension point in Work- Class.
  • ReassignToWorkBasketDefaults is invoked from an OOTB APIWork-. ReassignToWorkBasket.

Business Scenario

End users can reassign their assignments to a common work pool (WorkBasket) when they are not available to work on the case at the given time.

Whenever a case is reassigned to the workbasket, urgency should be incremented by 20. This urgency is used to prioritize the cases assigned to the work basket.

Implementation

Let’s now see a loan work object created by Case Worker 1 being transferred to LoanApprovals WorkBasket.

  • Use OOTB Flow action pyTransferAssignment as an optional local action to implement reassign logic.
If reassign is specific to an assignment, then it can be added as an optional action to the assignment. If its common across assignments in case, then it can be added as a case wide local action.
  • Specialize ReassignToWorkBasketDefaults in loan work class with logic to update the assignment urgency as per the business need. You can refer to our article on Service Level Agreement which explains urgency and its configurations.
Since it is just about setting property pyUrgencyAssignAdjust, Data transform is created rather than using property-set in Activity rule.

Execution

  • Login as Case Worker 1 and create a loan case. Loan case assignment urgency can be checked in the My Work of the Case Worker 1 portal.
  • As per configuration, Case Worker 1 should see Transfer as an optional action.
  • Select Transfer action and fill in the required details for the system to perform the assignment transfer.
  • Once the Reassign/Transfer assignment is performed, Loan case should be transferred to LoanApprovals WorkBasket & Approval urgency should be incremented by 20 [Initial urgency 10+ Transfer urgency 20].
WorkBasket view of LoanApprovals WB showing the updated urgency of the assignment after transfer.
Tracer events showing the execution of ReassignToWorkBasketDefaults specialized in loan work class.

CloseDefaults

  • CloseDefaults is a rule type of class Rule-Obj-Activity.
  • As the name suggests, it’s an extension point provided by PEGA to plugin logic whenever a case gets closed-from UI or cancel button is clicked on an assignment.
  • CloseDefaults is available as an extension point in Work- Class.
  • CloseDefaults is invoked from an OOTB APIWork-. Close.

CloseDefaults can be specialized to,

  • Conditionally unlock Parent and child case by overriding the parameters set in Work-. Close.
  • Remove Custom/User pages created for execution.
  • Update Requestor level data pages if any.
  • Application-specific logics namely recording audit trial for security purposes/ capturing the close reason for reporting purpose.

Let’s explore more on extension points in our continuation post [Part 3].

Part 3 will cover the following extension points.

  • Work-. NewCoveredDefaults
  • Work-. AddCoveredDefaults
  • Work-Cover-. AddToCoverDefaults
  • Work-Cover-. RemoveFromCoverDefaults

Stay tuned for part 3 😎

OSP TEAM
Written by
OSP Editorial Team

Recent Jobs from our community

loading
View more Jobs on OSP Forum
Join the discussion

Feel free to post your questions here about this topic if any. We will definitely get back to you ASAP !!!
If you have any off-topic questions, Let's discuss at OSP Forum

8 comments
  • Guys I don’t see my name in ur site. Where to see?🤑 Hurray am the winner guys…. @chaitanya and sashankey u missed the contest guys. Cowsick attended.

  • Guys post something new guys. These things and all I can see in pdn guys. Appreciate ur effort guys but new topic will bring more values to every Pega guy guys. I am now confident of basic Pega guys. I used pdn a lot n tried numerous hands on day in day out guys like I can proudly say that I am expert now and no more tag myself as fresher guys. It will be good if u switch gears to framework rpa cloud integration and all guys. U can come up with some requirements analysis section also guys. U can teach people to create end to end application by taking a good example guys. All the best for all these new initiative guys. I like the way you are receiving feedback and coming up with a lot of good innovative informative initiatives guys. Congratulations Archana Karthick pushpa and durai!!! Way to go guys.

    • Thanks for expressing your thoughts. We do have a plan of covering end to end implementations in PEGA and we will definitely keep doing it. Subscribe and follow us to be up-to-date.

      Happy Learning from OSP 😊

  • Hi
    I am calling reassigntoworkbasket ootb activity in my activity to transfer the wo to a new workbasket while doing so newassignpage is picking pxinsname as ! , i am not sure why it is not picking the pzinskey appropriate i tried to trace still no luck i am not sure where exactly reassigntoworkbasket pulls this data

    • Please let us know why you are calling ReassignToWorkBasket API manually rather than using OOTB TranferAssignment Flow Action. Trying to understand your implementation in detail to provide an optimal solution.