PeopleSoft Red Paper Series

Approval Workflow Engine (AWE) for HCM 9.0
By: Vincent Pallari, Renli Wang & Robbin Velayedam HCM Shared Components Team
February 2007February 2007

INCLUDING:
Understanding the Approval Workflow Engine AWE Defining Support Objects for implementing AWE Registering self-service transactions to use AWE

Approval Workflow Engine (AWE) for HCM 9.0
Copyright 2007 PeopleSoft, Inc. All rights reserved. Printed on Recycled Paper. Printed in the United States of America. Restricted Rights The information contained in this document is proprietary and confidential to PeopleSoft, Inc. Comments on this document can be submitted to redpaper@peoplesoft.com. We encourage you provide feedback on this Red Paper and will ensure that it is updated based on feedback received. When you send information to PeopleSoft, you grant PeopleSoft a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, for any purpose without the express written permission of PeopleSoft, Inc. This document is subject to change without notice, and PeopleSoft does not warrant that the material contained in this document is error-free. If you find any problems with this document, please report them to PeopleSoft in writing. This material has not been submitted to any formal PeopleSoft test and is published AS IS. It has not been the subject of rigorous review. PeopleSoft assumes no responsibility for its accuracy or completeness. The use of this information or the implementation of any of these techniques is a customer responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. While PeopleSoft may have reviewed each item for accuracy in a specific situation, there is no guarantee that the same or similar results will be obtained elsewhere. Customers attempting to adapt these techniques to their own environments do so at their own risk Information in this book was developed in conjunction with use of the product specified, and is limited in application to those specific hardware and software products and levels. PeopleSoft may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents Any pointers in this publication to external Web sites are provided for convenience only and do not in any manner serve as an endorsement of these Web sites. PeopleSoft, PeopleTools, PS/nVision, PeopleCode, PeopleBooks, PeopleTalk, and Vantive are registered trademarks, and Pure Internet Architecture, Intelligent Context Manager, and The Real-Time Enterprise are trademarks of PeopleSoft, Inc. All other company and product names may be trademarks of their respective owners. The information contained herein is subject to change without notice.

Table of Contents

TABLE OF CONTENTS.................................................................................................................................................... 3 CHAPTER 1 - INTRODUCTION ..................................................................................................................................... 4 Structure of this Red Paper Related Materials 4 4

CHAPTER 2 - DEFINING SUPPORT OBJECTS FOR AWE...................................................................................... 5 Introduction .............................................................................................................................................................................. 5 Header Record.......................................................................................................................................................................... 6 Cross Reference Record ........................................................................................................................................................... 7 PTAFAW_IDS......................................................................................................................................................................... 8 Event Handler........................................................................................................................................................................... 9 Adhoc Access Class ............................................................................................................................................................... 10 Thread Class........................................................................................................................................................................... 11 Email Approvals Form Generator Class................................................................................................................................. 13 Approval User Info View ....................................................................................................................................................... 13 Email Template(s) .................................................................................................................................................................. 15 Email Template SQL Object(s) .............................................................................................................................................. 16 User Lists Definitions (Maintain User Lists).......................................................................................................................... 17 CHAPTER 3 - REGISTERING TRANSACTIONS IN AWE...................................................................................... 19 Register Transactions ............................................................................................................................................................. 20 Workflow Transactions .......................................................................................................................................................... 23 Configure Transactions .......................................................................................................................................................... 24 Setup Process Definitions....................................................................................................................................................... 31 Criteria Definitions................................................................................................................................................................. 37 Implementing the Status Monitor ........................................................................................................................................... 41 Application PeopleCode......................................................................................................................................................... 42 Security .................................................................................................................................................................................. 44 Appendix A. HCM Approval Workflow Engine Factory Package........................................................................................ 46 Appendix B. AWE Base Classes........................................................................................................................................... 47 FREQUENTLY ASKED QUESTIONS .......................................................................................................................... 53 REVISION HISTORY...................................................................................................................................................... 60 Authors................................................................................................................................................................................... 60 Reviewers ............................................................................................................................................................................... 60 Revision History..................................................................................................................................................................... 60

3

“Managing Direct Reports.” Setting Up Talent Acquisition Manager Implementation Defaults PeopleSoft Enterprise eProfile Manager Desktop 9. compare the date of your version to the date of the version posted on Customer Connection. basic Internet architecture. we recommend that you have a basic understanding of system administration. All rights reserved. To see if the document has been updated since you last downloaded it. “Setting Up Recruiting Processes.0 Application Fundamentals PeopleBook. STRUCTURE OF THIS RED PAPER PeopleSoft updates this document as needed so that it reflects the most current feedback we receive from the field. installers.0 4/18/2007 Chapter 1 . Therefore. We recommend you first read the Approvals related information in the PeopleTools and Applications PeopleBooks to ensure that you have a well-rounded understanding of the technology. “Managing Profiles. “Using Approvals with Absence Management” PeopleSoft Enterprise Human Resources 9.” Understanding the Management of Direct Reports PeopleSoft Enterprise HRMS 9. system administrators. the structure.” Approving Profile Changes PeopleSoft Enterprise Talent Acquisition Manager 9. 4 . including how to define all the required support objects.Approval Workflow Engine (AWE) for HCM 9. content. and developers who implement. To take full advantage of the information covered in this document. and how to use PeopleSoft applications.0 PeopleBook. Many of the fundamental concepts related to AWE are discussed in the following PeopleSoft PeopleBooks: PeopleSoft Enterprise HRMS 9. "Setting Up and Working with Delegation" © Copyright PeopleSoft Corporation 2007.0 PeopleBook: Manage Profiles. functional analysts.0 PeopleBook.0 PeopleBook. relational database concepts/SQL. headings. RELATED MATERIALS This paper is not a general introduction to environment tuning and we assume that our readers are experienced IT professionals. “Setting Up and Working with Approvals” PeopleSoft Enterprise Absence Management 9. This Red Paper discusses how to implement and set up the Approval Workflow Engine (AWE). “Using Approvals with Absence Management” PeopleSoft Enterprise Global Payroll 9.0 Application Fundamentals PeopleBook.Introduction This Red Paper is a practical guide for technical users. and length of this document is likely to vary with each posted version. maintain. This document is not intended to replace the documentation delivered with PeopleTools or the HCM applications. or develop applications for your PeopleSoft system.0 PeopleBook. with a good understanding of PeopleSoft’s Architecture.

and managing approval processes. and ePerformance. all of the steps in approval workflow are defined using PeopleSoft pages rather than underlying PeopleSoft PeopleCode.0 4/18/2007 Chapter 2 . please see the section on Workflow Transactions.0: eProfile. Please read this document in its entirety first so that you get a complete understanding of how all the pieces fit together. The AWE was originally introduced in an 8. such as a promotion.that are not appropriate for HCM transactions. 9. These support objects must be handled by a technical resource well versed in PeopleTools technology and applications implementation. For example. the order in which they will approve it. eProfile Manager. Many of SCM’s requirements for approvals are far beyond what HCM’s typical requirements would be for approvals. The majority of the code supporting the AWE is delivered as part of PeopleTools 8. This is largely a technical effort. The developers of the adopting applications listed above registered their transactions and customized their approval pages to leverage the AWE as delivered. configure.0 we refined the AWE to work in conjunction with HCM specific use cases but you will undoubtedly encounter some functionality -by way of the approval setup pages -. follow the steps outlined in this red paper. . configure. 5 © Copyright PeopleSoft Corporation 2007. Some applications decided to retain the legacy approval framework to process their transactions. A set of approvers then carries out tasks related to the transaction.0 using the new AWE for processing approvals. That is why it is important to also review the PeopleBooks for each application using the AWE to learn about the specific modifications they may have made. Not all applications within PeopleSoft HCM are delivered in v.Defining Support Objects for AWE Introduction The HCM Approval Workflow Engine (AWE) is the current HCM standard for transactions requiring approvals processing. It is important to note that this red paper will focus only on the HCM 9.x release of the PeopleSoft’s Supply Chain Management (SCM) application. and how it will be routed to approvers. which requires advanced technical skills in PeopleSoft PeopleTools to create and maintain. The HCM Shared Components team has also delivered code to help implement AWE in the HCM application database. With v.48. so functional users can design and maintain workflow using these online PeopleSoft pages instead of requiring technical developers to create workflow rules. approval workflow provides an alternative workflow that is much easier to create. which finds the appropriate approval process definition and launches the approval workflow. the process of submitting a promotion and getting it approved requires defining who will approve the promotion. however a functional analyst who knows the business process of approvals for your organization should be consulted. 9. running. “Setting Up and Working with Approvals” The Approval Workflow Engine (AWE) is the engine that provides the framework and capabilities for creating. Recruiting. The application hands the transaction over to the Approval Workflow Engine. 9. In contrast to the standard PeopleSoft workflow. and maintain. Beyond these adopting applications.0 Application Fundamentals PeopleBook.0 release of the AWE. For the best illustration of which specific transactions use AWE for approvals and which use legacy approval workflow. To avoid spending time on functionality that you probably will not use. This red paper is divided into two main chapters. The Approval Workflow Engine enables three levels of users to develop.Approval Workflow Engine (AWE) for HCM 9. Job Profile Manager. The first chapter illustrates how to define all the technical support objects required for setting up and using the AWE. The following HCM applications have adopted the AWE to process approvals in v. All rights reserved. The engine uses a series of database objects combined with application component configuration settings to determine how to process approvals using workflow. which are specific to implementing HCM transactions. This red paper will describe the step-by-step process for registering an HCM transaction in the AWE. Absence Management. and use transaction approvals that meet their organizational requirements. ELM. For example. The second chapter focuses on how to register transactions and set up process definitions in AWE for approval processing. This red paper assumes that you have read and understand the terminology presented in the PeopleSoft Enterprise HRMS 9. Approval workflows are triggered when requesters submit a transaction. you may choose to register your own transactions or other delivered PeopleSoft HCM applications with the AWE by following the guidelines described in this red paper.

