FLOW

 


[5 times efficient than JEE to build Flows]

      Flow (BPM) is a dynamic visual representation of your whole Application (say Loan Origination) in PRPC where we put our business logic inside it (in smart shapes) in terms of rules modelled and is created as an instance of Rule-Obj-Flow class (saved in pr4_rule_flow table)

      Flow (in general) is used to move the Case from one step to other until it is resolved

      Where-Am-I link tracks the flow progress where you are & appeared only on Assignment screen

      Draft mode flow is dummy flow which suppresses most errors (Remember to turn it off before migration)

🡪    When we create any Flow – its mode is by default Draft on that acts as dummy flow which suppresses most errors

      Remember to turn it off before migration by toggle the Draft on button on Flow rule form, because Draft on mode flows are just demo purpose which can’t be executable in Prod environment

      Process Modeler modeling tool is to model the flow using normal, smart & advanced Shapes

      Features of Flow rule:

🡪    Creates a new work object: To make this flow executable called Starter Flow

         Include it & define Prefix in Application

🡪    Skip create harness checkbox to skip New harness as an initial WO screen

🡪    New Harness: It gives brand new screen to capture initial work object information from the user

🡪    pyCaseManagementDefault Work Parties:

         These are the actors who involved (participated) in a work (Flow) progress

         Select it to avoid errors occurred on above New harness

🡪    Temporary object: if you want & use ‘Persist Case’ smart shape later

🡪    pyDefault Data Transform: To initialize the Work object creation

         Data Transform is just Java Constructor, used to initialize the Work object creation & additionally used for Page operations in clipboard

      Flow always runs on pyWo

      rkPagePredefined Harnesses involved in Flow progress are:

🡪    New harness: Flow > Process tab

Gives as brand new screen to capture initial WO info from user

🡪    Perform harness: Flow > Assignment shape

Allows a user to perform an action on assignment by selecting a Flow action

🡪    Confirm: (Flow > Process tab)

Gives read-only confirmation display of WO (like acknowledgement)

      In general – There are 2 types of Flows:

Process Flow (Only forward moving) and Screen Flow (Back & forth moving)

      There are 4 types of Flows:

1)      Process Flow (Only forward moving): Commits at every screen there itself

🡪    Also called Main flow / Standard flow / Permanent flow / Parent flow / Default flow

2)      ScreenFlow (Back & forth moving): Commits upon final screen submission with back & forth options

🡪    Essence: Commits later upon final screen submission & never creates any Case by default & always acts as Sub Flow & improves UI design by go back

🡪    It captures the data in a series of assignments (screens) from single user allowed to go back & forth to ‘change & review’ the input given on every screen and commits data upon final screen submission

3)      Sub Flow:  Is a flow that is called from other flow

🡪    Again there are 4 types of sub flows:

1.      Sub-process (general shape): [Synchronous; waiting; refers any type of flow, but Single]

       The current flow pauses while the sub flow executes, later parent flow resumes

       Parameters (same for Spin Off also): Define Flow / Flow type / Flow rule / Audit Note / Work status / Ticket / Navigation link / Work property / Class / Page

2.      Spin Off: [Same as Sub-process, but Asynchronous]

       The current (parent) flow execution resumes in parallel while the sub flow executes

       Define it by selecting ‘Spinoff flow’ checkbox in Sub-process shape of Process Flow (not available in ‘Screen flow’)

3.      Split join (advanced shape): [Asynchronous (among multiple independent sub Flows)]

       The current flow pauses while the split (same WO) sub flows execute parallel and then later rejoin the current flow only when all or any or Some of sub  flows end

       Split and Route the WO to Work list and Workbasket at a time using Split Join (in real-time)

       Parameters: Join (All/Any/Some) / Audit Note / Entry point / Work status / Ticket / navigation link / Flow input / Flow output

