Upload
nihu
View
226
Download
1
Embed Size (px)
Citation preview
8/18/2019 PeopleSoft Approval Framework
1/47
PeopleSoft Approval
Framework
Srini
8/18/2019 PeopleSoft Approval Framework
2/47
Approval Framework
• Describing Approval Framework
• Describing Approval Features
• Implementing Approval Framework
•
Defning Supporting Objects• Setting Up the Transaction Registr
• !onfguring Transactions
• Defning a "otifcation
8/18/2019 PeopleSoft Approval Framework
3/47
Approval Framework
The #eopleSo$t Approval Framework is a speciali%e&application use& $or &efning an& confguring approvals'Approval Framework enables ou to confgure approvalprocesses using e(isting components without writing co&e'
)an #eopleSo$t applications are &elivere& withpre&efne& approval processes'
8/18/2019 PeopleSoft Approval Framework
4/47
Roles in AF* &evelopment an&
8/18/2019 PeopleSoft Approval Framework
5/47
Approvals Business Process Flow
+ithin the approvals business process ,ow-
. Application &evelopers register in$ormation with the Approval Framework'
. Functional business analsts &efne the approval process &efnition $or anapplication transaction'
. Re/uesters submit a transaction $or approval'
This action launches the approval process' The Approval Framework rea&sthe approval process &efnition an& /ueues the transaction $or approvers'
. The sstem /ueues an approval task to an approver or reviewer usingemail notifcation0 +orklist entr0 or both'
The UR1 enco&e& in the +orklist entr points to the correspon&ing approvalcomponent'
. Approvers take actions on transactions' The can approve or &enre/uests0 monitor transaction statuses0 an& au&it approvals
8/18/2019 PeopleSoft Approval Framework
6/47
Activity : Testing ApprovalFramework
8/18/2019 PeopleSoft Approval Framework
7/47
Describing Approval Features
Using a combination o$ $eatures0 ou can create rules $or&i2erent tpes o$ approvals'
. A& hoc path approval an& A& hoc review
. Sel$3approval
. Route to re/uester . Skip prior path an& auto approval
. #ush 4ack
. Alternate approvers5Deligation
8/18/2019 PeopleSoft Approval Framework
8/47
Ad Hoc Approval Path
• I$ A& 6oc Approval Status )onitor is implemente& $or anapproval transaction0 then &uring the approval process0approvers can a&& other approvers or reviewers to thecurrent or a later stage o$ the approval process'
•
This action is calle& a& hoc approval0 an& it onl applies tothe approval instance in which the a&&ition occurs an& &oesnot a2ect the un&erling process &efnition use& $or otherre/uests'
8/18/2019 PeopleSoft Approval Framework
9/47
Ad Hoc Review
A& hoc reviewers are users that an approver or re/uesterwoul& like to review a transaction' A& hoc reviewers arenotife& an& provi&e& with a link in a worklist entr or email tothe transaction0 i$ the process is so confgure&' A& hocreviewers &o not approve or &en transactions0 the can a&&comments'
8/18/2019 PeopleSoft Approval Framework
10/47
Self-Approval
A re/uester can also be an approver' I$ re/uesters approvetheir own transactions0 it7s calle& sel$3approval' A check bo(setting enables sel$3approval' I$ enable&0 the re/uester7sapproval is assume&0 an& the process continues' 6owever0ou can establish criteria that helps control the re/uester7sapproval authorit' For e(ample0 ou can place a limit on the&ollar amount $or the re/uester so that i$ the transaction isover that amount0 the re/uester is not use& as an approver'
8/18/2019 PeopleSoft Approval Framework
11/47
Route-to-Requester
Route to re/uester is a $eature that in$orms the sstem that anapproval shoul& be sent to a re/uester' In some cases there/uester ma alrea& be liste& in the approval path'
8/18/2019 PeopleSoft Approval Framework
12/47
Skip Prior Path
+hen skip prior to re/uester is enable&0 the sstem begins theapproval ,ow at whatever step in which the re/uester is anacknowle&ge& approver' For e(ample0 i$ a vice presi&entor&ers supplies $or hersel$0 the sstem skips applicationapproval steps lea&ing up to the step $or which the vicepresi&ent is an acknowle&ge& approver'
8/18/2019 PeopleSoft Approval Framework
13/47
Auto Approval
+hen auto approval is enable&0 the sstem remembers anapprover7s action $or that process at the hea&er3 or line3level0an& applies the same action automaticall $or an subse/uentappearance in the Approval Framework routing' For e(ample0i$ the approver approves line one an& the line appears againas a re/uire& approval $or the specifc approver0 the approvalis remembere& $or the line' This approval &oes not pertain toan other line0 but hea&er approvals &o impl line approval $orthis $eature'
8/18/2019 PeopleSoft Approval Framework
14/47
Alternate Approvers
• Alternate work,ow approvers are users who are assigne& toreceive emails an& worklist notifcations $or the primarapprover when the primar approver is not available' +henou i&enti$ an alternate approver0 ou enter a &ate range&uring which ou want the alternate to fll in' The sstem&etermines i$ the alternate is in place $or the &ate range'
• Approval Framework checks recursivel to either create accle or fn& a vali& alternate' For e(ample0 assumeApprover A specifes Approver 4 as the alternate user IDwhile Approver A is out o$ the o8ce' Also assume thatApprover 4 happens to be out o$ the o8ce at a time &uringuser A7s absence0 an& 4 specifes Approver ! as analternate user ID' In this case0 the sstem sen&s work,owroutings originall inten&e& $or Approver A to Approver !
8/18/2019 PeopleSoft Approval Framework
15/47
Push Back
#ush back is an optional $eature that can be implemente& inthe Approval )onitor' I$ implemente&0 push back takes acurrentl pen&ing step out o$ pen&ing status an& re/ueues theprevious step to its approvers' The meaning o$ push back isthat the approver is /uestioning the prior step7s approval an&is re/uesting clarifcation' #ush back is onl possible within apath0 there$ore0 the frst step o$ a path cannot push back'
8/18/2019 PeopleSoft Approval Framework
16/47
Approval Comments
• Re/uesters can a&& comments to transactions0 an&approvers can associate their comments with the approvalprocess rather than the re/uest transaction &irectl' TheApproval Framework )onitor provi&es a mechanism
•
$or associating comments with a particular approval processinstance0 which is tie& to a particular applicationtransaction' Approvers can view comments a&&e& banother approver0 but the cannot change previouscomments'
8/18/2019 PeopleSoft Approval Framework
17/47
Delegation
The Delegation framework supports thefollowing types of delegation:• Downward delegation of authority to a direct report
or another person lower down in the reporting
hierarchy
• !pward delegation of authority to a manager oranother person higher up in the reporting hierarchy
• "ateral delegation of authority to a peer eitherwithin the same division or in a di#erent division
within the reporting hierarchy'
8/18/2019 PeopleSoft Approval Framework
18/47
$omponents !sed for ApprovalFramework
8/18/2019 PeopleSoft Approval Framework
19/47
Approval Framework $omponents
• Transaction Registr
The transaction registr stores all o$ the meta&ata that&escribes the transaction setup to Approval Framework $or aspecifc process ID' +hen the transaction is submitte& $orapproval0 the 1aunch )anager application class is use& toenter the transaction into the Approval Framework' The crossre$erence recor& ties the specifc transaction to the approvals'*vent 6an&ler class #eople!o&e specifes the events $or thetransaction an& the action to take' The Approval )anagerclass &etermines whether or not the user entering the
approval component has an pen&ing approvals to work'
8/18/2019 PeopleSoft Approval Framework
20/47
Transaction Con!guration
The transaction confguration stores in$ormation on all eventsuse& b the process ID0 inclu&ing the approval components0notifcations0 notifcation participants0 an& the notifcationchannel $or each event' It also &efnes the view that will beuse& in the Approval Status monitor to provi&e morein$ormation about an approver or reviewer'
8/18/2019 PeopleSoft Approval Framework
21/47
Approval Process Setup
• The Approval #rocess Setup components &efnes thecriteria0 stages0 paths an& steps use& to approve atransaction' Approvers are &efne& b user lists'
8/18/2019 PeopleSoft Approval Framework
22/47
Steps %e&uired to Set !p a 'ewApproval Process
8/18/2019 PeopleSoft Approval Framework
23/47
Approval Process Setup
To implement the Approval Framework process0 the $ramework$or buil&ing an& interpreting work,ow approvals bringstogether these users-
Application "evelopers
#unctional Business Analsts$nd %sers
8/18/2019 PeopleSoft Approval Framework
24/47
"aunching Approvals
!reate the co&e to launch Approval Framework' The co&e must e(ten& the1aunch)anager application class an& at a minimum &efne a submitbutton'
Application &evelopers shoul& instantiate this class as a component3scope&variable' The best place to initiali%e this class is in the component post3buil& event' This is an e(ample to launch Approval Framework $or9oucherApproval'
import *OA+:!OR*-;<
!omponent *OA+:!OR*-1aunch)anager =launch)gr<
I$ 9OU!6*R'9!6R:A##R91:F1> ? @+@ Then
=vchrRecor& ? !reateRecor&Recor&'9!6R:AF:6DR:9+B<
>et1evelCBB'>etRecor&Recor&'9OU!6*RB'!opFiel&sTo=vchrRecor&B<
=launch)gr ? create *OA+:!OR*-1aunch)anager@9oucherApproval@0
=vchrRecor&0 EOperatorI&B<
8/18/2019 PeopleSoft Approval Framework
25/47
Approval $omponent
The approval component will inclu&e the necessar pushbuttons to approve or &en transactions0 as well as an otheractions that can be taken'
*ach transaction will have at least one page or componentwhere the user must go to in or&er to approve the transaction'#ossible actions to inclu&e are-
. Approve
. Den
. #ush back
. Resubmit . Reassign
8/18/2019 PeopleSoft Approval Framework
26/47
Approval $ross %eference Table
Application developers must create a record containingthe applications keys( and include the ApprovalFramework)supplied subrecord *+A,-.%*F-SB%'
8/18/2019 PeopleSoft Approval Framework
27/47
8/18/2019 PeopleSoft Approval Framework
28/47
/iew of !sers
The approval user in$o view is a view that is use& to &isplaa&&itional in$ormation about Approval Framework participantsin the Approval Status )onitor' l
8/18/2019 PeopleSoft Approval Framework
29/47
/iew of !sers
The approval user in$o view is a view that is use& to &ispla a&&itionalin$ormation about Approval Framework #articipants' +hen an in&ivi&ualuser is &isplae& as being a participant o$ an approval process in theApproval Status )onitor0 onl his or her operator ID is &isplae&' 4&efning an Approval User In$o 9iew0 when a user selects the Operator ID o$a participant in the sstem0 the Approval Framework will &ispla the
a&&itional in$ormation that ou have &efne& in our view on the ApproverIn$ormation page'
• For e(ample-
• S*1*!T A'opri&
• 0 4'eoawbu
•
0 4'phone:work• 04'email:a&&r
• FRO) psopr&e$n A
• 0 ps:ut:person 4
• +6*R* A'opri& ? 4'opri&
8/18/2019 PeopleSoft Approval Framework
30/47
Approval *vent 0andler $lass
*ach time an event occurs0 the Approval Framework notifesthe application' For applications to receive the notifcations0application &evelopers must e(ten& the event han&ler class0Approval*vent6an&ler'
• The Approval Framework is &esigne& aroun& a series o$specifc0 pre3&efne& events' Approval Framework thenleverages #eopleSo$t Application !lasses in or&er to allowapplications to e(ten& its own processing'
• This allows the a&opting application to assign specifcpieces o$ #eople!o&e to be fre& &uring these events
8/18/2019 PeopleSoft Approval Framework
31/47
*1tending Approval*vent0andler$lass
• ou will be re/uire& to create our own version o$Approval*vent6an&ler class' +hen ou e(ten& thesuperclass0 make sure that our class onl contains themetho&s that ou want to e(ten&'
• +ithin each metho& which correspon&s to a single eventBou can write whatever co&e ou $eel necessar to mo&i$the transaction'
8/18/2019 PeopleSoft Approval Framework
32/47
import *OA+:!OR*-;<
import *OA+:!OR*-*">I"*-;<
class Approval6an&ler e(ten&s *OA+:!OR*-Approval*vent6an&ler
metho& Approval6an&lerB<
metho& On#rocess1aunch=appInst As *OA+:!OR*-*">I"*-AppInstB<
metho& On6ea&erApprove=appinst As *OA+:!OR*-*">I"*-AppInstB<metho& On6ea&erDen=userinst As *OA+:!OR*-*">I"*-UserStepInstB<
private
metho& up&ate#rocessFlag=status As stringB<
instance Recor& =vn&rRecor&<
!onstant =A##RO9*D ? @A@<
!onstant =D*"I*D ? @D@<
!onstant =#*"DI"> ? @*@<
en&3class<
8/18/2019 PeopleSoft Approval Framework
33/47
metho& Approval6an&ler
ESuper ? create *OA+:!OR*-Approval*vent6an&lerB<
=vn&rRecor& ? !reateRecor&Recor&'9"DR:AF:6DR:9+B<
en&3metho&<
The private metho& up&ate#rocessFlag is use& to up&ate the ven&or
status'metho& up&ate#rocessFlag
5G =status as String G5
1ocal string =seti&0 =vn&rID<
=seti& ? =vn&rRecor&'S*TID'9alue<
=vn&rID ? =vn&rRecor&'9*"DOR:ID'9alue<
SH1*(ecSH1'A#:9"DR:AF:U#D:A##R:F1A>0 =status0 =seti&0 =vn&rIDB<
en&3metho&<
8/18/2019 PeopleSoft Approval Framework
34/47
metho& On#rocess1aunch
5G =appInst as *OA+:!OR*-*">I"*-AppInst G5
5G *(ten&s5implements
*OA+:!OR*-Approval*vent6an&ler'On#rocess1aunchG5
=appInst'threa&'SetAppes=vn&rRecor&B<
EThis'up&ate#rocessFlag=#*"DI">B<
en&3metho&<
8/18/2019 PeopleSoft Approval Framework
35/47
metho& On6ea&erApprove
5G =appinst as *OA+:!OR*-*">I"*-AppInst G5
5G *(ten&s5implements *OA+:!OR*-Approval*vent6an&ler'On6ea&erApprove
G5
=appinst'threa&'SetAppes=vn&rRecor&B<
EThis'up&ate#rocessFlag=A##RO9*DB<
en&3metho&<
metho& On6ea&erDen
5G =userinst as *OA+:!OR*-*">I"*-UserStepInst G5
5G *(ten&s5implements *OA+:!OR*-Approval*vent6an&ler'On6ea&erDenG5
=userinst'threa&'SetAppes=vn&rRecor&B<
EThis'up&ate#rocessFlag=D*"I*DB<
en&3metho&<
8/18/2019 PeopleSoft Approval Framework
36/47
Setting !p the Transaction%egistry
8/18/2019 PeopleSoft Approval Framework
37/47
Transaction %egistry
The transaction &efnition is the meta&ata that &escribes thetransaction setup to the Approval Framework'
ou must create a uni/ue approval process ID $or eachtransaction an& enter all the necessar transaction specifcin$ormation0 inclu&ing-
. "otifcation options'
. Approval event han&ler class'
. Transaction approval levels'
. *mail notifcations'
. A& hoc approver class logic'
8/18/2019 PeopleSoft Approval Framework
38/47
Transaction $on2guration
• The !onfgure Transactions component is use& to-
• Select an& &efne elements that &etermine what triggers anotifcation'
• Determine who receives a notifcation'
• Defne the content o$ the notifcation
8/18/2019 PeopleSoft Approval Framework
39/47
8/18/2019 PeopleSoft Approval Framework
40/47
Approval !ser 3nfo /iew #rovi&es &etails about which view a user sees whenusing the Approval )onitor' Data in this view &ictates what is &isplae& in theapprover links'
Ad 0oc !ser "ist : This is a flter use& to &ispla onl a list o$ users who can be a&hoc approvers'
&oti!cations 'ptions(t he "otifcation Options section appears when the Use
*mail Approvals check bo( is selecte& $or the #rocess ID on the Register Transactions page'
%ser %tilities(User Utilities are the mechanism that the user changes to mo&i$the behavior o$ &elegation an& reassignment'
The UserUtilities class7s main purpose is $or &elegation support' The &e$ault settingpoints to *OA+:US*R:UTI1S-UserUtilities' This &elivere& &e$ault will allow theApproval Framework to appl the &elegation rules that are set up $or each user in
#SO#RD*F"'!ser !tilities Package
Select the parent application class through which alternate users are selecte&'
!ser !tilities Path
Select a path that uses a specifc class within the root package'
8/18/2019 PeopleSoft Approval Framework
41/47
*vents
"otifcations are mappe& to work with the approval transactionregistr an& inclu&e a path to the approval component as will as aSH1 &efnition i$ an email template is being use&' The events $orwhich the sstem sen&s notifcations inclu&e-
. 1aunch o$ the approval process on a transaction'
. Hueue o$ approval step to an approver'
. Hueue o$ a review step to a reviewer'
. Denial o$ a line or hea&er'
. Approval o$ a line or hea&er'
. !ompletion o$ the approval process'
8/18/2019 PeopleSoft Approval Framework
42/47
Trigger ,ork4ow 'oti2cation
"otifcations are triggere& b event' The events section &efnes thein$ormation to buil& the &e$ault UR1 to inclu&e in notifcation $or eacho$ the participants that ou speci$ in the "otifcations section'
For each o$ these events to be notife&0 ou must select the level o$the transaction'
. 6ea&er
. 1ine
Select the event $or which ou want to sen& a notifcation' Theapprover is alwas notife& o$ an event' The Oracle Universit an& Jolt
Technologies #vt 1t& use onl
re/uester an& the sstem a&ministrator is notife& when an erroroccurs
8/18/2019 PeopleSoft Approval Framework
43/47
5enu 'ame6Approval $omponent
Select the menu name that contains the component ou want the notifcationrecipient to link to' This i&entifes where the person shoul& go upon notifcation'
I$ ou &o not enter values0 the recipient is sent to the same menu an&component that is &efne& $or the +orklist Approval component'
Approval $omponent
Select the component ou want to make available to the notifcation recipient'
Page 'ame
The page &efne& is the page approvers are re&irecte& to $rom the UR1 sentwithin the email notifcation'
5enu Action
This is the action o$ the page users see when &irecte& to the page $rom the UR1
sent within the email notifcation
S7" 3denti2er
Select the SH1 &efnition i&entifer ou want to use to get content $or the email'
The SH1 must accept bin& inputs e/ual to the number o$ kes at the notifcationlevel' For e(ample0 hea&er or line kes'
8/18/2019 PeopleSoft Approval Framework
44/47
Describing !ser "ists
• User 1ists &efne user sources $or use with steps in the approvalprocess' Users 1ist source tpe can be-
• . Role
• . SH1
• . Huer
• . Application !lass
8/18/2019 PeopleSoft Approval Framework
45/47
8/18/2019 PeopleSoft Approval Framework
46/47
8/18/2019 PeopleSoft Approval Framework
47/47
!ser "ists
• %ole
• Select to use a role as the source $or this user list' A role is a list o$ users who per$orm thesame tpe o$ work0 such as buers or managers' *ach role has a set o$ parameters that&etermine the limits o$ the role in the organi%ation an& in the work,ow process'
• S7" De2nition structure& /uer language &efnitionB
• Select to use an SH1 &efnition as the source $or this user list' The SH1 must return O#RIDfel&'
•
7uery• Select to use a /uer as the source $or this user list' +hen a source is &efne& as a /uer0 the
sstem &etermines who shoul& receive a work item base& on the fel& values on the page thattriggers the routing'
• Application $lass
• Select to use an application class as the source $or this user list'
• +hen ou select an application class0 the sstem passes the originator o$ the transaction an&then &etermines the approver $or that originator' For subse/uent approval steps0 the sstem
passes the approver $rom the previous step'• 3nclude !sers as 3nput
• Select to in&icate that the sstem uses the originator o$ a transaction as the frst step in eachpath' For subse/uent steps in each path0 the sstem uses the approver $rom the previous step'
• This fel& is not available when the User 1ist Source is User 1ist