The Expense Reporting application might have a record (EXP_RPT_HDR) that contains information about each transaction as well as a record (EXP_RPT_DTL) that contains information about each line item. 9. Header Record One of the few transaction side requirements of the AWE is the Header Record. The objects shown are for illustrative purposes only. The Header Record should be the highest-level transaction record having a 1-to-1 relationship with the transaction. 6 .0 Here is a brief summary of the tasks detailed in this paper and what tool you will need to complete them.Approval Workflow Engine (AWE) for HCM 9. each transaction that is submitted should have only one row in the Header Record.0 HCM database. Task Header Record Cross Reference Record PTAFAW_IDS Event Handler Adhoc Access Class Thread Class Email Approvals Form Generator Class Approval User Info View Email Template Email Template SQL Objects User Lists Definition Approval Transaction Registry Workflow Transactions Transaction Configuration Criteria Definitions Approval Process Definitions Application PeopleCode Security Tool PeopleTools Application Designer PeopleTools Application Designer PeopleSoft Database PeopleTools Application Designer PeopleTools Application Designer PeopleTools Application Designer AWE Application Setup PeopleTools Application Designer AWE Application or PeopleTools Setup PeopleTools Application Designer AWE Application Setup AWE Application Setup AWE Application Setup AWE Application Setup AWE Application Setup AWE Application Setup PeopleTools Application Designer PeopleTools Setup 4/18/2007 The sample data shown in the screenshots to follow are for a dummy Expense Report and is not a delivered application. © Copyright PeopleSoft Corporation 2001. In other words. All of the delivered processes in HCM are using Header level approvals. The objects shown do not exist in the delivered v. All rights reserved.

0 In the following example.Approval Workflow Engine (AWE) for HCM 9. EXP_RPT_HDR would be your header record. 4/18/2007 Transaction_NBR is the only Key in the record shown above. Cross Reference Record Another requirement for each adopting applications is the Cross Reference record. For example. The cross-reference record is simply a record containing the delivered PTAFAW_XREF_SBR as well as all the key fields from the applications header record MARKED AS NON-KEY fields. All rights reserved. using the EXP_RPT_HDR record: © Copyright PeopleSoft Corporation 2007. 7 .

This will cause problems. Using the expense-reporting example. 8 . the 2 submitted transactions would have the same PTAFTHREAD_ID.e. the engine refers to the PTAFAW_IDS. your crossreference record contains a numeric field called PTAFTHREAD_ID. b. 1. and then increments it accordingly for the next transaction. PTAFAW_IDS The PTAFAW_IDS record is the seed record that is used to create some of AWE’s key values. The AWE uses this record as its only link between itself and the transaction.PTAFAWCOUNTER field.0 4/18/2007 Unlike the header record. if you set the seed to 100. If the transaction implementing the AWE for release 9. All rights reserved.Approval Workflow Engine (AWE) for HCM 9. change the seed back 100 and submit again. PTAFCOUNTERNAME = to the name of your cross reference record PTAFAWCOUNTER = any number you wish to use as the initial seed (i. © Copyright PeopleSoft Corporation 2001. In the event that your transaction is designed to support line-level approvals. then your cross-reference record would be constructed using the key fields from your line-level record. its up to you Keep in mind that once this value is set and a transaction is submitted. the cross-reference record is used solely by the AWE. The engine retrieves the value. the keys from EXP_RPT_DTL would be used and the field LINEID would be added to the cross-reference record as a NON-key field. For example. or 1100). Whenever this value is set for a newly instantiated transaction. which plays a part in your transaction processing. the seed value must not be changed manually. or 10 or 222. submit a transaction. then changing the seed should be avoided unless new demo data is planned. It is up to you to: 1) Insert a row into PTAFAW_IDS manually while setting: a. Your application does not need to retrieve any information off this record and should never update this record. This can cause multiple transactions to end up with the same keys.0 has delivered demo data in the core engine tables. For example.