4.      Split For Each (advanced shape): [Only for Page mode; refers any type of flow, but Single]

       The current flow pauses while the iterated split single sub flow execute, then later the current flow will resume

       You can't use the Split-For Each shape to create work objects

       Parameters: Join (All/Any/Some/Iterate) / Page mode property / Class / Flow Type / Flow Rule / When /Audit Note / Entry point / Work status / Ticket / navigation link

4)      STP (Straight-Through Process): A flow that has no assignments

A flow that contains no assignments, so can execute from start to end without human input, is known as a straight-through process

      Differences between Process Flow & Screen Flow

 

Process Flow

(any non-Screen Flow - forward moving)

       Auto commit is done at every step.

So doesn’t use commit method in the Flow (shapes) related Activities. Warning occurs if so.

       It may or may not create a WO (can be Starter or non-Starter or non-Screen flow)

       Moves only in the forward direction, but possible by reverse Connector (into Loop) like in Screen flow

       We can call both Process & Screen Flows

       It represents complete business process

       Routing is possible at each Assignment

 

       All shapes are available

       One Assignment can have multiple FAs

       Each Assignment has its harness

 

       It has SLA

 

Screen Flow

(series of Screens - Back & forth moving)

       It commits upon final screen submission not in between, but possible by Save on last step at every screen like in Process flow

 

       It never creates a WO by default (can’t be a starter flow), but possible by NewFromFlow activity

       Moves both back & forth directions, but possible not to move back by Enable navigation checkbox like in Process flow

       We can call another Screen Flow, but not Process Flow

       It doesn’t represent the business process but improves only UI design

       Routing not possible but at Start shape

       Limited shapes i.e. Assignment, Connector, Decision, Fork, Utility, Sub process, Split For Each, all smarts

       One Assignment can have only one FA

 

       All Assignments share only one harness that defines the type of Screen Flow (3 types)

       It has No SLA

 

Flow Shapes

[Smart shapes: 12; Advanced: 6 & General: 8]

SHAPE

Purpose

Rules referred in it

Start

Starts the Flow

      ‘NEW’ harness / ‘pyDefault’ DT / ‘pyCaseManagementDefault’ work parties

      Work status Property

End

Ends the Flow

      Ticket / Work status Property

Connector

To connect successive shape & also to connect external systems from Flow

      Property or DT

+ Audit note (Field Value) + 

      Other rules depend on the shape from which it is emanating

Assignment

[Potential pause - Human decision]

 

      Ticket {rule / option / shape (< V6.2 versions)}

🡪    Creates an assignment in a work list or in a work queue (workbasket) to input to the flow