method OnLineDeny(&userstep As PTAF_CORE:ENGINE:UserStepInst). make sure that your SUB class only contains the methods that you want to extend. This allows the adopting application to assign specific pieces of PeopleCode to be fired during these events. &denied As array of PTAF_CORE:ENGINE:Thread). method OnProcessLaunch(&appInst As PTAF_CORE:ENGINE:AppInst). method OnLineApprove(&appinst As PTAF_CORE:ENGINE:AppInst. &approved As array of PTAF_CORE:ENGINE:Thread. &reviewers As array of string). method OnUserLocked(&userinst As PTAF_CORE:ENGINE:UserStepInst). Within each method (which corresponds to a single event) you can write whatever code you feel necessary to modify the transaction.EXP_RPT_HDR) &MyHdrRec. method OnStepReview(&stepinst As PTAF_CORE:ENGINE:StepInst. method OnStepPushback(&userinst As PTAF_CORE:ENGINE:UserStepInst). Here is an example of what an event handler package and class definition should look like: Package Definition: Class Definition: class expRpt_EvtHndlr extends HMAF_AWE:Wrapper:ApprovalEventHandler. &thread As PTAF_CORE:ENGINE:Thread). &origApprover As string). method OnStepComplete(&stepinst As PTAF_CORE:ENGINE:StepInst).TRANSACTION_NBR. &approver As array of string). method OnHeaderDeny(&userinst As PTAF_CORE:ENGINE:UserStepInst). You will be required to create your own version of this class. method OnStepReactivate(&stepinst As PTAF_CORE:ENGINE:StepInst).Approval Workflow Engine (AWE) for HCM 9. method OnAdHocInsert(&stepinst As PTAF_CORE:ENGINE:AdHocStepInst. &notify As string). method OnTerminate(&appinst As PTAF_CORE:ENGINE:AppInst). method OnTimeout(&userinst As PTAF_CORE:ENGINE:UserStepInst. method OnStepReassign(&userinst As PTAF_CORE:ENGINE:UserStepInst. method OnAdHocDelete(&stepinst As PTAF_CORE:ENGINE:AdHocStepInst).Value = &TransNum © Copyright PeopleSoft Corporation 2007. method OnStepHold(&userinst As PTAF_CORE:ENGINE:UserStepInst). method OnFinalHeaderDeny(&appinst As PTAF_CORE:ENGINE:AppInst). method OnHeaderApprove(&appinst As PTAF_CORE:ENGINE:AppInst). the extended Method OnHeaderDeny() might have code to set that field value to “D” when the transaction is denied. pre-defined events. All rights reserved. method OnStepActivate(&stepinst As PTAF_CORE:ENGINE:StepInst). When you extend the superclass. method expRpt_EvtHndlr(). method OnAllLinesProcessed(&appinst As PTAF_CORE:ENGINE:AppInst. method ProcessNotifications(&appinst As PTAF_CORE:ENGINE:AppInst). method OnError(&stepinst As PTAF_CORE:ENGINE:StepInst). For example. 9 . Therefore. The engine then leverages PeopleSoft Application Classes in order to allow applications to extend its own processing. Example: Method OnHeaderDeny &MyHdrRec = CreateRecord(Record. your header record may have a field that tracks the overall status of the transaction (STATUS field).0 4/18/2007 Event Handler The AWE is designed around a series of specific.

the onHeaderApprove event might look like this: Method OnHeaderApprove %Super. © Copyright PeopleSoft Corporation 2001.OnHeaderApprover(&appinst).Status. each method in the sub-class that does overwrite the super class should include a call to the super class FIRST.Value = &TransNum &MyHdrRec. &MyHdrRec = CreateRecord(Record. For example.Status. the onHeaderApprove method might look like this: Method OnHeaderApprove &MyHdrRec = CreateRecord(Record.Value = &TransNum &MyHdrRec. then the sub class code. you can control when a user is allowed to modify the approval path and participants.EXP_RPT_HDR) &MyHdrRec. Here is an example of what an Adhoc Access package and class definition should look like: Package Definition Class Definition: class adHocAccess extends PTAF_MONITOR:ADHOC_OBJECTS:adhocAccessLogicBase method adhocAccess ().0 &MyHdrRec. Once this class is extended. By creating an Adhoc access class.SelectByKeys() &MyHdrRec.TRANSACTION_NBR.Approval Workflow Engine (AWE) for HCM 9.SelectByKeys() &MyHdrRec.Value = &MyHdrRec.Value = &MyHdrRec.Update() End-Method “A” Adhoc Access Class Like the Event Handler. Also.Update() End-Method “A” It is also important to note that each applications event handler class must extend the HMAF_AWE:Wrapper:ApprovalEventHandler class. For example. if the subclass does not have any application specific code for the OnProcessLaunch event.EXP_RPT_HDR) &MyHdrRec. then the OnProcessLaunch method should not be included in the sub-class.Status.Value = &MyHdrRec.Update() End-Method “D” 4/18/2007 Likewise.TRANSACTION_NBR. the application event handler sub-class should only include the methods (or properties) that it wishes to overwrite. This will allow your code’s super class logic to fire first. if the transaction is approved. the Adhoc Access class allows each application to extend the core AWE logic.SelectByKeys() &MyHdrRec. All rights reserved. 10 .

method allowDelete(&oprid As string. 11 . then no one ever interacts using AdHoc. illustrates the approval process flow and up to date status of the process. &stage As PTAF_CORE:ENGINE:StageInst) Returns boolean. if D is used. then AdHoc class is used. Information on how to implement Status Monitor in your application. then the AdHoc Class is ignored. However. method allowNewPath(&oprid As string. &stepBefore As PTAF_CORE:ENGINE:StepInst. The default link text is constructed using the description of the users operator id. The threadDescr class allows you to override this default and display something more meaningful to the user. All rights reserved. as shown below. Also.0 4/18/2007 method allowInsert(&oprid As string. If an adopting application wishes to override that functionality. end-class.Approval Workflow Engine (AWE) for HCM 9. If the parameter A (AdHoc) is passed in. for each step within an approval process. Thread Class The Thread Class relates to what is displayed on the Status Monitor. AdHoc Class and Status Monitor 'mode' parameter work in conjunction with each other. &currentStep As PTAF_CORE:ENGINE:StepInst) Returns boolean. the can do so by extending the getUserName method in the threadDescr base class. Here is an example of what a threadDescr class might look like: Package Definition: © Copyright PeopleSoft Corporation 2007. So basically. End-method. the AWE uses the Thread keys as the default group box header. refer to the Implementing the Status Monitor. the administrator monitor generates a link for viewing additional information related to that user. If A is passed in then the AWE uses the AdHoc class to further determine if that particular user can use AdHoc. If the parameter D (Display only) is passed into the status monitor at runtime. &stepAfter As PTAF_CORE:ENGINE:StepInst) Returns boolean. Here is an example of how one might extend the adHocAccess class allowInsert method: Method allowInsert If IsUserInRole(“ExpensesAdministrator”) then Return True Else Return False End-if. The Status Monitor. When constructing the status monitor.

0 4/18/2007 Class Definition: Class threadDescr extends PTAF_MONITOR:MONITOR:threadDescrBase method threadDescr(). This method performs the following operation: 1. /*Select Row From Header Record*/ &MyHdrRec.Len /*For each field and field value*/ &FieldName = &keys[&I]. 12 .getUserName(&oprid).GetField(&j).Value = &keys[&I].Value. method getThreadDescr(&keys As array of Field) Returns string. method getUserName(&OprId as String) Returns string end-class.FieldCount If &MyHeaderRec. end-for.Trans_Dt. All rights reserved. end-for.value end-if.Name = &keys[&I]. method getUserName /+ &oprid as String +/ /+ Returns String +/ /+ Extends/implements PTAF_MONITOR:MONITOR:threadDescrBase.name then &MyHeaderRec. method getWorklistDescr(&recApplication As Record) Returns string. &TDClass = create HCSC_THREAD_DESCR:hcscThreadDescr().EXP_RPT_HDR) /*Loop through array of keys*/ for &I = 1 to &keys.SelectByKeys() Return Get_Person_name(&MyHdrRec.Approval Workflow Engine (AWE) for HCM 9.Emplid.Value /*Loop through header record matching field names and setting appropriate values*/ For &j = 1 to &MyHdrRec. Here is an example of how one might extend the threadDescrBase class getThreadDescr method to return the name of the person and the date of the transaction to be used as the Status Monitor header: Method getThreadDescr /*Create Header Record*/ &MyHdrRec = CreateRecord(Record. The application Class HCSC_THREAD_DESCR:hcscThreadDescr has method called getUserName. end-method.getUserName +/ Local HCSC_THREAD_DESCR:hcscThreadDescr &TDClass.GetField(&j).Name &FieldValue = & keys[&I]. The Shared Components team delivered a threadDescr utility class that you can leverage for extending getUserName.Value) | “ End-method. Select EMPLID from PSOPRDEFN where OPRID = OperId Parm Passed In © Copyright PeopleSoft Corporation 2001. Return &TDClass. “ | &MyHdrRec.

3. Here is an example of what an Email Approvals Form Generator Class might look like: Package Definition: Class Definition: class formGenerator extends PTAF_EMC:API: formGeneratorBase method formGeneratorBase(&threads As array of PTAF_CORE:ENGINE:Thread.Approval Workflow Engine (AWE) for HCM 9. Select NAME from PS_PERSON_NAME where EMPLID = Emplid Retrieved from PSOPRDEFN If all (Name) return Name Else If none (NAME) then look for PSOPRDEFN Descr associated with OperId Parm If all (Descr) then return Descr Else Return Oprid Parm 4/18/2007 To use the delivered threadDescr class. &userID As string). external to Oracle click here). the AWE will display the additional information that you have defined in your view on the Approver Additional Information page. when a user selects the Operator ID of a participant in the system. For more information. For example: Approval User Info View Definition: In this example. only his/her operator ID is displayed. Last Name and First Name © Copyright PeopleSoft Corporation 2007. 6. Empld. By defining an Approval User Info View. 4. method returnEFM() Returns PTAF_EMC:API:emailFormManager. our view selects OPRID (required for all Approval User Info Views).0 2. Approval User Info View The approval user info view is a view that is used to display additional information about AWE Participants. 5. Email Approvals Form Generator Class If you wish to allow users to approve transactions straight from the email notification that they receive via the Email Collaboration Framework (internal to Oracle click here. see the Register Transactions section in Chapter 3. When an individual user is displayed as being a participant of an approval process in the Approval Status Monitor. 13 . All rights reserved. please refer to the Email Collaboration Framework implementation guide for how to construct your returnEFM() method. end-class. Again. you must use the Thread Package as shown below. they will have to create an Email Approvals Form Generator Class.

EMPLID = B.FIRST_NAME FROM PSOPRDEFN A . AM2PNA Manager is a hyperlink.OPRID . Status Monitor: In this example. As you can see.LAST_NAME .Approval Workflow Engine (AWE) for HCM 9. If the user viewing this transaction were to select this link they would see the approver additional information page: Approver Additional Information Page: © Copyright PeopleSoft Corporation 2001. B. the status monitor is showing that the AWE has determined that AM2PNA Manager is the next approver for this particular approval process. B. PS_PERSON_NAME B WHERE A.EMPLID . All rights reserved. B.EMPLID This view will be identified when doing the ‘Configure Transaction’ setup in AWE in the Ad-Hoc Approver options section.0 4/18/2007 SQL SELECT A. 14 .

If you do not wish to display a link in your email. exclude the %1 bind.Approval Workflow Engine (AWE) for HCM 9. you will also assign a sql object that will be used to populate these binds. When defining a notification in the Configure Transaction component. This is a requirement of the AWE. Notice that %1 is used as the bind placeholder for a link to an application component.0 4/18/2007 Email Template(s) Anytime the AWE triggers an email notification based on the rules that are set in the Configure Transactions component. All rights reserved. The AWE reserves the %1 bind for an auto generated link. Here is an example of how a template might be created: Pay special attention to the “%” bind variables. it will construct the email based on the assigned template. 15 . © Copyright PeopleSoft Corporation 2007.

PS_PERSON_NAME B WHERE A. Also note the “:1” bind in the where clause of the SQL Object. you must create SQL Object(s) if you wish to use binds values in your email notifications. Since SeqNo is not displayed on the Generic Template Definition page. B. A. A.EMPLID AND A. This will cause the AWE to set the application destination link to another bind variable.EMPLID .EMPLID = B. the %4 bind with NAME.TRANSACTION_NBR . the %3 bind with EMPLID. The AWE uses the header record keys to retrieve the correct row from the Sql Object.TRANSACTION_NRB = :1 AND A. and the %5 bind with TRANS_DT. © Copyright PeopleSoft Corporation 2001. it is possible to set the %1 bind to a row that does not have the smallest SeqNo in the set. All rights reserved.Approval Workflow Engine (AWE) for HCM 9.LINEID = :2 In this example. the AWE will look to populate the %2 bind with TRANSACTION_NBR. 16 . Below is an example of how a SQL object might be created for populating an email template: SELECT A.0 4/18/2007 Note: The actual reservation for the %1 bind made by the AWE is done by taking the smallest SeqNo value on the WL_TEMPL_GEN_TK record.TRANS_DT FROM PS_EXP_RPT_HDR A . Email Template SQL Object(s) As stated in the previous section. It is a requirement to have all of the keys from your header record (or line level record depending on the notification) bound into the where clause.NAME .

Approval Workflow Engine (AWE) for HCM 9.0

4/18/2007

User Lists Definitions (Maintain User Lists)
User List object definitions are pieces of logic that, when instantiated at runtime, return a list of PeopleSoft operator IDs. Userlists are used primarily to define who the system needs to route a transaction to at the Step level of an Approval Process Definition. Userlists may also be used on the Configure Transactions page as well. A set of pre-defined user lists based on typical HCM direct reports hierarchies are delivered in v. 9.0 and are described in detail in PeopleSoft Enterprise HRMS 9.0 Application Fundamentals PeopleBook, “Setting Up and Working with Approvals”

The screen shot below describes the User List object definition:

There are four types of User Lists you can define to help the system resolve who the next approver is for a given transaction. If you decide to use the user lists delivered with AWE then you do not need to define a user list at this point.

© Copyright PeopleSoft Corporation 2007. All rights reserved.

17

Approval Workflow Engine (AWE) for HCM 9.0 1.

4/18/2007

Role – The system will return all the users in the specified role to the engine at runtime. For example, you want all Address Change requests to go to the role of HR Administrator for approval in which case anyone in that role will receive notification of the transaction. SQL Definition – You need to enter SQL Object name they have created through Application Designer. The SQL Object must select OPRID in its select statement. Query – You need to enter Query Name they have created through Application Designer. As with the SQL Definition, the Query must select OPRID in its select statement. If you are creating the query in the Query Manager component, you must set the Query Type value of the query to Process. Setting the Query Type value to User can cause an error. Application Class – You need to provide Application Package Name and Application Class name. The application class must Extend the PTAF_CORE:Defn:UserListBase Class. As such, the class must also have a GetUsers() method and return an array of string containing OPRIDs.

2. 3.

4.

Include User as Input – If this checkbox is turned on, then requester’s OPRID or the previous approver’s OPRID will be used to resolve the bind variable for SQL Object and Query. Transaction Keys as Input – If this checkbox is turned on, the transaction data record passed into the AWE will be used to resolve the bind variable for SQL Object and Query. The two checkboxes are not mutual exclusive. It is not recommended to check both checkboxes.

© Copyright PeopleSoft Corporation 2001. All rights reserved.

18

Approval Workflow Engine (AWE) for HCM 9.0

4/18/2007

Chapter 3 - Registering Transactions in AWE
Once you have created and defined all the required objects as described in Chapter 2, you must now register your transaction in the AWE’s approval transaction registry. You must create a unique approval process ID for each transaction and enter all the necessary transaction specific information. The recommended steps for setting up your transactions to use AWE are as follows: • • • • • Approval Transaction Registry where you register your transaction in AWE Workflow Transactions where you link the self service transaction name to the process ID used in AWE Configure Transactions where you define among other things the notifications behavior for each transaction. Approval Process Definition where you define your approval processes and criteria, if any Security Set up HRMS

All of the online components required to register transactions in AWE may be found here: Main Menu Common Definitions Approvals Approvals Setup Center

© Copyright PeopleSoft Corporation 2007. All rights reserved.

19

Both or None. For online processing.0 4/18/2007 Register Transactions The following is the detailed information of this Register Transactions page. the notification will be sent as soon as the transaction is saved. an Application Package Name and Class Name need to be provided here. It determines whether the transaction allows notifications or not. Notification Options Enable Notifications – This notification option is applied at the transaction level. the notification will be sent in a scheduled batch. There are four different notification options: Email. Worklist. All rights reserved. Cross Reference Table – This table is required and it consists of two parts: a sub record PTAFAW_XREF_SBR and key fields of an application transaction. Notification Strategy – There are two strategies: online and offline. For detailed information on email collaboration.Approval Workflow Engine (AWE) for HCM 9. . The recipient can take an action on the transaction within the email itself without having to log into the system. Page Header Values Process ID (Approval Process ID) – This is a unique approval process identifier for the transaction. 20 . Form Generator Package Root and Form Generator Class Path – If Use Email Approvals is checked. For offline processing. This unique identifier needs be passed in when AWE is invoked by the transaction. © Copyright PeopleSoft Corporation 2001. Description – The description of this unique approval process identifier for the transaction. Object Owner ID – The owner ID of this specific transaction. then an HTML email with an embedded form will be generated and sent to a recipient. Use Email Approvals – If this box is checked. click here.

It identifies the default component that users should go to when selecting a worklist entry. Approval Event Handler Class Root Package ID/Path – Use these two fields to point to the location of your approval event handler class as described in the Event Handler section of this document.Approval Workflow Engine (AWE) for HCM 9. The assumption here is that each transaction will have at least one page or component where the user must go to in order to approve the transaction. 21 . © Copyright PeopleSoft Corporation 2007. Approval Status Monitor Adhoc Package/Adhoc Class – Use these two fields to point to the location of your Adhoc Access class as described in the Adhoc Access section of this document. All rights reserved. Thread Package/Thread Class – Use these two fields to point to the location of your Thread Class as described in Thread Package of this document.0 4/18/2007 Default Approval Component Menu Name/ Approval Component – This is the default approval location for your transaction. That component – whether already existing in the database or new – should be entered here.

The first row will always be the header level. Record Name. you need only define a header level. © Copyright PeopleSoft Corporation 2001. You select from the list of available field label IDs for the AWE to use as a default label anytime it is displaying those key values. All rights reserved. In the majority of cases. which determines the levels that are enabled by the application for approvals.Select your header record name in the row that you marked as “Header” level and your line level record name in the row you marked as “Line”. Level Record Key Field Label IDs – When you define the record names for each level in your transaction (under the Transaction Approval Levels Section).0 4/18/2007 Transaction Approval Levels Level – Select Header or Line. You can define criteria against only the fields that are defined here. you will add an additional row and select “Line” to describe your line level record.Approval Workflow Engine (AWE) for HCM 9. If your transaction supports line level approvals. 22 . the Level Record Key Field Label IDs section is automatically populated with the key fields from each of the records you defined. Select “Header” to describe your Header Record.

Also. this step will allow integration with other HCM Common Applications that require an HCM transaction name. you can still leverage these configuration values.0 4/18/2007 Workflow Transactions Once the transaction is registered under an AWE Approval Process ID. HCM Direct Reports Common UI. 23 . Even if the transaction you are registering does not use any workflow. if the transaction is currently configured to update core records upon final approval via a component interface. © Copyright PeopleSoft Corporation 2007. the transaction must now be linked to an HCM Transaction Name in the EO_TRANSACTIONS record. for example. For example.Approval Workflow Engine (AWE) for HCM 9. This will allow you to leverage the deprecated approvals configuration without incurring major functional regression. you must still execute this step because it is required for both AWE and Delegation. All rights reserved.

All rights reserved. who receives the notification.Approval Workflow Engine (AWE) for HCM 9. 24 . Ad Hoc Approver Options Approval User Info View – Select the Approval User Info view that you created as described here. Configure Transactions component is used to select and define elements that determine what triggers a notification. The following is the detailed information for the Configure Transactions page. Ad Hoc User List – Please refer to the section on creating User List Definitions for instructions on how to create an Ad Hoc User List. and the content of the notification.0 4/18/2007 Configure Transactions Now that the transaction is registered. Notification Options This section appears only if you select the Use Email Approvals check box on the Register Transactions page for the given process ID © Copyright PeopleSoft Corporation 2001. the configuration options for the transaction can be set.

notifications are triggered by event. If you select this class path as your User Utilities location. However. Event – Select the event for triggering the notification. The default setting points to PTAF_USER_UTILS:UserUtilities. This delivered default will allow the AWE to apply the delegation rules that are set up for each user in PSOPRDEFN. HCSC_USER_UTILS:UserUtilities. 25 . Keep in mind that the AWE is an event centric application. Events The events section of the Configure Transactions page is used for setting up notifications for your transaction.Approval Workflow Engine (AWE) for HCM 9.0). Available events include: Event Name Ad Hoc Delete Event Description When an approval step is deleted via Adhoc mode in the status monitor © Copyright PeopleSoft Corporation 2007. Header or Line – Select the level at which an event occurrence will trigger the notification. All rights reserved.0 4/18/2007 User Utilities User Utilities Package/Path – The UserUtilities class’s main purpose is for delegation support. This section defines the information to build the default URL to include in notification for each of the participants that you specify in the Notifications section. Therefore. then the AWE will apply the delegation rules that are set up in the HCM Delegation Framework (new to 9. the HCM Shared Components team has delivered another version of this class.

The default page that is used when creating the link that will be embedded in your email notification.Approval Workflow Engine (AWE) for HCM 9. Menu Action – The default menu action that is used when creating the link that will be embedded in your email notification. Denied or otherwise) When a transaction is terminated via the DoTerminate method When all stages of an approval process are complete When a step is pushed back to the previous step in the approval chain When a request for more information is sent Anytime the transaction is routed to an approval step Anytime the transaction is routed to a reviewer step Menu Name – The default menu that is used when creating the link that will be embedded in your email notification.0 4/18/2007 Ad Hoc Insert Hold Step Locked Out On Error On Escalate On Final Approval On Final Denial On Process Launch When and approval step is added via Adhoc mode in the status monitor When a step is put on hold by an approver. © Copyright PeopleSoft Corporation 2001. When the AWE encounters an error When step is escalated based on the escalation rules When the final step in an approval process is approved When the final step in an approval process is denied When an approval process is launched (i. a transaction is first submitted) On Reactivate On Reassign On Step Complete On Terminate Processing Complete Push Back Request Information Route for Approval Route for Review When a previously ended process is re-started When any step in an approval process is reassigned to another approver Anytime a step is completed (Approved. Page Name . When a step is activated but the current approver’s user account is locked out. If no value is entered in the row of Notification grid. SQL Object Identifier – The default SQL Object that will be used to populate the binds in your email notification template. . Approval Component – The default component that is used when creating the link that will be embedded in your email notification. then the recipient is sent to the same menu and component that is defined for the Worklist Approval component. All rights reserved.e. 26 .

All rights reserved.0 4/18/2007 Notifications Main Tab Participant – Select the Participant for whom you want the notification to be sent. 27 .Approval Workflow Engine (AWE) for HCM 9. © Copyright PeopleSoft Corporation 2007.

The person who requested the transaction. Admin Approvers Dynamic R-Delegate R-Proxy Requester Reviewers UserList © Copyright PeopleSoft Corporation 2001.Approval Workflow Engine (AWE) for HCM 9.0 4/18/2007 Participant A-Delegate A-Proxy Description Any approver associated with the particular step who has delegated his/her approval authority Any approver who is associated with a particular step and who has been given approval authority to serve as a proxy. The Approvals Administrator as defined on the approval process definition Any approvers associated with the particular step for which the event has been triggered. All rights reserved. Any approver who was dynamically selected at a particular step in the approval process. Any approver who is associated with the particular step and who has delegated his/her request (or initiate) authority. Any reviewer associated with the particular step for which the event has been triggered A user list defined group of participants. Any approver who is associated with a particular step and who has been given request (or initiate) authority to serve as a proxy. 28 . Please Refer to the section User List Definitions for instructions on how to create user lists.

Please refer to the section on creating User List definitions for instructions on how to create user lists. All rights reserved. you can override the default menu that is defined at the notification level under the Events section. Menu Action – For each notification that is being sent per event. you can override the default approval component that is defined at the notification level under the Events section. 4/18/2007 Notification Type Both Email None User Worklist Description Both Email and Worklist Email only No notification Notification options on PSOPRDEFN will be used for each individual user. Template Details Tab Menu Name – For each notification that is being sent per event. you can override the default menu action that is defined at the notification level under the Events section. © Copyright PeopleSoft Corporation 2007. Worklist only UserList – If UserList is selected as the notification participant. Page Name – For each notification that is being sent per event. you can override the default page that is defined at the notification level under the Events section. Approval Component – For each notification that is being sent per event. then a User List must be selected to generate the user.Approval Workflow Engine (AWE) for HCM 9. Template Name – If Email or Both is selected as the Channel. then select the email template name that should be used in the email notification.0 Channel – Select the type of notification to be sent. 29 .

© Copyright PeopleSoft Corporation 2001.” Setting Up the Notification and Escalation Manager. All rights reserved. or Low. Priority – Select the priority of the email being sent. Medium. Information on this can be found in PeopleSoft Enterprise HRMS 9. 30 .0 Application Fundamentals PeopleBook. Max Notification – The number of times for which the notification will be sent until action has been taken. you can override the default SQL Object Identifier that is defined at the notification level under the Events section. The Notification and Escalation Manager runs the batch job for these notifications and is packaged separately from the AWE. Frequency Tab Number of Hours – This is the frequency at which additional notifications will be sent to the participant for as long as the transaction is pending his/her review. “Setting Up and Working with Approvals. Priority options are High.Approval Workflow Engine (AWE) for HCM 9.0 4/18/2007 SQL Object Identifier – For each notification that is being sent per event.

Definition = &MyAprDefnId. &HeaderRecObject.Approval Workflow Engine (AWE) for HCM 9. &Oprid) /*Do not set the definition property as was done above*/ &MyLaunchManage. then use that Definition ID If more then 1 Definition Criteria = True then use the Definition ID with the highest Priority If 0 Definition Criteria = True then use the Definition ID marked as default © Copyright PeopleSoft Corporation 2007. &HeaderRecObject. &MyLauchManager. the AWE performs the following logic to determine which Approval Process Definition ID to use: • • • • If Definition Id not explicitly passed to AWE then execute Definition Criteria for each Definition Id for the given process ID. All rights reserved. or step to use at run time. and steps required for each process definition. path. The first way is to explicitly pass the Approval Process Definition ID to the API by setting the definition property on the LaunchManager class. you can define criteria that the AWE will use to determine which process definition.Explicitly set the Approval Process Definition ID: &MyLaunchManager = Create LaunchManager (&AprPrcsId. In addition.0 4/18/2007 Setup Process Definitions Under Setup Process Definitions.DoSubmit() Example 2 – Let AWE decide: &MyLaunchManager = Create LaunchManager (&AprPrcsId. You can define the number of stages. 31 . There are two ways of telling the AWE which approval process definition to initiate. &Oprid) &MyLaunchManager. Example 1.DoSubmit() By not explicitly setting the Approval Process Definition ID. paths. If exactly 1 Definition Criteria = True. The other way is to simply not pass any Approval Process Definition ID to the LaunchManager and let the engine evaluate all possible Approval Process Definitions that belong to the Approval Process ID that was used to instantiate Launch Manager. you will define one or more process definitions for each of your transactions.

Alert Criteria – Please Refer to the Criteria Definition section for instructions on defining Criteria Definitions. you can create the first one and then save it as many times as you like under different Approval Definition ID Names.0 In the Setup Process Definitions component. Save As – If you are setting up multiple approval process definitions that only differ by a few attributes.Approval Workflow Engine (AWE) for HCM 9. across the top of the page are the following links: 4/18/2007 Definition Criteria – Please Refer to the Criteria Definition section for instructions on defining Criteria Definitions. The screen shot below demonstrates how you may use the Save As feature: In the example above. the original Approval Definition ID was designed to select one level of approver by Supervisor ID. a second Approval Definition can be created also having one level by now determining approver by Department Manager ID. This is described in more detail later on in this section. All rights reserved. You can then go into those new approval definitions and make the few changes you desire. 32 . © Copyright PeopleSoft Corporation 2001. The only change that will need to be made in the new definition is that the step approver user list will now need to point to the ApproverByDeptMgr application class based User List. By using the Save As feature.

if you use application class based userlists that require runtime data (i.Approval Workflow Engine (AWE) for HCM 9. The preview application will prompt the user to enter all the key fields from the header record and then try to determine the routing based on those keys. However. All rights reserved. the success of the preview application is subject to level of complexity in your design. As of the posting date of this document. See Question #8 in the Frequently Asked Questions section for details on how to use this functionality. This tool is used simply to create a more user-friendly display of the current approval process. the install for the SVG viewer can be found at http://www. By clicking on the “+” or “-“ icons.This is the key field from the transaction’s header record.adobe. Preview User . 33 .e. Preview – This is a testing tool used to verify the routing of the approval process definition before deployment.The User ID of who will act as the Requester of the test transaction.. © Copyright PeopleSoft Corporation 2007.html.com/svg/viewer/install/main. The Adobe SVG viewer must be installed on the client. or steps for the selected approval process definition. paths. Transaction Number . The screen shot below is an example of the SVG Viewer. leveraging the UserListAttibutes class).0 4/18/2007 Approval Process Viewer – The approval process viewer displays an Adobe SVG Viewer interpretation of the selected approval process definition. the application will take you to the specific page where you can either add or delete stages. the preview application will not be able to determine the approval path accurately. For example.

and route to requester is not selected. If the check box is not selected and the approver fails to meet the self-approval criteria. he/she will be skipped from performing action on those steps. All rights reserved. Route To Requester – If the Requester or Submitter of the transaction also appears as an approver on any subsequent steps in the approval process.0 4/18/2007 Process ID – The approval process ID as defined in the Register Transactions page. then the requester can't be included as part of the approval path.e. then this approver’s action will be remembered and automatically reapplied whenever this approver appears again in the approval chain of the transaction. it will use the default definition. If the Route To Requester flag is set to “off”. User Auto Approval – An approver may appear more than once in the same approval process. Description – The description of this approval definition. the approval could still be routed if this check box is selected.. it will use the priority field to determine which one to return. If route to requester is selected and self-approval criteria are not met. the criteria to trigger self-approval is not met. Route to Requestor works in conjunction with the self-approval flag. If self-approval is set up. If the approver failed to meet the self-approval criteria. Use the Deactivate/Activate button to toggle the status of the transaction. This is used when a transaction invokes the AWE using an implied approval definition ID (i. then the system routes the approval to the approvals administrator. Status – This is the effective status of the approval definition. Effective Date – The effective date of this approval definition ID. If the AWE evaluates the Definition Criteria object as true for more then one definition. Default Process Definition – Use this field to mark one approval definition ID under each approval process ID as the default definition. the Route to Requester flag set to “on” will require that he/she take action on those steps. If the AWE encounters a situation where no approval definition is found either explicitly or implicitly. then the requester is included as part of the approval path and the system notifies them of the pending approval. Priority – The priority field is used to prioritize approval definitions.Approval Workflow Engine (AWE) for HCM 9. Admin Role – This is the approvals administrator for this approval definition. making the engine decide which process id to use as described on page 30). 34 . Definition ID – The name of the approval process that was determined upon entry to this component. Stages / Paths / Steps © Copyright PeopleSoft Corporation 2001. If “User Auto Approval” checkbox is turned on.

A Static source allows users to define a static number of approval steps and it indicates that you want the system to use the individual user-defined steps when it processes an approval.Select to indicate that if one of the approvers in this path is also the requester. this will only fire if the AWE determines that there are no approvers for that step and it is the last step in the process. A dynamic source type only allows users to define one step and requires no step criteria. Details – The path details sub-page allows users to define more granular information about the Path. Again. then the system is to skip all steps in this path prior to that approver’s step. Paths within the same stage are carried out in parallel. 35 . the system uses the user list on the step definition to initialize the steps in the path. Notify Admin on No Approvers – This checkbox only shows up if the path is dynamic (HCM transactions will be mostly static). paths belonging to the same stage are carried out in parallel. until the step's user list returns no more approvers. The AWE will dynamically figure out whether or not to route the transaction to next level or approver(s). paths need to belong to separate stages. In order to achieve sequential path processing.0 4/18/2007 Stages – A stage is a high level grouping of approval paths. © Copyright PeopleSoft Corporation 2007. All these instances are queued in sequence.Approval Workflow Engine (AWE) for HCM 9. Skip Prior Steps for Requester . This check box will send a notification to the Administrator of the entire path is skipped due to a lack of approvers for all steps. The single step definition is repeatedly run. It is expected that HCM customers will predominately use the Static source. When using the Dynamic source. Source – There are two source types that can be assigned to a path: Static and Dynamic. All rights reserved. Paths – Approval Paths are logical groupings of approval steps. If it is a dynamic path and you select to notify the Admin on No Approvers. Timeout Options – The time out options section is used to manage escalations for the path when no action has been taken.

You must enter either a user list or a user list and role. a minimum number of approvals can be specified in order for the transaction to proceed. those users will be notified Will send a notification to the participant generated by the corresponding user list Will reassign the step to the participant generated by the corresponding user list Hours/Days – Specifies the time after which the escalation option will execute. For example. If a user list is specified. Some Approver Required/Number of Approvers Needed – If more then one approver is generated for the step. one of these three rules will be followed: All Approvers Required – Every approver generated by the Approver User List and/or Approver Role Name will have to approve this step before the transaction can proceed. Notify Participant. a PeopleSoft Role may be entered as additional approvers. Escalation Option Advance Approval Notify Participant Reassign Approval Description Pushes the approval to the next step in the path.Approval Workflow Engine (AWE) for HCM 9. You cannot enter just a role by itself. User List – Used to generate the participant for whom a notification will be sent. Steps – Steps represent the individual approval steps within a path: Approver User List – Specify the user list to be used to generate the approver participants for each step. if five approvers were generated by the user list. or Reassign Approval. Details – The step details sub-page allows users to specify more granular information about the step. Refer to the section on creating User List Definitions for instructions on how to create user lists.0 4/18/2007 Escalate Options – There are three escalation actions that you can choose from: Advance Approval. © Copyright PeopleSoft Corporation 2001. All rights reserved. Please refer to the section on creating User List Definitions for instructions on creating user lists. Approver Requirements – In the case that the step has more then one possible approver. you could specify that only two of the five need to approve the transaction before it can proceed. Used only for the Notify Participant or Reassign Approval options. 36 . Approver Role Name – In addition to the Approver User List.

If self-approval is not enabled. If you select self-approval and the requester appears as an approver. If the requester appears as an approver for any step. path and step levels. alerts. Any criteria evaluation is possible as long as the appropriate fields exist in your header record.0 4/18/2007 Self Approval – In the case where the approver for this step is also the requester of the transaction. When a requester is an approver. then the requester can't serve as an approver. If the criteria are not met. The generic Criteria Definition page is described below: From a functional standpoint. criteria may be used to determine for example which approval process definition ID to use for a given transaction. The step criteria object is evaluated by the engine at runtime to determine if the approval step should be instantiated or skipped. Or to determine when to show the user a message about the transaction he/she is trying to submit for approval. You can establish a criterion that controls the requester's approval authority by using the Self-Approval Criteria link. if this flag is checked. If the criteria are not met and no later step exists.Approval Workflow Engine (AWE) for HCM 9. Application Class. In other words. For example. Step Criteria – Please Refer to the Criteria Definition section for instructions on defining Criteria Definitions. then an error is generated. you can configure the path to skip the steps in that path prior to the requester's step. you may want employees based out of Europe earning more than $100. the number of approvers that are available to act drops below the minimum. and User Entered. you can place a limit on the dollar amount for the requester so that if the transaction is over that amount. the step assumes approval since the approver is the one who created the transaction. If the field does not exist in your header record. at runtime. then the step will be skipped. Reviewer User List – A Reviewer cannot take action on a transaction but he/she can be kept in the loop for a particular transaction using the AWE. Criteria Definitions Criteria Definitions are used to define bits of logic that. then self-approval is acceptable.000 per year to have only one level of approval for submitted promotion requests whereas for all employees in the US you want three levels of approval for any submitted promotion request. because of this. There are 3 types of criteria that can be defined: Always True. Note. Criteria Type 1 – Always True – Always true simply means that whenever the system evaluates this criteria it will always return a ‘True’ to the engine. So whatever process you have associated with these particular criteria will always execute. but not take any action on it. you cannot run criteria against them. Please refer to the section User List Definitions for instructions on how to create user lists. are evaluated for a Boolean result (True or False). 37 . the system inserts an additional step. © Copyright PeopleSoft Corporation 2007. If. the requester is not used as an approver. the Approval Workflow Engine requires that there be at least one more step after this one in the path. then the requester's approval is assumed and the minimum approvers for that step decrements by one. the approver is blocked from acting. The Criteria Definition page found at all four areas listed are the same and are in effect only used to evaluate a result that the a developer can then use to trigger a process of some sort within the application. the criteria are evaluated. This does not apply to ad hoc steps. All rights reserved. The areas in which you may set up criteria definitions include at the process definition. For example. If the associated criteria evaluate to true. If the criteria are met. Enter a user list to generate a person or group of people who have access to view this transaction. Clearing the check box means that self-approval is never acceptable. This selection is then routed to the approvals administrator. The process is then routed to the approvals administrator.

Use this section to assign application packages as criteria for the approval process definition. the system uses it along with other criteria you enter to process the approval. There are three requirements for using Application Class based criteria: 1) The Application Class must extend then PTAF_CRITERIA:Definition:CriteriaBase class 2) The Criteria application class must have a Check() method 3) The Check() method must return a Boolean Criteria Type III – User Defined – The User Defined criteria type allows you to set up rules based on the fields that exist on the header record of your transaction and delivered operands using the user interface shown below. 38 .Approval Workflow Engine (AWE) for HCM 9.0 4/18/2007 Criteria Type II – Application Class – Allows you to define an application class to be executed at the time the criteria are evaluated. The system displays this section when you select a Criteria Type value of Application Class. © Copyright PeopleSoft Corporation 2001. All rights reserved. When you define a class. Root Package ID / Application Class Path – Use these fields to point the AWE to a pre-defined criteria application class.

The system displays this section when you select the Criteria Type value of User Entered.0 4/18/2007 All Criteria Needed to Satisfy – This check box takes the place of adding “and” or “or” between each row of criteria. All rights reserved. 39 . Fields are inclusive. If this is selected. Use this section to establish approval criteria based on a value or amount. it uses © Copyright PeopleSoft Corporation 2007. The engine uses the header record keys for the running transaction to select for the criteria. Use the first value field for specifying a value for the field specified Use the first value field to specify a lower limit for the field specified The field specified returns no value The field specified returns any value Use the first value field to specify an upper limit for the field specified Enter a value in the first value field that the specified field cannot equal Monetary Criteria – Use the monetary criteria section to define criteria logic for monetary fields only. If the check box is not checked. Criteria Operator – Allows the user to select 1 of 7 operands to evaluate the value returned from the header record. then the AWE assumes that only one row of criteria needs to be met. When the system evaluates the criteria for an approval process or a step or path within the process. the AWE assumes that all rows of criteria need to be met. Field – Allows the user to select any field residing on the record that was selected. Record – Although this prompt table allows users to select any record in the database.field that was defined: Criteria Operator Between Equal Greater Than Is Blank Is Not Blank Less Then Not Equal To Definition Use both value fields to specify an upper lower limit for the field value.Approval Workflow Engine (AWE) for HCM 9. only those records definitions that have the same key values as your header record should be used. The system uses the values you define to determine the routing for approving the transaction.

© Copyright PeopleSoft Corporation 2001.0 4/18/2007 monetary values you define in this section.Select the field within the amount record to be used.Use the Amount fields to define an amount range for use with the Operator field. Operator -. Amount -. Values include Between.Select a value that determines how the system processes the values in the Amount fields. Note. -.Select the monetary unit you want to use for the approval. and Less Than. For example. Greater Than.Approval Workflow Engine (AWE) for HCM 9. such as the current rate or a pay rate. Currency Field -.If you use the Criteria Operator with a value of Between. 40 . you might use a salary field to trigger the step. Amount Record -. The system uses values from fields in this section in conjunction with the Operator field to determine whether to run a step. Currency Code -.Select the record name to be used. Amount Field -. Rate Type -. (From PeopleBooks).Select the currency field that corresponds to the currency code you select in the Currency Code field below. All rights reserved.Select how the system arrives at the currency value. a second Amount field becomes active.

you may want to include the Status Monitor in the Approval page itself to educate users on who will be approving their transaction.getStatusMonitor(&AprvMgr. you can then evaluate the criteria to determine if a message should be displayed on the approval page. You can define your alert criteria to be true if the number of current approvals is = the minimum minus one. The graphic below shows an example of a sample Status Monitor: To implement the Status Monitor in your transaction. The Parameters for the GetStatusMonitor method are as follows © Copyright PeopleSoft Corporation 2007. You can then decide to display a message to that approver letting him/her know that he/she is the last approver for the step. Null). which means the alert will be true if the current approver is the last approver for this particular step.0 Alert Criteria 4/18/2007 With the criteria object defined.Approval Workflow Engine (AWE) for HCM 9. /*Instantiate the ApprovalManager object*/ &AprvMgr = &AprvFactory. you might define a step in your approval process to require a minimum of three approvals before it advances to the next step. For example Import HMAF_AWE:ApprovalsFactory Local HMAF_AWE:ApprovalsFactory &MyApprovalsFactory. perform the following steps 1) Add the sub-page HCSC_MON_SBP wherever you would like the display the status monitor.The HCSC_MON_WRK record contains field change PeopleCode that is expecting a Component variable named &monitor. /*Instantiate the Status Monitor Object*/ &Monitor = &AprvFactory. 2) In an appropriate PeopleCode event. 41 . Most commonly. All rights reserved.getApprovalManager(&Awprcs_Id. For example. &Operid). you may find it beneficial to display a graphical representation of the approval process status for a particular transaction. Implementing the Status Monitor At various points in your application.the_inst. Component HMAF_AWE:Interfaces:IstatusMonitor &monitor /*Instantiate the Factory*/ &AprvFactory = Create HMAF_AW:ApprovalsFactory(). &HeaderRec. "A". instantiate the status monitor interface class. **Required .