🡪    Human takes actions to route further, local as well

      To jump from one shape to other (like GOTO statement in C language)

      Harness (Perform) / FA (Local) / SLA / Activity (Assign, Route & Notify

      Notify option Correspondence activities will always look for Email Account

      Ticket / Work status Property

Decision (& Fork)

[System decision]

 

System takes decision action to move further by evaluating conditions defined in Decision rules

      Decision rules (Decision Table /  Decision Tree / Map Value & When)

      Ticket / Work status Property / Audit note (Field Value)

Utility

[System actions]

🡪    Performs system actions without user input

🡪    Utility actions like Update Status of the Case, Send Corr (e-Mails)...

      Activity (Utility)

      Ticket / Work status Property / Audit note (Field Value)

 

Send Email

To send an email by hard code or to work parties

      Role of Work Party

      Ticket / Work status Property / Audit note (Field Value)

Attach Content

‘Attach a file’, ‘URL’, or ‘Noteto a case

      Attachment Category

      Ticket / Work status Property / Audit note (Field Value)

Create PDF

Creates PDF file from a specified Section and attaches it to the case

      Section / Attachment Category

      Ticket / Work status Property / Audit note (Field Value)

Integrator

🡪    To invoke Service (external applications) Asynchronously like SOAP, REST, SQL …

🡪    It doesn’t wait for a response before moving to the next step in the flow.

      Activity (Rule Connect)

      Ticket / Work status Property / Audit note (Field Value)

Assignment Service

🡪    To invoke Service (external applications) Synchronously & also defines SLA on the external system’s response for which work item is waiting

🡪    It waits (by SLA) for a response before moving to the next step in the flow.

      Activity (Rule Connect) / SLA

      Ticket / Work status Property / Audit note (Field Value)

Wait

It doesn’t allow user to advance the case (assignment) unless some business event (reaching specific status of one or more cases) or specified length of time is satisfied

      Workbasket / Harness (Perform) / Instructions (Field Value) / FA (Local)

      SLA

      Timer / Case Dependency (Case Type) / Status

Persist Case

Converts current temporary Case to a permanent object  in the db

Note: Select ‘Temporary object’ in Starter flow to implement it

      Ticket / Work status Property / Audit note (Field Value)

Create Case(s)

To create a Case (either top-level or child) at run-time

      Case Type / Flow / DT / Page List

      Ticket / Work status Property / Audit note (Field Value)

Search duplicate cases

🡪    It displays the list of search matched Cases (C-5, C-7 etc…), so user can be able to select & go with it

🡪    Place this shape after Case creation

      Spinoff / Class / Page name

      Ticket / Work status Property / Audit note (Field Value)

Change to a Stage

(Like go to in C / C++)

🡪    To jump across Stages in the Case life cycle

🡪    Other Stage transitions: pxChangeStage activity; Change Stage Flow Action; Skip stage (when rule)

      Specific Stage name

      Ticket / Work status Property / Audit note (Field Value)

Change to next Stage

🡪     

      Next Stage

      Ticket / Work status Property / Audit note (Field Value)

Generate Document

🡪     

       

Save data page

🡪    To save declarative page (Data Page) persistently into db

      Data Page rule

      Ticket / Work status Property / Audit note (Field Value)

Load data page

🡪    Asynchronously starts loading a data page to reduce the time that a screen takes to load the data page.

       

Post to pulse

🡪    Creates a message that is sent to the Pulse social stream.

       

Push notification

🡪    Sends a notification to an iOS or Android mobile device to indicate that an action is required by the user.

      Notification rule

Run in background

🡪    To queue the task to process it either by Standard Queue Processor or by Dedicated (custom) Queue Processor

      Agent activity (for Standard)

      Queue Processor rule (for Dedicated)

      Alternate AG property: provide it through pyDefault DT

Send notification

🡪    Sends a notification to users over one or more channels based on the logic defined in a notification rule.

       

Send via docuSign

🡪    Sends documents for electronic signatures

       

Update a case

🡪    Updates the case or all child cases and descendants.

       

Approval

🡪     

       

Survey

🡪     

       

Question

🡪     

       

Question page

🡪     

       

Assign to robot queue

🡪     

       

Swimlane

🡪     

       

Annotation

🡪    To add the Comment to Flow (no impact on Flow execution)

       

Sub flow shapes: Used to call flow by other flow

Why: To improve performance of entire business Flow, even for easy debug

Subprocess (Synchronous)

 

      Spin Off checkbox (Asynchronous)

 

To call other Flow Synchronously

Current flow pauses while sub flow executes, later parent flow resumes

 

Current flow execution resumes in Asynchronously (parallel) while sub flow executes (both are parallel)

 

 

 

Split Join (Asynchronous)

🡪    Sends the case to two or more other flows

🡪    Current flow pauses while split (same WO) sub flows execute Asynchronously (parallel) and then later re-joins the current flow only when all or any or Some of sub  flows end

 

Split for Each (Asynchronous)

🡪    Performs the same operation for each item in a list.

🡪    The current flow pauses while the iterated split single sub flow execute Asynchronously (parallel) (then later the current flow will resume)

 

 

Comments

Popular posts from this blog

Good to know things before attending Interviews

Properties in Pega

Learning Pega for Beginners