/*Collect the values you need for launching the transaction*/ &MyHeaderRec = GetLevel0()(1). Use “the_inst” property.GetRecord(Record. HCSC_MON_WRK.HTMLAREA = &StatusMonitor. Below is an example of a typical transaction being submitted from a Component SavePostChange Event: Import HMAF_AW:ApprovalsFactory Local HMAF_AW:ApprovalsFactory &MyApprovalsFactory. This mode will prevent the user from interacting the status monitor.PTAFDEFN_ID /*Create your launch manager object*/ &MyLaunchManager = &MyApprovalsFactory. If a transaction is submitted to the AWE before the transaction is saved and then an error occurs after the call to the API. it is wise to only call the AWE after the transaction has been successfully saved. &MyApprovalDefinitionId =&MyHeaderRec. 42 .DEFINITION = &MyApprovalDefinitionId © Copyright PeopleSoft Corporation 2001. When the status monitor is saved. is that calls to the AWE are best located in SavePostChange PeopleCode events.%OperatorId) /*If you have a definition id. in most cases. the application must pass an existing object that contains a method called SaveButtonLogic. (Assume the existence of the class MySaveButton containing method SaveButtonLogic(). b) Mode – Mode values are: i. the AWE will call &MyObject. So. The following example shows how this is used.0 a) 4/18/2007 Application Instance – The application instance can be retrieved for your transaction via the ApprovalManager object. it is time to add some PeopleCode to tie this all together. c) Save Button Logic – The SaveButtonLogic parameter allows the application to invoke logic when the status monitor is saved. “D” for display only mode. use it…otherwise.MySaveButton() &AprvFactory. the engine will try to figure out which one based on the Definition Level Criteria Object*/ If all(&MyApprovalDefinitionId) then &MyLaunchManager. In order for this feature to be used. "A". &MyHeaderRec. All rights reserved. For example. 3) Call the buildHTML() method on the status monitor object and place its results in the HCSC_MON_WRK.getLaunchManager(&MyApprovalProcessId.EXP_RPT_HDR) &MyApprovalProcessId = SQLExec(SELECT PTAFPRCS_ID FROM EO_TRANSACTIONS WHERE TRANSACTION_NAME = ‘HR_EXPENSES’). “A” for ad-hoc mode.) &MyObject = Create MyAppPackage:MySaveButton.the_inst. the situation could arise where the AWE is now tracking a transaction that does not exist.SaveButtonLogic(). ii. you may want to track which user inserted an ad-hoc step. &MyObject &MyObject). Application PeopleCode Now that all the necessary objects have been constructed and all the set up has been completed for the transaction.Approval Workflow Engine (AWE) for HCM 9.buildHTML(). This mode will allow the user to add ad-hoc approvers during an approval process.HTMLAREA html area.getStatusMonitor(&AprvMgr. One thing to keep in mind.

EmplId.SetAttributeObject(&MyAttribClass). D for deny.EXP_RPT_HDR) &MyApprovalProcessId = SQLExec(SELECT PTAFPRCS_ID FROM EO_TRANSACTIONS WHERE TRANSACTION_NAME = ‘HR_EXPENSES’).Approval Workflow Engine (AWE) for HCM 9. /&Assume we populate this derived field with a value of A for approve.Value /*Create your launch manager object*/ &MyApprovalManager = &MyApprovalsFactory.DoApprove() Break.0 end-if. we need to pass the UserListAttribute class to the engine*/ /*Create and populate Attrib RecObject */ &MyAttribRec = CreateRecored(Record. or P for pushback depending on which button the user presses*/ &Action = &DerivedRecord. 4/18/2007 /*For multiple job support. /*Submit your transaction*/ &MyLaunchManager.getApprovalManager(&MyApprovalProcessId.GetRecord(Record.Empl_Rcd. &MyHeaderRec.Empl_Rcd. When ”D” &MyApprovalManager. &MyAttribRec. /*Collect the values you need for acting on the transaction*/ &MyHeaderRec = GetLevel0()(1).DoDeny() Break.UtilsRec = &MyAttribRec.Oprid.Emplid. /*Pass AttribClass to the AWE*/ &MyLaunchManager. All rights reserved.Action. Below is an example of what the approval component SavePostChange PeopleCode might look like: Import HMAF_AW:ApprovalsFactory Local HMAF_AW:ApprovalsFactory &MyApprovalsFactory.HCSC_UATRIB_SBR) &MyAttribRec. /*Create Attrib Class and assign your Attrib Rec object to the UtilsRec property*/ &MyAttribClass = Create HCSC_USERLIST_UTILS:UserListAttrib().%OperatorId) /*Notice we don’t need a an Approval Definition Id. When “P” © Copyright PeopleSoft Corporation 2007.Value = %OperatorId &MyAttribRec. 43 .DoSubmit(). the AWE now derives this from the Process Id and the header record keys*/ Evaluate &Action When “A” &MyApprovalManager.Value. &MyAttribClass.Value.Value = &MyHeaderRec.Value = &MyHeaderRec.

DoPushBack() Break.Approval Workflow Engine (AWE) for HCM 9.HTMLAREA = &StatusMonitor.getApprovalManager(&Awprcs_Id. Review Transactions Page on the Manager Self Service Page Job Picker Page. /*Instantiate the Status Monitor Object*/ &StatusMonitor = &AprvFactory. &HeaderRec. Refer to the table below for details on these objects. All rights reserved. Review Transactions Page on the Employee Self Service Menu Roles Attached To AWE Administrator HCCPSCAW1020 AWE Manager Objects Manager HCCPSCAW1030 AWE Employee Objects Employee © Copyright PeopleSoft Corporation 2001. &Operid). /*Instantiate the ApprovalManager object*/ &AprvMgr = &AprvFactory. 44 . Permission List Name HCCPSCAW1010 Description AWE Administrator and Configuration objects Grants Everything under Setup HRMS-> Common Definitions->Approvals>Approvals Setup Center Job Picker Page. 4/18/2007 Below is an example on how to invoke the status monitor. Delegation Picker Page.getStatusMonitor(&AprvMgr. The status monitor can be used on any page provided you have the HCSC_MON_SBP on the page: Import HMAF_AW:ApprovalsFactory Local HMAF_AW:ApprovalsFactory &MyApprovalsFactory. Delegation Picker Page. /*Set the HTML area on the sub-page = to the HTML returned from buildHTML()*/ HCSC_MON_WRK.0 &MyApprovalManager. Null). Security Permission Lists and Roles The HCM Shared Components team delivered three new permission lists and one new role in the 9.the_inst. "A". End-Evaluate.buildHTML().0 release. /*Instantiate the Factory*/ &AprvFactory = Create HMAF_AW:ApprovalsFactory().

HCCPSCAW1020 – Manager Permission List – This list will come delivered attached to the Manager role. they must have the correct permissions. AWE Administrator – AWE administrator role – This role will be delivered attached to no users. If you do not have an application specific administrator role. HCCPSCAW1030 – Employee Permission List – This list will come delivered attached to the Employee role. in order to use the EMC functionality delivered in the AWE. 2. 3. 45 . If you do have an application specific administrator role. Any of your application specific users who are considered employees should have the Employee role and therefore should inherit this permission. the WEBLIB_PTAF web library needs to be added to the appropriate products permission list.Approval Workflow Engine (AWE) for HCM 9. You should react to this object. Because of the manner in which this page is displayed. Navigate to PeopleTools > Security > Permissions and Roles > Permission Lists > and select your desired permission list. All shared components permission lists will be delivered with this security already in place. Under Web Libraries tab. 4.0 Role Name AWE Administrator Description AWE Administrator and Configuration objects Permission Lists HCCPSCAW1010 4/18/2007 The general guidance for leveraging these objects is as follows 1. application specific administrator role in order to inherit this permission list. Also. Permissions to web libraries are granted by performing the following steps: 1. permission must be granted to WEBLIB_PTAFEMC. it is suggested that you simply leverage the HCCPSCAW1010 permission list by attaching it to your role. All rights reserved. Any of your application specific users who are considered managers should have the Manager role and therefore should inherit this permission. Each application should attach this permission list to any existing. You should not have to do anything with this object. © Copyright PeopleSoft Corporation 2007. You should not have to do anything with this object. Web Libraries In order for users to be able to view AWE participants' additional information via the status monitor. HCCPSCAW1010 – Administrator Permission List – This list will come delivered attached to the AWE Administrator role. insert a row WEBLIB_PTAF and WEBLIB_PTAFEMC into Web Libraries and then click Edit Hyperlink. then you may leverage this role by attaching it to any application specific administrator users you may have.

the Recruiting Solutions team created a Factory Package. Make sure you click OK and then SAVE the permission list. All rights reserved. The structure of the HMAF_AW package is described below: The HMAF_AW Package is constructed of the following three parts: 1. HMAF_AW should be used for creating most of your AWE Classes. 3. You will now see a page similar to the page shown below (depending on which web library you are granting access to.) Click on the “Full Access” button (or. if you know which iscripts you want to limit. Method GetLaunchManager Input Parameters Approval Process Id Header Record Returns HMAF_AW:INTERFACES:ILaunchManager © Copyright PeopleSoft Corporation 2001. HMAF_AW to interface the AWE’s API in release 8. Approvals Factory – The approvals factory class is used for retrieving the three main AWE API classes. Appendix A.9. you can assign access at that level). ApprovalManager and StatusMonitor. HCM Approval Workflow Engine Factory Package As a matter of standard. The HCM Shared Components team now owns this package.Approval Workflow Engine (AWE) for HCM 9. LaunchManager.0 4/18/2007 2. 46 .

This concept might be confusing to those who are new to object oriented programming. PTAF_MONITOR:MONITOR:threadDescrBase() – The threadDescrbase class must be extended if applications wish to create a threadDescr class for changing the group box heading in the status monitor from the Thread keys to a more meaningful heading. Methods UserListAppClass GetUsers Description The constructor of the class Application Developers can add application specific logic to this method to retrieve approver(s). Here are the methods within the class. the class is just calling the corresponding PTAF_AW class. AWE Base Classes PTAF_CORE:DEFN:UserListBase() – The UserListBase AppClass must be extended if you want create Application Class based User Lists. These instances are constructed within the factory by calling the corresponding HMAF_AW:WRAPPER classes. Is the exact same thing as calling: &MyLaunchManager = Create PTAF_CORE:LaunchManager(&Awprcs_Id.Approval Workflow Engine (AWE) for HCM 9. 3. &Oprid). &Hdr_Rec.getLaunchManager(&Awprcs_Id. All rights reserved. but the classes are constructed this way as a matter of standard. &recTxn – Application specific transaction record passed into AWE. Interface Class – As shown in the table above. the three approval factory classes return Interface instances. &Hdr_Rec. Appendix B. Returns Array of String – This array will contain the retrieved approver(s). Wrapper Class – The wrapper classes implement the interface class. Methods threadDescr Description The constructor of the class Parameters None © Copyright PeopleSoft Corporation 2007. Here is an example: &MyApprovalsFactory = Create HMAF_AW:ApprovalsFactory() &MyLaunchManager = &MyApprovalsFactroy.0 4/18/2007 RequesterId GetApprovalManager Approval Process Id Header Record RequesterId GetStatusMonitor PTAF_CORE:Engine:AppInst Mode SaveButtonLogic HMAF_AW:INTERFACES:IStatusMonitor HMAF_AW:INTERFACES:IApprovalManager 2. Parameters &rec_ --This is the userlist record SAC_USER_LIST &prevOprid – Requester’s Oprid or previous Approver’s Oprid. 47 . Keep in mind that when you call the Approvals Factory class. &Oprid).

0 4/18/2007 getThreadDescr Application Developers can add application specific logic to this method to create a unique title to Approval Chain Graph title. the plus sign won’t show up. Returns Boolean – If it returns true. then the plus sign will show up for each step in the status monitor. users will see a plus sign associated with both Pending and Not Routed steps. PTAF_MONITOR:ADHOC_OBJECTS:adhocAccessLogicBase – The adhocAccessLogicBase class must be extended if you want to use the status monitor in your transactional pages. . &keys – It contains the transaction key field objects and their corresponding values. then the plus sign will show up for each step. Parameters None &Oprid – Logon User. users will see a plus sign associated with each path within each stage. Here is an example of the effect of the threadDescr class: Default Heading: New Heading: Notice how the heading changed from the Keys EMPLID. If adhoc approver is allowed. All rights reserved. If it returns true. EMPL_RCD. If adhoc path is allowed. Returns String – It returns a string of the overridden title. and ACTION_DT_SS to the Transaction Title with the requesters EMPLID (FE0001). This will allow transaction users to add adhoc approvers and/or adhoc approval paths. Methods adhocAccessLogicBase allowInsert Description The constructor of the class The method requires a Boolean return value. 48 © Copyright PeopleSoft Corporation 2001. &stepBefore – AWE’s Step instance class before adhoc approver is inserted. &stepAfter – AWE’s Step instance class after adhoc approver is inserted.Approval Workflow Engine (AWE) for HCM 9. Otherwise.

0 4/18/2007 allowDelete The method requires a return value.AWE’s Step instance class. allowNewPath &Oprid – Logon User. It couples with allowInsert method. OnPushback &userinst -. &Stage – AWE’s Stage Instance class. Application developers can add code here for their transactions upon this event. If it returns true. Parameters None &appInst – AWE’s application instance class. application instance class. OnStepActivate OnStepComplete &stepinst -. PTAF_CORE:ApprovalEventHandler Methods ApprovalEventHandler OnProcessLaunch Description The constructor of the class This is the first event to be triggered. then the plus sign will show up for each path within each stage. If allowInsert method returns true.AWE’s Adhoc Step instance class. 49 . an approver can take action on a step. Returns Boolean – If it returns true. &stepinst -. this is accomplished by extending the HMAF_AWE:WRAPPERS:ApprovalEventHandlerClass() The ApprovalEventHandler class has quite a few methods.AWE’s User Step instance class © Copyright PeopleSoft Corporation 2007.AWE’s Adhoc Step instance class. The method requires a return value. This fires when an approver pushes the approval back to the prior approved step.Approval Workflow Engine (AWE) for HCM 9. &stepinst -. &currentStep– AWE’s Step instance class.AWE’s Step instance class. This event is triggered when a request is submitted or when a prior step is approved. then a minus sign will show up for each inserted adhoc approval step. then a plus sign will show up for each path &stepinst -. For HCM. Some of the properties in these classes will be explained below so that application developers can better utilize the information contained in these classes when they add transaction specific code to these methods. such as step instance class. &approver – Array of strings containing approvers’ oprids. Each method has an AWE class as its parameters. Same as above. then this method should also return true. This event is invoked when the minimum number of approvers (as configured) approves this step. If it returns true. All rights reserved. &Oprid – Logon User. OnAdHocInsert OnAdHocDelete PTAF_CORE:ApprovalEventHandler() – The ApprovalEventHandler class must be extended if you want to extend event processes beyond the AWE. It occurs in submit or resubmit operation. This is actually an event. Only when a step is activated. then the minus sign will show up for each adhoc approval step. Returns Boolean – If it returns true.

OnLineDeny &userinst -. The approval process is complete. The request is finally approved by the last approver on the approval chain.AWE’s User Step instance class. &thread -. This event triggers when an approver denies the request at the header level. This event is triggered when the approver who received the pushback again approves. OnHeaderApprove &appInst – AWE’s application instance class.AWE’s Step instance class.AWE’s thread class. all lines are denied. Be aware that at least one line item has been approved if not all in this event. This event is triggered when a line item is denied and the denial is final. In case of line level approval. OnAllLinesProcessed &appInst – AWE’s application instance class. The denial is final and no further approval routings are attempted from that point. 50 . This event is triggered when an error occurs during approval process. This event is triggered when a requester chooses to terminate a submitted transaction. OnTerminate &appInst – AWE’s application instance class. © Copyright PeopleSoft Corporation 2001.0 4/18/2007 OnReactivate This is the reverse of pushback.Approval Workflow Engine (AWE) for HCM 9. OnHeaderDeny &userinst -. All rights reserved. &stepinst -.AWE’s Step instance class. but not this one. &thread -.AWE’s thread class. OnError &stepinst -. This event is triggered when the approval process is over. This only occurs when an approval process is configured to allow line level actions. OnLineApprove &appInst – AWE’s application instance class.AWE’s User Step instance class. The approval process continues routing other pending lines. This event is triggered when all lines have been either approved or denied. This event is triggered when a line item is finally approved.

If it is true. then the header is approved. Array of strings. then this step is pending approval.Approval Workflow Engine (AWE) for HCM 9. if this is line level approval. 51 . If it is true. The PTAF_CORE:DEFN:AppDef object corresponding to approval process definition on which this instance is based. If it is true. awstep_instance Number original_approvers actual_approvers Array of strings. then the process is complete. then the header never assumes this value (it becomes "completed"). Application developers need to carefully code around this issue.StepInst Property awthread_id Data Type Number Description This is the awthread_id field value corresponding to the main thread of this process.0 Application Instance Class – PTAF_CORE:Engine:AppInst Property mainThreadId Data Type Number Description This is the awthread_id field value corresponding to the main thread of this process. rec isPending status isOnHold record Boolean string Boolean © Copyright PeopleSoft Corporation 2007. They are referred to as proxies or alternate approvers. It serves one of the two keys to the application's cross-reference table. All rights reserved. However. This only applies to line level approval process. This key is globally unique and serves one of the keys for the step instance. if it is true. The approval process is denied. This means all lines have been processed (finally approved or denied). It is the step status of approval process. The transaction record passed into AWE. The person who submits this approval transaction. This is the cross-reference record that drives this approval process instance. Approvers who are supposed to take action on the submitted transactions. Approvers who have or will actually taken action on the submitted transactions. This is the unique step instance number for this step instance. then the approval process is terminated. then someone has placed this step on hold for approval/denial at a later date. It is the status of approval process. It serves one of the two keys to the application's cross-reference table. If it is true. If it is true. The PTAF_CORE:ENGINE:Thread object corresponding to the main cross-reference table record. 4/18/2007 rec isApproved record Boolean isComplete Boolean isDenied isTerminated status requester thread appDef Boolean Boolean string string Thread class object Process Definition class object Step Instance Class – PTAF_CORE:Engine.

User instance record: PTAF_USERINST. A person who is supposed to taken action on the submitted transaction. then the step is approved.0 User Step Instance Class – PTAF_CORE:Engine:UserStepInst Property approver original_approver isApproved isPending status isOnHold isPushedBack rec thread step Data Type string. 4/18/2007 © Copyright PeopleSoft Corporation 2001. string. The PTAF_CORE:ENGINE:Thread object corresponding to the main cross-reference table record.Approval Workflow Engine (AWE) for HCM 9. If it is true. then someone has placed this step on hold for approval/denial at a later date. 52 . If it is true. All rights reserved. If it is true. If it is true. Boolean Boolean string Boolean Boolean record Thread class object Step instance class object Description A person who has or will actually taken action on the submitted transaction. The PTAF_CORE:ENGINE:StepInst object. then the step has been pushed back. then this step is pending approval. It is the step status of approval process.

For instance. You can use this feature to define what should happen to a particular transaction after a certain period of time. on Final Approval notify the Requester every 2 hours.0 4/18/2007 Frequently Asked Questions Question # 1: What is the Notifications feature and how is it used? Answer: The Notifications feature can be found under Configure Transactions as shown below. not to exceed 5 notifications).. You can set the number of hours and total max number of times to notify each participant by event (i. The notification is trigged only if the participant has not acted on the transaction or request. Question # 2: What is the Timeout or Escalation option and how is it used? Answer: The Timeout Options can be found at the Path level under the Details link under Setup Process Definition as shown below. This option should be used for time sensitive transaction. or reassign the approval after a certain number of hours or days have passed. Question # 3: What is “OnHeaderApprove”? Answer: OnHeaderApprove is a specific event in AWE that is fired in the event handler once a transaction or request hits the Final Approval step in the approval process. You can have the request reassigned to a particular person in the database or to a predefined User list. you can define to notify the participant. advance the approval.Approval Workflow Engine (AWE) for HCM 9.e. Question # 4: Where are the new pre-defined Direct Reports User Lists? Answer: © Copyright PeopleSoft Corporation 2007. 53 . All rights reserved. It is used as a reminder service for notifying participants who have not responded to a particular transaction or request.

All rights reserved. 54 .Approval Workflow Engine (AWE) for HCM 9. The new User Lists for Direct Reports can be found under the HCSC_USERLIST_UTILS application class Root Package ID. Developers should have their functional analysts to determine what name should be entered in the Description field for each user list definition. Note that their names still contain strings that are not production worthy. Question # 5: Will there be an archiving mechanism delivered for AWE? Answer: © Copyright PeopleSoft Corporation 2001. Click on the Application Class Path lookup to see the 5 application classes. Click to Add a New User List.0 4/18/2007 Navigate to Setup HRMS Common Definitions Approvals Approvals Setup Center Maintain User Lists. It is important to be clear with the naming convention on the Description field of the User List Definition page as shown below. The Description field shows up right under the Approver's name in the Approval Graphic representation (Status Monitor) as shown in the green screen shot below.

After selecting a Definition ID. “Setting Up and Working with Approvals. Preview User can be found under Setup Process Definition. 55 .0 4/18/2007 We are not delivering any specific feature for archiving transactions stored in the AWE. We recommend that customers use the PeopleTools Archive Manager component. Question # 7: What do the scrolling arrows on the Setup Process Definition page do? Answer: Allows the user to sort the list in either ascending or descending order. All rights reserved. which is bundled separately from AWE.Approval Workflow Engine (AWE) for HCM 9. See PeopleSoft Enterprise HRMS 9. click on the “Preview” link in the upper right hand corner of the page (see below).0 Application Fundamentals PeopleBook. You can walk through step by step to see to whom the transaction is routed at each level of the Definition ID. Question # 6: Will a batch job run at night for escalations and timeouts? Answer: You must use the Escalation and Notification Manager. Question # 8: What is the Preview User feature all about? Answer: Preview User serves as a preview tester of your Approval Definition ID. © Copyright PeopleSoft Corporation 2007. It allows you to run a “what if” scenario using any person in the database as the Requester for any Definition ID.” Setting Up the Notification and Escalation Manager.

Click Search and all the transactions associated with the Definition ID are listed. All rights reserved.0 4/18/2007 You must enter a valid ID in the Preview User lookup field. Click on any one of the transactions and receive the following page: © Copyright PeopleSoft Corporation 2001.Approval Workflow Engine (AWE) for HCM 9. The Search box represents all the key fields defined in the header record for the particular Definition ID you are using. 56 .

No one can take action on the transaction except for the person who requested more information. terminated. Only he can change the status of the transaction. transfer. The Approve and Deny buttons represent the action you can take to see how the approval will progress at each level. All rights reserved.Allows the user to send the transaction to any body in the database while placing the transaction in a Hold status. The classic use case for Pushback is when a senior level person prefers having someone below him deny the transaction instead of him doing so. AWE treats this as a new transaction. Request for More Information . etc. Resubmit. The Status Monitor shown here is the route the transaction would take if the Preview User you selected on the previous page had requested the transaction. Restart ..) so the transaction must go through the same approval process to document the different people now holding those positions. he can go back into the transaction and either accept or deny it. or Request for More Information events? Answer: Pushback . no one else. Once he receives the confirmation he needs.Cycles a pending transaction back through the approval process beginning with the 1st approver. This is just a test page so no notifications will be triggered and the transaction itself will not be modified in any way. The application developer can restrict the persons that he can send the transaction to by using the 'getallactiveparticipants' method. Resubmit . This is mostly done by the Admin but can be exposed to the self-service user.) back through the approval process beginning with the 1st approver. approved. which will expose only those who are a part of the approval chain for the given transaction.e. denied. Also shown on this page is xml code that describes the approval process definition itself that developers could use for troubleshooting. The classic use case for Restart is when there has been a change in the approval chain (resignation. Question # 9: How does the Pushback event differ from the Restart. The transaction cannot be modified while it is being pushed back.Cycles a non-pending transaction (i. The classic use case for Request for More Information is when a manager receives a request for a laptop but wants to make sure we are using the correct vendor so he puts the transaction on hold while sending it to someone either in the approval chain or not.Approval Workflow Engine (AWE) for HCM 9. etc. 57 . The classic use case for Resubmit is similar to that of Restart except it involves transactions that are no longer pending. AWE treats this as a new transaction. © Copyright PeopleSoft Corporation 2007.Allows the user to push the transaction back only one step but not back to the Requester.0 4/18/2007 The top of the page describes the values used for the transaction chosen.

which if tampered with. All rights reserved.Approval Workflow Engine (AWE) for HCM 9. 58 .0 Question # 10: What changes have been made to the Approvals menus? Answer: The setup components for the Approval Workflow Engine can still be found under: Setup HRMS Common Definitions Approvals Approvals Setup Center 4/18/2007 The maintenance components for the Approval Workflow Engine can now be found under: Workforce Administration Self Service Transactions Approvals and Delegation Breaking apart the setup components from the maintenance components allows the customer to limit exposure of the setup components. Question # 11: What does the Default Process Definition ID checkbox do and how does that relate to effective dating a Definition ID? Answer: Under the Setup Process Definition menu. you can check the Default Process Definition checkbox for a particular Definition ID. could cause serious problems with approval transactions. © Copyright PeopleSoft Corporation 2001.

Enterprise Learning Management.0) was tightly coupled with both HCM Recruiting Solutions and HCM Absence Management to process approvals for only those two specific applications. Question # 14: Was there a version of the AWE already delivered in a previous version of HCM? Answer: In v. a lighter version of the AWE (compared to what is delivered in 9. although the same in principal. If the transaction submitted does not match a Definition ID based on defined criteria. the first thing it does is evaluate the criteria definition that is tied to the approval process definition. you may decide to display a warning message to the user if he/she tries to promote an employee to a job that pays more than 50%. and ePerformance. An application developer can leverage alert criteria to decide when to display an alert on the page for the user.0 4/18/2007 The assumption is that customers will have multiple Definition IDs for every Process ID registered with AWE.0. Then it looks at the criteria for paths in order and uses the first path that has a criteria definition that resolves to true. is a bit different in application.Approval Workflow Engine (AWE) for HCM 9. Recruiting Solutions. eProfile Manager.the Criteria Definition page. If there is at least two Definition IDs that are both “Active” and are current based on effective date. then it wont use it. 8. when evaluated. then it uses the Definition ID that has the Default Process Definition checkbox checked. If it returns false. A criteria definition is no more than a piece of arbitrary logic that.0 include: eProfile. So then how does the AWE know which Definition ID to use? When a transaction is submitted. Alert criteria. AWE first looks at any criteria definitions set up at the Definition ID level. 59 . Path Criteria. All rights reserved. 9. Step Criteria. © Copyright PeopleSoft Corporation 2007. Absence Management. Alert Criteria. Job Profile Manager (new).9. No other applications in HCM used the AWE until v. for a Promotion. Question # 13: Can you give an example of how Criteria Definitions are intended to be used? Answer: All links for Criteria Definition in the application take you to the same page -. and Authorization Criteria are all just criteria definitions. Anytime the AWE tries to launch an approval process. Approval Process Definition Criteria. and so on. Question # 12: Is there a way to port Approval Process Definitions across PeopleSoft databases or instances? Answer: This can only be done using Datamover scripts. For example. This is where you define criteria for whatever object the link indicates you are defining for. returns true or false. Applications using the new AWE for process approvals in 9. the AWE will use the Definition ID that has the Default Process Definition checkbox checked.

HCM Shared Components Team Robbin Velayedam. HCM Shared Components Team Renli Wang. HCM Shared Components Team Reviewers The following people reviewed this Red Paper: Jennifer Crabb Amy Easland Kevin White Revision History 1. Senior Principal Product Manager.0 4/18/2007 Revision History Authors Vincent Pallari. 3. 02/01/2007: Revised document 02/05/2007: Revised document 04/18/2007: Revised document © Copyright PeopleSoft Corporation 2001.Approval Workflow Engine (AWE) for HCM 9. Senior Applications Developer. 2. 4. Senior Applications Developer. 07/01/2006: Created document. 60 . All rights reserved.

Sign up to vote on this title
UsefulNot useful