Você está na página 1de 162

PeopleSoft Enterprise HRMS 9.

1 PeopleBook: Approval Framework

November 2010

PeopleSoft Enterprise HRMS 9.1 PeopleBook: Approval Framework SKU hrms91eawe-b1110 Copyright 1988, 2010, Oracle and/or its affiliates. All rights reserved.

Trademark Notice Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

License Restrictions Warranty/Consequential Damages Disclaimer This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

Hazardous Applications Notice This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.

Third Party Content, Products, and Services Disclaimer This software and documentation may provide access to or information on content, products and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third party content, products and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third party content, products or services.

Contents

Preface Approval Framework Preface ..................................................................................................................... xi PeopleSoft Approval Framework ................................................................................................................... xi PeopleBooks and the PeopleSoft Online Library ........................................................................................... xi Common Elements Used in This PeopleBook ............................................................................................... xii

Chapter 1 Getting Started with Approval Framework ................................................................................................ 1 Approval Framework Overview ...................................................................................................................... Approval Framework Implementation ............................................................................................................. Configuring Approval Processes ............................................................................................................... Creating New Approval Processes ............................................................................................................ 1 1 1 2

Chapter 2 Understanding the Approval Framework ................................................................................................... 5 Understanding the Approval Framework Feature ............................................................................................ 5 Understanding the Approval Framework Process Flow .................................................................................. 6 Understanding Transaction Approval Flows ................................................................................................... 7 Understanding Header- and Line-Level Approvals ......................................................................................... 9 Understanding Criteria for Approval Framework Processes ......................................................................... 10 Understanding Approval Features ................................................................................................................. 10 Understanding Tasks in the Approval Framework ........................................................................................ 14

Chapter 3 Setting Up Approval Framework Process Definitions .............................................................................. 15 Defining the Setup Process Definitions Component ..................................................................................... Pages Used to Define Approval Framework Processes .......................................................................... Defining Approval Framework Processes ............................................................................................... Defining Criteria for Approval Framework Processes ............................................................................ Defining Paths for Approval Framework Processes ............................................................................... 15 15 16 21 26

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

iii

Contents

Defining Steps for Approval Framework Processes ............................................................................... 28

Chapter 4 Defining the Approval Transaction Registry ............................................................................................ 33 Understanding the Approval Transaction Registry ........................................................................................ Prerequisites ................................................................................................................................................... Setting Up the Transaction Registry .............................................................................................................. Page Used to Set Up the Transaction Registry ....................................................................................... Registering Approval Transactions ......................................................................................................... Configuring Approval Transactions ............................................................................................................... Page Used to Configure Approval Transactions ..................................................................................... Configuring Approval Transactions ........................................................................................................ 33 33 34 34 34 39 40 40

Chapter 5 Defining Notification Templates and Users for Approval Framework .................................................. 47 Defining Notification Templates for Approval Framework .......................................................................... Pages Used to Define Notification Templates for Approval Framework ............................................... Entering Generic Template Definitions .................................................................................................. Defining Users for Approval Framework ...................................................................................................... Pages Used to Define Users for Approval Framework ........................................................................... Attaching Workflow Roles to Users ....................................................................................................... Defining Workflow for User Profiles ...................................................................................................... Defining User Lists ................................................................................................................................. 47 47 47 48 49 49 50 52

Chapter 6 Defining Dynamic Approvals ...................................................................................................................... 55 Understanding Dynamic Paths ....................................................................................................................... Understanding Dynamic Approval Authorizations ........................................................................................ Understanding Approval Authorizations ....................................................................................................... Defining Dynamic Approvals ........................................................................................................................ Pages Used to Define Dynamic Approvals ............................................................................................. Defining User Lists for Dynamic Authorizations ................................................................................... Setting Up Approval Authorizations ....................................................................................................... Defining Dynamic Approval Paths ......................................................................................................... 55 56 58 59 59 59 60 61

iv

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Contents

Chapter 7 Using Email Collaboration .......................................................................................................................... 63 Understanding Email Collaboration .............................................................................................................. Setting Up the PSFT_EMC_GETMAIL Node .............................................................................................. Pages used to Set Up the PSFT_EMC_GETMAIL Node ....................................................................... Setting Up the PSFT_EMC_GETMAIL Node ....................................................................................... Defining Message and Service Operation ...................................................................................................... Pages Used to Define Message and Service Operation ........................................................................... Defining Integration Broker Message ..................................................................................................... Define Service ......................................................................................................................................... Defining Service Operation ..................................................................................................................... Defining and Mapping EMC Forms .............................................................................................................. EMC Forms ............................................................................................................................................. Pages Used to Define and Map EMC Forms .......................................................................................... Defining EMC forms ............................................................................................................................... Defining EMC Layouts ........................................................................................................................... Defining Field Mapping .......................................................................................................................... Triggering Email Collaboration ..................................................................................................................... Pages Used to Trigger Email Collaboration ............................................................................................ Updating Approval Transaction Registry to Send Email Approvals ...................................................... Configuring Transactions for Email Approval ........................................................................................ Scheduling the Application Engine Program EOAWEMC .................................................................... Adding or Modifying Email Addresses for Users ................................................................................... 63 67 67 67 68 68 68 69 69 70 71 71 71 72 73 73 73 74 75 76 76

Chapter 8 Using EMC Classes ...................................................................................................................................... 79 Understanding EMC Classes ......................................................................................................................... EmailFormManager Class ............................................................................................................................. EmailFormManager Class Methods .............................................................................................................. addRecipient ............................................................................................................................................ addCC ...................................................................................................................................................... addBCC ................................................................................................................................................... addAttachment ........................................................................................................................................ sendEmails ............................................................................................................................................. EmailFormManager Class Properties ............................................................................................................ inlineText ................................................................................................................................................ attachmentText ........................................................................................................................................ subject ...................................................................................................................................................... submitMessage ........................................................................................................................................ 79 79 79 79 80 80 81 82 82 82 82 83 83

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Contents

from ......................................................................................................................................................... fromEmail ................................................................................................................................................ replyTo .................................................................................................................................................... propendText ............................................................................................................................................ appendText .............................................................................................................................................. deliveryMethod ....................................................................................................................................... EOAW_EMC:utils Class ............................................................................................................................... EOAW_EMC:utils Class Methods ................................................................................................................ getAppRS ................................................................................................................................................ getErrorCodesRS ..................................................................................................................................... getPromptsRS .......................................................................................................................................... getRowFromPath .....................................................................................................................................

83 83 83 84 84 84 84 84 84 85 86 86

Chapter 9 Using the Notification and Escalation Manager ....................................................................................... 89 Understanding Notification and Escalation Manager .................................................................................... Pages Used to Set Up the Notification and Escalation Manager ............................................................ Associating Events to a Server ................................................................................................................ Setting Up an Escalation Event ............................................................................................................... Setting Up a NEM ................................................................................................................................... 89 89 90 90 91

Chapter 10 Using the Approval Monitor ....................................................................................................................... 93 Understanding the Approval Monitor ............................................................................................................ 93 Understanding Approval Reassignment .................................................................................................. 93 Configuring the Approval Monitor ................................................................................................................ 94 Page Used to Configure the Approval Monitor ...................................................................................... 94 Configuring the Approval Monitor ......................................................................................................... 94 Using the Approval Monitor .......................................................................................................................... 96 Pages Used to Use the Approval Monitor ............................................................................................... 96 Using the Approval Monitor Search Page ............................................................................................... 97 Viewing Search Results .......................................................................................................................... 98 Utilizing the Approval Monitor for a Specific Approval Process ........................................................... 99 Using the User Monitor ............................................................................................................................... 103 Page Used to Use the User Monitor ...................................................................................................... 104 Using the User Monitor ......................................................................................................................... 104

vi

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Contents

Chapter 11 Using Approval Framework Base Classes ............................................................................................... 105 Understanding Approval Framework Base Classes ..................................................................................... LaunchManager Class .................................................................................................................................. LaunchManager Class Methods ................................................................................................................... LaunchManager ..................................................................................................................................... DoSubmit .............................................................................................................................................. DoReSubmit .......................................................................................................................................... DoRestart ............................................................................................................................................... PrepareToSubmit ................................................................................................................................... SetHeader .............................................................................................................................................. Reset ...................................................................................................................................................... FindDefinitionID ................................................................................................................................... TerminateRunningProcess .................................................................................................................... LaunchManager Class Properties ................................................................................................................. hasTxn ................................................................................................................................................... definition ............................................................................................................................................... hasAppDef ............................................................................................................................................. hasAppInst ............................................................................................................................................. hasEndedAppInst .................................................................................................................................. EOAW_CORE:DEFN:AppDef appDef ................................................................................................ resubmitEnabled .................................................................................................................................... submitEnabled ....................................................................................................................................... restartEnabled ........................................................................................................................................ monitorEnabled ..................................................................................................................................... previewEnabled ..................................................................................................................................... EOAW_CORE:ENGINE:AppInst appInst ........................................................................................... EOAW_CORE:DEFN:AWTxn txn ...................................................................................................... requester ................................................................................................................................................ Approval Manager Class .............................................................................................................................. ApprovalManager Class Methods ................................................................................................................ ApprovalManager .................................................................................................................................. DoApprove ............................................................................................................................................ DoApproveRowSet ............................................................................................................................... DoReassign ............................................................................................................................................ DoReassignAll ...................................................................................................................................... DoDeny ................................................................................................................................................. DoDenyRowset ..................................................................................................................................... DoDenyWithAllowUndeny ................................................................................................................... DoHardDeny ......................................................................................................................................... DoLineResubmit ................................................................................................................................... 105 105 106 106 107 107 108 108 109 110 111 111 112 112 112 112 112 112 113 113 113 114 114 114 114 114 115 115 115 115 116 116 117 118 118 119 119 120 121

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

vii

Contents

DoAddNewLine .................................................................................................................................... GetPending ............................................................................................................................................ DoPushback ........................................................................................................................................... AddComments ....................................................................................................................................... TakeNoAction ....................................................................................................................................... PutOnHold ............................................................................................................................................. PutOnHoldCount ................................................................................................................................... GetPushedBack ..................................................................................................................................... GetPertinentThreads .............................................................................................................................. GetStage ................................................................................................................................................ GetPendingSteps ................................................................................................................................... DoLineTerminate .................................................................................................................................. GetParticipant ........................................................................................................................................ GetAllActiveParticipants ...................................................................................................................... RequestInformation ............................................................................................................................... SetAttributeObject ................................................................................................................................. ApprovalManager Class Properties ............................................................................................................. hasAppInst ............................................................................................................................................. definition ............................................................................................................................................... level ....................................................................................................................................................... hasPending ............................................................................................................................................ pushbackEnabled ................................................................................................................................... EOAW_CORE:ENGINE:AppInst the_inst ........................................................................................... isReviewer ............................................................................................................................................. Approval Event Handler Class ..................................................................................................................... ApprovalEventHandler Class Methods ........................................................................................................ ApprovalEventHandler .......................................................................................................................... OnProcessLaunch .................................................................................................................................. OnStepActivate ..................................................................................................................................... OnStepHold ........................................................................................................................................... OnStepReassign .................................................................................................................................... OnStepComplete ................................................................................................................................... OnStepPushback .................................................................................................................................... OnStepReactivate .................................................................................................................................. OnFinalHeaderDeny .............................................................................................................................. OnHeaderDeny ...................................................................................................................................... OnHeaderApprove ................................................................................................................................ OnNoApprovalNecessary ...................................................................................................................... OnLineDeny .......................................................................................................................................... OnLineApprove ..................................................................................................................................... OnAllLinesProcessed ............................................................................................................................ OnTerminate .......................................................................................................................................... OnError .................................................................................................................................................. OnStepReview ....................................................................................................................................... OnTimeout ............................................................................................................................................

121 122 123 123 124 125 125 126 126 127 127 128 128 129 129 130 130 130 131 131 131 131 131 132 132 132 132 132 133 134 134 135 135 136 136 137 137 137 138 138 139 139 140 140 140

viii

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Contents

OnAdHocInsert ..................................................................................................................................... OnAdHocDelete .................................................................................................................................... OnUserLocked ...................................................................................................................................... OnStepRequestInformation ................................................................................................................... OnRequestInformationAdded ............................................................................................................... ProcessNotifications .............................................................................................................................. OnLineTerminate .................................................................................................................................. ApprovalEventHandler Class Properties ..................................................................................................... wlPrefix ................................................................................................................................................. wlBusinessProc ..................................................................................................................................... wlActivityName ....................................................................................................................................

141 141 142 142 143 143 144 144 144 144 145

Index ............................................................................................................................................................ 147

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

ix

Approval Framework Preface


This preface provides an overview of the Approval Framework PeopleBook.

PeopleSoft Approval Framework


Many daily tasks are part of a larger process that involves several steps and people working together. The term workflow refers to this process, which could encompass, for example, the approval of a purchase requisition or a job change request form. To facilitate this type of multiuser process, the PeopleSoft product can automatically trigger workflow notifications to inform the next approver in the process of work awaiting them. The PeopleSoft Approval Framework is a specialized application used for defining and configuring approvals. Approval Framework enables you to configure approval processes using existing components without writing code. This PeopleBook provides you with information to customize the approval processing of components that leverage the Approval Framework. Many PeopleSoft applications are delivered with predefined approval processes. However, additional, essential information describing the setup and design of your system resides in companion documentation. The companion documentation consists of important topics that apply to many or all Oracle's PeopleSoft applications across the PeopleSoft product lines. You should be familiar with the contents of the PeopleBooks that apply to your organization contained within the following PeopleSoft product lines: PeopleSoft Enterprise Financials and Supply Chain Management (FSCM) PeopleBooks PeopleSoft Enterprise Human Capital Management (HCM) PeopleBooks PeopleSoft Enterprise Customer Relationship Management (CRM) PeopleBooks PeopleSoft Enterprise Performance Management (EPM) PeopleBooks

PeopleBooks and the PeopleSoft Online Library


A companion PeopleBook called PeopleBooks and the PeopleSoft Online Library contains general information, including: Understanding the PeopleSoft online library and related documentation. How to send PeopleSoft documentation comments and suggestions to Oracle. How to access hosted PeopleBooks, downloadable HTML PeopleBooks, and downloadable PDF PeopleBooks as well as documentation updates. Understanding PeopleBook structure. Typographical conventions and visual cues used in PeopleBooks.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

xi

Preface

ISO country codes and currency codes. PeopleBooks that are common across multiple applications. Common elements used in PeopleBooks. Navigating the PeopleBooks interface and searching the PeopleSoft online library. Displaying and printing screen shots and graphics in PeopleBooks. How to manage the locally installed PeopleSoft online library, including web site folders. Understanding documentation integration and how to integrate customized documentation into the library. Application abbreviations found in application fields.

You can find PeopleBooks and the PeopleSoft Online Library in the online PeopleBooks Library for your PeopleTools release.

Common Elements Used in This PeopleBook


Business Unit An identification code that represents a high-level organization of business information. You can use a business unit to define regional or departmental units within a larger organization. Free-flow text up to 30 characters. Date on which a table row becomes effective; the date that an action begins. For example, if you want to close out a ledger on June 30, the effective date for the ledger closing would be July 1. This date also determines when you can view and change the information. Pages or panels and background processes that use the information use the current row. The language in which you want the field labels and report headings of the reports to print. The field values appear as you enter them. Language also refers to the language spoken by an employee, applicant, or nonemployee. Process Frequency (group box) Designates the appropriate frequency in the Process Frequency group box: Process Once executes the request the next time the batch process runs. After the batch process runs, the process frequency is automatically set to Don't Run. Always Process executes the request every time the batch process runs. Don't Run ignores the request when the batch process runs. Process Monitor This link takes you to the Process List page, where you can view the status of submitted process requests. The report identifier.

Description Effective Date

Language or Language Code

Report ID

xii

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Preface

Report Manager

This link takes you to the Report List page, where you can view report content, check the status of a report, and see content detail messages (which show you a description of the report and the distribution list). A request identification that represents a set of selection criteria for a report or process. This button takes you to the Process Scheduler request page, where you can specify the location where a process or job runs and the process output format. An identification code that represents a set of control table information or TableSets. A TableSet is a group of tables (records) necessary to define your organization's structure and processing options. Free-flow text up to 15 characters. the options in this field are Active or Inactive. By linking status and effective date, you can retain historical information and plan future implementation. For auditing purposes, PeopleSoft encourages inactivating data that is no longer in use instead of deleting it. The system identifier for the individual who generates a transaction.

Request ID

Run

SetID

Short Description Status

User ID

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

xiii

Chapter 1

Getting Started with Approval Framework


This chapter provides an overview of the PeopleSoft Approval Framework and discusses implementation information.

Approval Framework Overview


Use this PeopleBook for information about the Approval Framework, including: Setting up Approval Framework process definitions. Defining the approval transaction registry. Defining notification templates and users for Approval Framework. Defining dynamic approvals. Setting up email collaboration. Setting up the notification and escalation manager. Configuring and use Approval Framework Monitor. Using Approval Framework PeopleCode classes.

Approval Framework Implementation


Many PeopleSoft applications are delivered with predefined Approval Framework processes. In order to configure and use predefined processes you will:

Configuring Approval Processes


Use the following steps to configure predefined approval processes for your application:
Step Reference

Activate workflow

Refer to the appropriate PeopleBook for your product implementation.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Getting Started with Approval Framework

Chapter 1

Step

Reference

Define user lists

See Chapter 5, "Defining Notification Templates and Users for Approval Framework," Defining User Lists, page 52. See Chapter 3, "Setting Up Approval Framework Process Definitions," Defining the Setup Process Definitions Component, page 15. See Chapter 10, "Using the Approval Monitor," Configuring the Approval Monitor, page 94.

Set up approval framework

Configure the approval user monitor

Creating New Approval Processes


The approval framework can be used to create new approval processes. Application developers can set up workflow approvals using a transaction-definition component. The following steps are used to create a new approval process.
Step Reference

Identify the transaction entry component

Identify the component that will be used for transaction entry. Identify or create a component that will be used for transaction approval. This is usually a new component, but can be the same as the transaction component. The approval component will include the necessary push buttons to approve or deny transactions, as well as any other actions that can be taken. The cross reference table must include the subrecord EOAW_XREF_SBR. See Chapter 4, "Defining the Approval Transaction Registry," Setting Up the Transaction Registry, page 34.

Identify an approval component

Create an approval cross reference table

Create a view of all users that can be an approval participant Develop an approval transaction handler class

The view is used by the approval monitor to display the person's name and contact information. Define an application class used to monitor events for the transaction. The application class must extend the ApprovalEventHandler class and enable applications to receive notifications. See Chapter 11, "Using Approval Framework Base Classes," ApprovalEventHandler Class Methods, page 132 .

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 1

Getting Started with Approval Framework

Step

Reference

Create code to launch approvals

Create the code to launch Approval Framework. The code must extend the LaunchManager application class and at a minimum define a submit button. See Chapter 11, "Using Approval Framework Base Classes," LaunchManager Class Methods, page 106.

Create code to manage approvals

Create the code to manage the approvals using the ApprovalManager application class. See Chapter 11, "Using Approval Framework Base Classes," ApprovalManager Class Methods, page 115.

Define notifications

See Chapter 5, "Defining Notification Templates and Users for Approval Framework," Defining Notification Templates for Approval Framework, page 47. See Chapter 4, "Defining the Approval Transaction Registry," page 33. See Chapter 4, "Defining the Approval Transaction Registry," Configuring Approval Transactions, page 39. See Chapter 5, "Defining Notification Templates and Users for Approval Framework," Defining User Lists, page 52. See Chapter 3, "Setting Up Approval Framework Process Definitions," Defining the Setup Process Definitions Component, page 15. See Chapter 10, "Using the Approval Monitor," Configuring the Approval Monitor, page 94.

Create the approvals transaction registry

Configure the approval transactions

Define user lists

Set up approval framework

Configure the approval user monitor

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 2

Understanding the Approval Framework


This chapter provides an overview of the Approval Framework feature and: The Approval Framework process flow. Header- and line-level approvals. Transaction approval flows. Approval features. Tasks in the Approval Framework.

Understanding the Approval Framework Feature


Many daily tasks are part of a larger process that involves several steps and people working together. The term workflow refers to this process, which could encompass, for example, the approval of a purchase requisition or a job change request form. To facilitate this type of multiuser process, the PeopleSoft product can automatically trigger workflow notifications to inform the next approver in the process of work awaiting them. A specialized designer is available to address workflow approvals. This designer enables you to configure Approval Frameworks using existing components without writing code. Three types of users come together to set up approvals. They include application developers, functional business analysts, and users, who include requesters, approvers, and reviewers. Approval Framework brings these roles together to define an approval process workflow. Application developers set up Approval Framework using a transaction-definition component. Examples of a transaction might include a job change request or leave of absence request. Transactions are made up of an approval process, routing rules and steps, and a set of users who approve and review the transaction. Using Approval Framework, you can: Approve or deny individual line items in a transaction. Approve and deny multiple transactions one at a time. Include multiple approvers for individual steps. Assign additional approvers and reviewers during the approval process. Escalate approvals. Approve, deny, or push back approvals.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Understanding the Approval Framework

Chapter 2

Reassign approval tasks to another approver. Use worklist and email notifications.

Understanding the Approval Framework Process Flow


Approval Frameworks are triggered when requesters originate a transaction, such as a purchase requisition or a job change request, and a set of approvers carry out tasks related to the transaction. The PeopleSoft Approval Framework process is a framework that enables three levels of users to develop, configure, and use transaction approvals that meet their organizational requirements. For example, the process of submitting a job change request and getting it approved requires defining who will approve the request, the order in which they will approve it, and how it will be routed to approvers. In contrast to the standard PeopleSoft workflow, which requires advanced technical skills in PeopleSoft PeopleTools to create and maintain, the Approval Framework provides an alternative workflow that is much easier to create and maintain. For example, all of the steps in Approval Framework are defined using PeopleSoft pages rather than underlying PeopleSoft PeopleCode, so functional users can design and maintain workflow using these online PeopleSoft pages instead of requiring technical developers to create workflow rules. Many PeopleSoft products are delivered with integrated Approval Frameworks, consult your application documentation. To implement the Approval Framework process, the framework for building and interpreting workflow approvals brings together these users: Application developers Application developers adapt applications for approval with minimal coding, using a defined setup process. Making this possible is the Approval Framework, which provides a common implementation that other applications can use. Application developers integrate their applications with the Approval Framework using the Register Transactions page, where they register an application and describe its components, event handler, and records. The register stores the approval process IDs that developers create for applications. Note. The PeopleSoft product delivers the transaction registry for delivered Approval Framework processes. After an end user creates an application transaction and submits it for approval, the application hands the transaction over to the Approval Framework, which finds the appropriate approval process definition and launches the Approval Framework. Functional business analysts Functional business analysts design Approval Framework for use with an application. This includes setting up stages, paths, steps, recipients, and notifications for each approval process ID. Analysts identify the application-supplied transaction definition on which to base approval process definitions. They use the Approval Process Definition page to define processes for approving transactions. These processes can be used repeatedly to guide transactions through their approval process. Many businesses need different approval routings for different types of transactions. To support such variations, you can configure multiple approval process definitions for each transaction within an application. In addition to process IDs, approval process definitions are effective-dated.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 2

Understanding the Approval Framework

End users End users create transactions and then use an approval process with approvers and reviewers within an approval flow. Using this process, the different end users can approve or deny requests, monitor transaction statuses, and audit approvals.

Understanding Transaction Approval Flows


After an approval process is defined, validated, and made active, the system can submit a transaction for approval. Each PeopleSoft application typically has a top-level database record that distinguishes one transaction from the next. These top-level records are called header records. When a transaction is submitted for approval, the Approval Framework combines the approval process definition with the header record instance and line records, if line level approval is configured, to create a unique approval process instance. This approval process instance is routed from approver to approver, as configured in the approval process definition. Approvals use two levels of processing: header and line. Business analysts set up the approval process definition that determines the flow of the approval at both levels. The approval process consists of: Stages A stage is one part of an approval process that can contain multiple parallel paths but must be at the same header or line record level. The system executes stages in sequence where one must complete before the next one begins. A stage can be at either a header level or at a line level. Stages at a line level make it possible for approvers to sign off separately on individual line items for a single transaction. Approval Framework sees each header and each line as individual pieces. A line is a child of the header. A header stage acts on the unique header while a line stage acts on each line. A stage consists of one or more paths. Paths A path contains a sequence of steps. Within a stage, paths execute in parallel. Path entry criteria determines whether or not a path executes for a given transaction or transaction line. Steps A step represents one or more approvers or reviewers. Steps within a path execute in sequence. Separate criteria for each step determines whether or not that step executes. Each step can also have a set of reviewers. Reviewers are notified about transactions that are pending approval by email, through the worklist, or both. However, the workflow proceeds without waiting for reviewers to act. The system notifies approvers by using email, worklist, or both, of pending approval steps, which can require one, all, or a fixed number of approvers. You can specify approvers by roles, queries, fixed lists, or by using custom application classes. Once the required number of approvers have approved a step, the Approval Framework advances to the next step. If the workflow has no further steps, it advances to the next stage. Note. While the configuration may require multiple approvers to approve a step before it advances, any single approver can deny a step. The moment an approver denies a step, the transaction stops moving forward in the approval process. If the transaction is at a line level, other lines will continue to move forward. If the denial is at a header level, the approval process terminates, and the entire transaction is denied. This diagram illustrates how the approval process uses stages, paths, and steps for routing approvals:

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Understanding the Approval Framework

Chapter 2

Example Approval Framework showing stages, paths and step

In this example there are 2 stages. In stage 1 there are 2 paths. Each step within the path is executed in sequence, when the required number of approvers have approved a step, it is advanced to the next step within the path. Paths are executed in parallel. When all paths within the stage are approved, the workflow advances to the first step in the next stage.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 2

Understanding the Approval Framework

Understanding Header- and Line-Level Approvals


Many PeopleSoft transactions have a top-level record (known as a header) with keys that uniquely identify a single transaction in an application. In addition to the header record, a transaction may also contain a more detailed line level record (known as line-level). The Approval Framework process uses an application's header keys to correlate approval processes and application transactions. For example, when you open an application transaction, the Approval Framework enables you to submit the request for approval only if you haven't already submitted it. This check is possible because the system correlates the application header keys with the approval process instance keys. If a particular transaction supports line level processing, an analyst can configure the approval process so that different line-items in the same request follow different routes. You can deny some lines of the request and approve others, making line-level approvals independent for each line. For example, a request can contain multiple lines, and you might want to use special approvers for certain lines based on their area of expertise. Note. If a transaction has multiple line items, 1 of which is denied and the rest are approved, the overall transaction is approved. An Approval Framework process might have mixed header and line-level approval routings. For example, department managers might exercise budgetary control over the request as a whole, while commodity approvers still examine only those line-items which fall within their expertise. Final approval requires both types of approvers to sign off on the request. When a request is approved, the Approval Framework notifies the application, which then takes source end actions: End actions. An approval of one transaction often leads to the creation of another transaction, or triggers another business process. The Approval Framework supports this trigger by providing a call-back mechanism for event notification. For example, when a requisition is approved, it can be sourcedan action follows final approval, which is the end action. Line-level versus header-level end actions. Use line-level approvals to make it possible for an action to be taken on different line items upon their approval, without waiting for the approval of other line items in the requisition. You can source line items as soon as they are approved. This action is possible only if line-level approval routings are at the end of the process and require no further review. In this case, the application can act on the individual lines as they get approved. The Approval Framework notifies the application of significant approval-related events. Header actions allow the transaction lines to be grouped together and processed as one unit.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Understanding the Approval Framework

Chapter 2

Understanding Criteria for Approval Framework Processes


Criteria is an entity that evaluates to true or false. It uses transaction-specific information to determine if a transaction requires approvals and follows the approval paths and steps that evaluate to true. To set the context for the criteria, the approval process definition provides the transaction keys as bind values. Criteria is set up at three levels as shown in this table:
Set Up Level Description

Process Definition ID

This criteria is used to determine which Process Definition ID to use to process the approval. This criteria is used to determine if the approval will follow the path. This criteria is applied to the individual Approvers defined for the step.

Path Step

There are 3 different types of criteria you can apply to an approval process.
Criteria Type Description

Always True Application Class

No criteria is needed, the approval process will always be triggered. An application class contains the logic used to determine if the workflow approval task evaluates as true. Criteria is based on record and field combinations. The criteria can be either value or monetary-based. A logical operator and a value are used to evaluate the condition.

User Entered

Understanding Approval Features


Using a combination of features, you can create rules for different types of approvals. This section discusses: Ad hoc path approval Ad hoc review Self-approval Route to requester Skip prior path Auto approval Alternate approvers Push back

10

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 2

Understanding the Approval Framework

Approval comments

Ad Hoc Path Approval If Ad Hoc Approval Status Monitor is implemented for an approval transaction, then during the approval process, approvers can add other approvers or reviewers to the current or a later stage of the approval process. This action is called ad hoc approval, and it only applies to the approval instance in which the addition occurs and does not affect the underlying process definition used for other requests. You can insert ad hoc approvers and reviewers in serial or parallel with existing approvers: For serial approvals, each approval in the process is sequential. Users can add approvers and reviewers only after the current pending step or later. For parallel approvals, the sequence does not matter. Users can insert an ad hoc step in an ad hoc path in any currently pending or subsequent stage. You can add ad hoc approvers once the transaction is submitted. The Approval Framework launches the previewed approval process instance if requested by the application developer's code. If you have an ad hoc approver user list defined in the transaction registry, only the users within that list can be added as an ad hoc approver or reviewer. See Chapter 4, "Defining the Approval Transaction Registry," Registering Approval Transactions, page 34. Ad Hoc Review Ad hoc reviewers are users that an approver or requester would like to review a transaction. Ad hoc reviewers are notified and provided with a link in a worklist entry or email to the transaction, if the process is so configured. Ad hoc reviewers do not approve or deny transactions, they can add comments. Self-Approval A requester can also be an approver. If requesters approve their own transactions, it's called self-approval. A check box setting enables self-approval. If enabled, the requester's approval is assumed, and the process continues. However, you can establish criteria that helps control the requester's approval authority. For example, you can place a limit on the dollar amount for the requester so that if the transaction is over that amount, the requester is not used as an approver. If self-approval is not enabled, then the requester must manually approve the transaction. If self-approval is enabled, then the self-approval criteria must be specified. Then, if the requester appears as an approver, the criteria is evaluated. If the criteria are met, then the requester's approval is assumed and the minimum approvers for that step decrements by one. When a requester is an approver, you can configure the path to skip the steps in that path prior to the requester's step. Self-approval is configured at the step level.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

11

Understanding the Approval Framework

Chapter 2

Route to Requester Route to requester is a feature that informs the system that an approval should be sent to a requester. In some cases the requester may already be listed in the approval path. The flow of this option is also dependant on the self-approval feature as displayed in this diagram:

Route to requester and self-approval feature flow

If route to requester is selected, the requester must always manually approve the transaction regardless of the self-approval setting. Note. Even if the self-approval criteria is met, the requester must manually approve the transaction.

If the requester is the only approver and neither route to requester or self-approval are selected, the system will produce an error and route the transaction to the administrator.

12

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 2

Understanding the Approval Framework

If there are enough other approvers in the path and neither route to requester or self-approval are selected, the requester approval is skipped. If route to requester is not selected and self-approval is selected, the self-approval criteria is checked. If the requester meets the approval criteria, the approval is assumed and auto-approved. If the requester does not meet the approval criteria the requester approval is skipped.

Skip Prior Path When skip prior to requester is enabled, the system begins the approval flow at whatever step in which the requester is an acknowledged approver. For example, if a vice president orders supplies for herself, the system skips application approval steps leading up to the step for which the vice president is an acknowledged approver. Auto Approval When auto approval is enabled, the system remembers an approver's action for that process at the header- or line-level, and applies the same action automatically for any subsequent appearance in the Approval Framework routing. For example, if the approver approves line one and the line appears again as a required approval for the specific approver, the approval is remembered for the line. This approval does not pertain to any other line, but header approvals do imply line approval for this feature. Alternate Approvers Alternate workflow approvers are users who are assigned to receive emails and worklist notifications for the primary approver when the primary approver is not available. When you identify an alternate approver, you enter a date range during which you want the alternate to fill in. The system determines if the alternate is in place for the date range. Note. Alternate users are defined in the User Profile. Navigate to PeopleTools, Security, User Profiles, User Profile. You can also use the FindAlternate method in the EOAW_CORE:Utils class to select alternate approver. Push Back Push back is an optional feature that can be implemented in the Approval Monitor. If implemented, push back takes a currently pending step out of pending status and requeues the previous step to its approvers. The meaning of push back is that the approver is questioning the prior step's approval and is requesting clarification. Push back is only possible within a path, therefore, the first step of a path cannot push back. Note. The push back feature ignores auto self-approval. See Chapter 10, "Using the Approval Monitor," Configure Monitor Approvals, page 95.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

13

Understanding the Approval Framework

Chapter 2

Approval Comments Requesters can add comments to transactions, and approvers can associate their comments with the approval process rather than the request transaction directly. The Approval Framework Monitor provides a mechanism for associating comments with a particular approval process instance, which is tied to a particular application transaction. Approvers can view comments added by another approver, but they cannot change previous comments.

Understanding Tasks in the Approval Framework


This section details the steps to implement and use Approval Framework. It describes tasks that application developers, business analysts, and end users perform in conjunction with Approval Framework. To implement and use Approval Framework: 1. Application developers register information with the Approval Framework by using the Register Transactions page. 2. Functional business analysts define the approval process definition for an application transaction. Essentially, analysts determine the approval transaction registry entry on which the process definition is to be based and then define the details of the process. The approval process definition includes definitions of stages, paths, steps, and criteria. 3. Requesters submit a transaction for approval. This action launches the approval process. The Approval Framework reads the approval process definition and queues the transaction for approvers. 4. The system queues an approval task to an approver or reviewer using email notification, worklist entry, or both. The URL encoded in the worklist entry points to the corresponding approval component. 5. Approvers and reviewers take actions on transactions using the Approval Monitor. Reviewers may only add comments. When an error or violation of criteria or rules occurs during the approval process, the error is routed to the administrator for resolution, if there are no additional steps in the path. Note. The error conditions for static steps are no approvers or not enough approvers at a step.

14

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 3

Setting Up Approval Framework Process Definitions


This chapter discusses how to define Approval Framework processes.

Defining the Setup Process Definitions Component


Business analysts use the Setup Process Definition page to define an approval definition process. The process is made up of stages and their paths and steps. The approval steps that you place on the approval path represent the approval levels that are required for a transaction. This section discusses how to: Define Approval Framework processes. Define criteria for Approval Framework processes. Define paths for Approval Framework processes. Define steps for Approval Framework processes.

To set up approval processes, use the Approval Process Setup (EOAW_PRCS) component.

Pages Used to Define Approval Framework Processes


Page Name Definition Name
EOAW_PRCS_MAIN

Navigation

Usage

Setup Process Definitions

Enterprise Components, Approvals, Approvals, Approval Process Setup

Define approval process stages.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

15

Setting Up Approval Framework Process Definitions

Chapter 3

Page Name

Definition Name
EOAW_CRITERIA

Navigation

Usage

Criteria Definition

Click the Definition Criteria link on the Setup Process Definitions page. Click the Alert Criteria link on the Setup Process Definitions page. Click the Criteria link from the Setup Process Definitions page in the Path section. Click the Criteria link from the Setup Process Definitions page in the Steps section.

Define criteria for workflow approvals.

Notifications

EOAW_NOTIFY_DEF

Click the Definitions Notifications link from the Setup Process Definitions page. Click the Timeout Options link from the Setup Process Definitions page.

Define notification options.

Timeout Options

EOAW_TIMEOUTDEF

Define global timeout and escalation settings.

Approval Path Definition

EOAW_PATH_SEC

Click the Details link within Set up workflow approval the Paths group box on the paths. Setup Process Definitions page. Click the Details link within Define steps for workflow the Steps group box on the approvals. Setup Process Definitions page.

Approval Step Definition

EOAF_STEP_SEC

Defining Approval Framework Processes


Access the Setup Process Definitions page (Enterprise Components, Approvals, Approvals, Approval Process Setup).

16

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 3

Setting Up Approval Framework Process Definitions

Setup Process Definitions page

Business analysts use this page to define an approval definition process. The process is made up of stages and their paths and steps. The approval steps that you place on the approval path represent the approval levels that are required for a transaction. You can develop approval processes that: Meet organizational or tiered approval limits. Use parallel processing to allow multiple transaction entities to be processed at the same time. Use staged approvals that require one sequence of processing to complete before another can begin.

Typical approval processes might include: Monetary based approval criteria. Two different approvers for each step, where both approvers at a step must approve the request for it to advance to the next step. The Process ID created on the Register Transactions page. See Chapter 4, "Defining the Approval Transaction Registry," Understanding the Approval Transaction Registry, page 33.

Process ID

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

17

Setting Up Approval Framework Process Definitions

Chapter 3

Definition ID

Enter any identification code that provides meaning to you. This identifier is used as a search field on the Monitor Approvals page. Note. When upgrading from a previous release, the SetID field is used for the Definition ID.

Effective Date

Indicates the date on which this approval process became effective and ready for system use. This value applies to approval processes for a particular approval process ID and definition ID, and it includes PeopleSoft functionality associated with effective-dated entities. For instance, if multiple approval processes are active with the approval process ID, definition ID, and effective-date specification, then the system uses the most current effective dated row. Enter a description for the approval process.

Description

Clone Approval Process Click this link to clone the approval process. Approval Process Viewer Click this link to access a graphical tool, which enables you to view each stage, path, and step of the approval process. Note. An SVG Viewer is required for this feature. Note. When you are viewing the graphic tool in the Approval Process Builder page, if you elect to make changes the system will return you to the standard Approval Process Definition page. Preview Approval Process Click this link to view what a workflow instance would look like if it were running.

Definition Options This section of the page is used to define options for the approval process. Definition Criteria Click to access the Criteria Definition page, where you can define user and field criteria along with monetary and application class criteria for this process. This page works similar to the other Criteria Definition pages that are used for paths and steps, however this criteria is used to determine which Definition ID is to be used to process the Approval. See Chapter 3, "Setting Up Approval Framework Process Definitions," Defining Criteria for Approval Framework Processes, page 21.

18

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 3

Setting Up Approval Framework Process Definitions

Alert Criteria

Click to access the Criteria Definition page, where you can define user and field criteria along with monetary and application class criteria for this process. This criteria can be evaluated by applications to highlight conditions of a transaction to be approved. For example, a one-time shipping address used only on this request. Alert Criteria is not used to determine how an approval should route. It is used by the application to determine if messages (Alerts) should be displayed as part of the approval process.

Definition Notifications

Click to access Approval Framework Notifications page, where you can define notification options to the override one or more of the process definition notification options defined in the Configure Transactions component. See Chapter 4, "Defining the Approval Transaction Registry," Notification Options, page 42.

Timeout Options

Click to access Approval Framework Timeout Options page, where you can set global timeout and escalation settings at the Approval Definition level. Path level timeout settings will override the Approval Definition level settings if they differ. Select the PeopleSoft role used by workflow to route the transaction to all users filling that role in case of an error during approval processing. Note. The error conditions are no approvers or not enough approvers. See Chapter 5, "Defining Notification Templates and Users for Approval Framework," Defining User Lists, page 52.

Admin Role (administrative role )

Status

Select the current state of this approval process. The values are: Active: Indicates the approval process is available for use. Inactive: Indicates the approval process is not available for use. A transaction that has started with a specific definition continues using that definition, even if the status is Inactive.

Priority

Enter the priority for the definition. Priority 1 is the highest. When a definition is not explicitly passed to the Approval Framework by the calling application, the Approval Framework uses the Definition Level Criteria to determine which definition to use. If multiple definitions return a criteria of true, the definition with the highest priority is used. Note. Multiple Definition ID's with the same priority may result in inconsistent behavior, in the event that multiple definition ID's match.

Default Process Definition

Select to indicate that the system should use this process definition as the default when no other definition ID matches the criteria entered.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

19

Setting Up Approval Framework Process Definitions

Chapter 3

Take Action on Line Completion

Select to allow each line to continue to the next step of the approval process, with out waiting for other lines within the transaction to complete. This setting applies to approval processes that have a line-level stage at the end of the process. When this check box is selected, the approved lines of a transaction can move forward to the next approval step even though some of the lines in the transaction have not yet completed the approval process. As each line completes the approval process, the header and line status are updated immediately so that the individual line can move forward without having to wait for the all the lines of the transaction to complete workflow approval. When this check box is clear, all lines within a transaction must complete the approval process before any line of the transaction can flow to the next approval step. For example, a requisition line cannot be sourced to a purchase order until all lines of the requisition have completed the approval processing. The header and line statuses remain in a pending status until the last line of the transaction has completed the approval process. Once that last line has had an approval action made against it, then the header status is updated, as well as each line status. An approval action could be a denial as well as an approval. For example, if there are two lines on a transaction, one line is approved and the second line is denied, then the approval process is complete and the approved line can move forward to the next step.

User Auto Approval

Select to enable the system to remember an approver's action for this process. The next time this approval process is presented to the approver, the system automatically applies the approver's selections. The automatic application of steps in the process is left in place until you clear the User Auto Approval check box. This setting applies to the specific line or header the approver had previously approved in this process only. A header approval implies line approvals for all lines.

Route to Requester

Select this check box to route this approval to the requester. When this check box is selected and the requester is also an approver, the requester must manually approve the transaction, unless the minimum approvals have already been satisfied. If this check box is not selected and the requester is also an approver, the system will check is self-approval is active. If self-approval is active, the criteria will be checked. See Chapter 2, "Understanding the Approval Framework," Route to Requester, page 12.

Include Requester

Select to enable the user to insert the requester in the event the requester is not equal to the originator.

Stages This section of the page is used to define the stages. An approval process can contain multiple parallel paths but they must be at the same header or line record level. The system executes stages in sequence where one must complete before the next one begins.

20

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 3

Setting Up Approval Framework Process Definitions

Stage Number Description Level

Enter a number indicating sequence for this stage. Enter a description for the stage. Select either Line or Header.

The system executes stages in sequence where one must complete before the next one begins. A stage can be at either a header level or at a line level. Stages at a line level make it possible for approvers to sign off separately on individual line items for a single transaction. The Approval Framework sees each header and each line as individual pieces. A line is a child of the header. A header stage acts on the unique header while a line stage acts on each line. A stage consists of one or more paths. Paths This section of the page is used to define the paths for the stage. Use the Details and Criteria links to add the information for each path. See Chapter 3, "Setting Up Approval Framework Process Definitions," Defining Criteria for Approval Framework Processes, page 21 and Chapter 3, "Setting Up Approval Framework Process Definitions," Defining Paths for Approval Framework Processes, page 26. Steps This section of the page is used to define the steps for the path. Use the Details and Criteria links to add the information for each step. See Chapter 3, "Setting Up Approval Framework Process Definitions," Defining Criteria for Approval Framework Processes, page 21 and Chapter 3, "Setting Up Approval Framework Process Definitions," Defining Steps for Approval Framework Processes, page 28.

Defining Criteria for Approval Framework Processes


Access the Criteria Definition page (click a Criteria link on the Setup Process Definitions page).

Criteria definition page

Use this page to define the different types of criteria you want to apply to an approval process. You can create definitions consisting of a field with a logical operator and a value of definitions consisting of an application class that takes in transaction data to process the approval.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

21

Setting Up Approval Framework Process Definitions

Chapter 3

Criteria Type

Select one of these options: Always True informs the system to trigger this approval process. No criteria is needed. The system will only follow paths that evaluate as true. Application Class requires you to define which specific application class the system uses to determine if the workflow approval task evaluates as true. Note. Use the Application Class criteria type when the user entered criteria does not contain the necessary level of detail. User Entered requires you to enter all record and field combinations, either value- or monetary-based, that will trigger the workflow to evaluate as true.

Application Class Criteria Use this section to assign application packages as criteria for the approval process definition. When you define a class, the system uses it along with other criteria you enter to process the approval.

Criteria Definition page showing criteria type Application Class

Root Package ID

Select the primary application package. This selection is the parent class for other packages or for child application classes. Select a path that describes a specific class within the root package.

Application Class Path

User Entered Criteria Use this section to define additional criteria for the approval.

22

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 3

Setting Up Approval Framework Process Definitions

Criteria Definition page showing criteria type User Entered

Description

Enter purpose of the alert. For example, if you are using a one-time ship-to address, create a description that indicates that a one-time ship-to address is attached to the requisition.

All Criteria Needed to Satisfy

Select to indicate that all criteria defined on the Criteria Definition page must be met in order to trigger the workflow to evaluate as true.

Field Criteria Use this section to select a record and field on which to control and filter ranges of data or types of data placed in the file you want to use in the approval process. Record Name Select a record that you want to use in defining approval criteria. For example, if you are indicating a one-time address, identify PO_ADDR_REQ_VW as the record. Field Name Select a field you want to use to define approval criteria. The values you define in the remaining field criteria grid are those that are used in determining the approval criteria.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

23

Setting Up Approval Framework Process Definitions

Chapter 3

Criteria Operator

Determines the action the system applies to the criteria you enter in the Value fields. These operators are available: Between: Use only values between the two values you enter as criteria. Equals: Use only values equal to the entered criteria. Greater Than: Use values equal to or greater than the entered criteria. Is Blank. Is Not Blank. Less Than: Use any record value that is less than the value entered in the Operator Criteria field. Not Equal To: Use any record value that is greater than or less than the entered criteria.

Value

Use the two Value fields to define a range upon which you want the operator criteria to evaluate. The second value is only used when the Criteria Operator evaluates using Between.

Monetary Criteria Use this section to establish approval criteria for requisition amounts. The system uses the values you define to determine the routing for approving the requisition. When the system evaluates the criteria for an approval process or a step or path within the process, it uses monetary values you define in this section.

24

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 3

Setting Up Approval Framework Process Definitions

Criteria Definition page showing criteria type User Entered for monetary amount

The system uses values from fields in this section in conjunction with the Operator field to determine whether to run a step. Amount Record Select the record name containing the amount in the original transaction to be used when comparing the minimum amount required to trigger the step. Select the field within the amount record to be used when comparing the requisition to the minimum amount required to trigger the step. The system uses the value you select to evaluate the Amount field. Select the currency field that corresponds to the currency code you select in the Currency Code field. Select a value that determines how the system processes the values in the Amount fields. Values include Between, Greater Than, and Less Than.

Amount Field

Currency Field

Operator

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

25

Setting Up Approval Framework Process Definitions

Chapter 3

Amount

Use the Amount fields to define an amount range for use with the Operator field. In the first field, enter the minimum amount required on the transaction in order to trigger the step. The system identifies all lines in the transaction that meet the criteria defined in the Amount Record and Amount Field fields. The amounts on these lines are totaled based on the Amount Record and Amount Field specified. If the requisition total is higher than this minimum amount, the criteria is met. If no amount is specified, zero is considered the minimum. Note. If you select Operator with a value of Between, a second Amount field becomes active.

Currency Code Rate Type

Select the monetary unit you want to use for the approval. Select how the system arrives at the currency value, such as the current rate or a financial rate.

Defining Paths for Approval Framework Processes


Access the Approval Path Definition page (click the Path Details button or the Details link on the Setup Process Definitions page).

Approval Path Definition page

Use this page to set up additional parameters that determine how the system processes an approval path. Use the escalations feature to define time elements for when an approver takes too long to approve or deny a pending request.

26

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 3

Setting Up Approval Framework Process Definitions

Criteria

Click to access the Criteria Definition page where you can define user and field criteria along with monetary and application class criteria. Displays the path name that you are creating or updating. The path provides the sequence of approvers of a request, usually from a single reporting (or other) hierarchy. Static: Select this source to indicate that you want the system to use the individual user-defined steps when it processes an approval. Dynamic: A dynamic path definition contains only one step. When begun, the single step definition could yield any number of instances in sequence. When using the Dynamic source, the system uses the user list on the step definition to initialize the steps in the path. The single step definition is repeatedly run, until the step's user list returns no more approvers. All these instances are queued in sequence. See Chapter 5, "Defining Notification Templates and Users for Approval Framework," Defining User Lists, page 52.

Approval Path

Step Source

Notify Admin on No Approvers (notify administrator on no approvers)

Select to indicate that the administrator is to be notified if the system does not find an approver for the path. This option is only available when the selected step source is Dynamic. Note. This is the default behavior for static paths.

Skip Prior Steps for Requester Check Authorization

Select to indicate that if one of the approvers in this path is also the requester, then the system is to skip all steps in this path prior to that approver's step. This option is only available when the selected step source is Dynamic. Select to bypass the existing criteria and use the Authorize Approvers component and criteria definitions. Check Authorization enforces an exit point for dynamic paths.

Skip Unauthorized Users

This option is only available when the selected step source is Dynamic. Select to bypass an approver that is not qualified to approve the transaction. and exits when an approver is qualified to approve a transaction. For example, if the first approver can approve transactions less than 500 and the second approver can approve transactions less than 5000 and the transaction is for 675, the first approver would be skipped and the transaction would go directly to the second approver. Since the second approver is qualified, no further approvals are necessary.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

27

Setting Up Approval Framework Process Definitions

Chapter 3

Timeout Options Escalate Option Advanced Approval: Skip the current approver. Advance Approval will not advance if it is on the last step of the last stage. Notify Participant: Sends an email, or whatever notification is defined in the transaction registry, to the individual. Reassign Approval: Reassigns to a user ID or a user list. Note. If you select Advanced Approval and defined a User List, a notification is sent to the user list members. Hours Enter the number of hours a transaction can remain at one workflow step before being escalated. This field is combined with number of days to determine the total time an approver has to take action on an approval request. Enter the number of days a transaction can remain at one workflow step before being escalated. This is the length of time an approver has to do something such as approve or deny a transaction. If you have selected Reassign as the option, you can enter a user name or a specific user list. Note. A user list will reassign to the first user in the list that does not match the current user. User List Use Proxy Select the list of users the workflow should be routed to. Select this check box to indicate that the escalation should be routed from the perspective of the current approver (proxy). If the check box is not selected, the escalation is routed from the perspective of the original approver (delegator).

Days

Reassign To

Defining Steps for Approval Framework Processes


Access the Approval Step Definition page (click the Details link within the Steps group box on the Setup Process Definitions page).

28

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 3

Setting Up Approval Framework Process Definitions

Approval Step Definition page

Use this page to set up additional parameters for the step definition. Criteria Click to access the Criteria Definition page, where you can define field criteria along with monetary and application class criteria. Click to access the Criteria Definition page, where you can set up self-approval criteria for a user, including field criteria and monetary and application class criteria. Displays the sequence number in which the approval is routed. Each step typically represents a routing to an approver. However, it is possible to route to multiple approvers or reviewers within a step. Select the type of approver you want to use for this step based on the user list. In addition to a User List, a role can be added to check for additional authorization checking. Select a role that specifies the authority that a user has. The Approval Framework filters approvers returned by the user list for this role. It also enforces the role at the time the approver acts. If the role assignment changes, such as the approver is no longer in the role, the approver is blocked from acting on the requisition.

Self-Approval Criteria

Sequence Number

Approver User List Approver Role Name

All Approvers Required Select to indicate that all approvers at this step are required to approve the transaction at this step. You can select to have all approvers or some approvers approve the transaction at this step.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

29

Setting Up Approval Framework Process Definitions

Chapter 3

Some Approvers Required

Select to indicate that it's not required for all approvers to sign off on a transaction. If you select this option, you can define the number of approvers required in the Number of Approvers Needed field. Note. After the number is met, the approval advances to the next step.

Number of Approvers Needed

Enter the minimum number of approvers you want to sign off for a requisition at this step. When an approval process is launched and this number can't be met, the system notifies the approval Admin Rolename. Select to indicate that requesters can also approve their own requisition. This setting only applies if the requester also appears as an approver in the step. You can establish criteria that controls the requester's approval authority by using the Self-Approval Criteria link. If the associated criteria evaluate to true, then selfapproval is acceptable. For example, you can place a limit on the dollar amount for the requester so that if the transaction is over that amount, the requester is not used as an approver. If you select self-approval and the criteria is not met, the Approval Framework requires that there be at least one more step after this one in the path. This does not apply to ad hoc steps. Clearing the check box means that self approval is never acceptable. Note. If the criteria is not met and no later step exists, the system inserts an additional step. This selection is then routed to the administrator.

Self Approval

Route to Requester

Select this check box to route this approval to the requester. When this check box is selected, the requester must always manually approve the transaction. Route to requester works in conjunction with the self-approval flag. See Chapter 2, "Understanding the Approval Framework," Route to Requester, page 12.

External Approver

Select to indicate that an external approver is supplied the email information. This feature is used to notify someone that is not part of the Employee Portal. Note. Notification information for the external approver must be set up on the Configure Transaction page. See Chapter 4, "Defining the Approval Transaction Registry," Configuring Approval Transactions, page 40.

Filter Requester

This check box is only visible if Route to Requester is not selected. When this check box is selected, requester's user Id is filtered from the result set whenever it is encountered. Select the type of reviewer you want to use for this step. Use a user list to map users to certain functional roles. The system then uses the list and its users to run automated business processes. The list defines the user sources who can be used in approval and review steps.

Reviewer User List

See Chapter 2, "Understanding the Approval Framework," Understanding Approval Features, page 10.

30

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 3

Setting Up Approval Framework Process Definitions

See Also Enterprise PeopleTools 8.51 PeopleBook: Workflow Technology, User List Roles

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

31

Chapter 4

Defining the Approval Transaction Registry


This chapter provides an overview of the approval transaction registry, lists prerequisites, and discusses how to: Register approval transactions. Configure approval transactions.

Understanding the Approval Transaction Registry


The approval transaction registry is the interface application that developers use to register an application with the Approval Framework. Transactions that require approvals are candidates for being linked to Approval Framework. You use the Register Transactions page to link the components, event handler, records, and classes that you created into the approval process for an application transaction, such as a requisition or purchase order. Application developers register the main records and components that make up the transaction, then functional business analysts select the approval transaction on which to base the approval process definition. Note. Any PeopleSoft delivered approvals will already have the Approval Transaction Registry populated. No additional configuration is typically needed.

Prerequisites
Before defining the transaction registry: 1. Create a Transaction Handler Application class that extends an approved event handler class delivered by Approval Framework. 2. Create transaction data sources, as needed. 3. Create views on transaction tables that will serve as criteria sources.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

33

Defining the Approval Transaction Registry

Chapter 4

Setting Up the Transaction Registry


Use the Register Transactions component to register an approval transaction. The transaction definition is the metadata that describes the transaction setup to the Approval Framework.

Page Used to Set Up the Transaction Registry


Page Name Definition Name
EOAW_TXN

Navigation

Usage

Register Transactions

Enterprise Components, Approvals, Approvals, Transaction Registry

Register the approval transaction.

Registering Approval Transactions


Access the Register Transactions page (Enterprise Components, Approvals, Approvals, Transaction Registry).

Register Transactions page (1 of 3)

34

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 4

Defining the Approval Transaction Registry

Register Transactions page (2 of 3)

Register Transactions page (3 of 3)

Application developers use this page to register a PeopleSoft application, such as eProcurement or job offer, with the Approval Framework. Using this page, you can define how the system interacts with portions of the application that you have defined for approvals. The transaction definition is the metadata which describes the transaction make up to the approval framework. In some cases, you might add a transaction to enhance an existing transaction or make changes to a transaction. Use this page to define: Worklist approvals. Approval event handler class. Transaction approval levels.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

35

Defining the Approval Transaction Registry

Chapter 4

Email notifications. Ad hoc approver class logic. Enter a name the system uses to track this Approval Framework process for a transaction. You can also enter a description for the approval process. Select the PeopleSoft application to which this object belongs. Select the table used to manage application specific transaction records and associate them with the approval process run time instances. Each time a request launches an approval process, the system tracks the process by the header and line-level records of the application. To relate the approval process instance to the transaction instance, the cross-reference table holds the correspondence. For a given application transaction record, this cross-reference information helps you determine the pending Approval Framework process and to define to the application which transaction is being approved or denied. Application developers must create a record containing the applications keys, and include the Approval Framework-supplied subrecord EOAW_XREF_SBR. Developers must also build the underlying table.

Process ID

Object Owner ID Cross Reference Table

Worklist Prefix

Enter a prefix to identify the worklist to a specific application. Every application using the Approval Framework shares the same business process and activities, which can cause a problem identifying specific worklist instances. This prefix will allow worklists to be sorted by application. The prefix should be used: If Enterprise Portal is used and users have worklist items from multiple applications. For example Expenses and HCM in the same portal. If the application creates dashboards, the dashboard needs to be able to differentiate between the different application's approvals.

Notification Options Identify whether you will be using email or worklist notification, or both. Enable Notifications Determine what type of notifications your company will use. The options include: Notification Strategy Disable Email and Worklist Email Notification Only Enable Email and Worklist Worklist Notification Only

It allows the email to be processed immediately (Online Processing) or offline (Offline Processing) through NEM (Notification and Escalation Manager). Defines that you are going to use email approvals with workflow.

Use Email Approvals

36

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 4

Defining the Approval Transaction Registry

Form Generator Package Root Form Generator Class Path

This package root reads the threads provided by the Form Generator Class, and creates a form from an existing email collaboration definition. Calls the From Generator Class which receives a list of threads to be approved and a language code. This class returns a runtime class, which will add the appropriate recipients and send the emails.

Internal URL Definition Use this section to define the internal URL to identify the URL base, portal and node. Internal URL is used to send email to a user either in batch or Integration Broker process. When the process is run online, the built-in properties %Portal and %Node are used. External URL Definition Use this section to define the external URL to identify the URL base, portal and node. External URL is used to notify any step that has a been set to External. Default Approval Component Identifies the default component that users should go to when selecting a worklist entry. Menu Name Select the menu name that contains the component you want to register for the Worklist. Select the component on which the approval is going to be based.

Approval Component

Approval Event Handler Class Use this section to define the application class used to monitor events for this transaction. Each time an event occurs, the Approval Framework notifies the application. For applications to receive the notifications, application developers must extend the event handler class, ApprovalEventHandler. When a transaction results in an action from the Approval Framework, the event handler class you specify how to proceed with the transaction. The event handler base class defines the handler methods that you can override by extending classes. The extending class must have a no-argument constructor, since the system instantiates the class with no arguments. This table explains some of the various event handler methods for which the system passes arguments to provide the specific context for each event, and gives examples of how an application, in this case PeopleSoft eProcurement, may act:

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

37

Defining the Approval Transaction Registry

Chapter 4

Event

Parameters

Possible Application Actions

PROCESS_LAUNC HED

1. Header record 2. Approval Process


Instance

Disable edits of the application transaction. Display status information.

HEADER_DENIED

Header record

Delete transaction. Disable resubmission. Log the event on the transaction, possibly highlighting previous denial if the system allows resubmission.

LINE_DENIED

Line-level record

Deduct the line amount from the header, and delete or otherwise deactivate the line item.

HEADER_APPROV ED

Header record

Source the transaction if it's a requisition. Reimburse the employee if it's an expense report.

LINE_APPROVED PROCESS_TERMIN ATED

Line level record Header record

Source the line item if it's configured for sourcing. Log the event on the application, possibly highlighting changes since the previous submission. This might be useful for approvers who acted on the previous submission of this request. Note. The system calls this method only if the last stage is at the line-level, and the analyst has configured the process to trigger LINE_APPROVED end calls as individual lines are approved. The action the system takes depends on how the application developer defines the line sourcing. If the lines are sourced as they are approved, then nothing has to be done when all the lines are processed. This event is distinct from HEADER_APPROVED, and having a distinct notification simplifies the process.

ALL_LINES_PROC ESSED

Header record

Root Package ID

Select the parent application class through which events are exposed. This defines the action to take based on events. Select a path that uses a specific class within the root package.

Path

See Enterprise PeopleTools 8.51 PeopleBook: PeopleCode Developer's Guide. See Chapter 11, "Using Approval Framework Base Classes," page 105. Approval Status Monitor Use this section to control how the system processes ad hoc approvers. Any approver can add or remove ad hoc approvers.

38

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 4

Defining the Approval Transaction Registry

Adhoc Package

Select the ad hoc application class package that you want to use for ad hoc approvals. Select the ad hoc application class path. Adding approvers and reviewers is handled by the class you define here. If no class is specified, then the system default class is used. If the transaction has further restrictions an application developer needs to create a class that will be defined here. The package here defines how the transaction details are displayed in the system in the status monitor. Behind the scene approvals are defined with a sequence number, this allows for a user friends display. Important! Leave this field blank if the transaction is set up on the Configure Transactions page to send notifications to participants with a URL pointing to an alternate page other than the default destination (as specified in the Events section). For example, you might configure the transaction to generate a URL within each notification that takes an approver to the default component page to approve or deny any given request, and generate another URL for other participants to access a separate page (as specified for that group of users in the Notifications section) and perform other actions pertaining to the request. To ensure that the URLs are created correctly for all approval participants, do not enter a thread package.

Adhoc Class

Thread Package

Thread Class

Enter the specific class within the thread description package and the worklist description that sets the display details.

Transaction Approval Levels Use this section to define if the transaction is to be approved at the header or line level and what level the application supports. Level Select Header or Line, which determines the levels that are enabled by the application for approvals. The first row will always be the header level. Select the database table that represents this transaction level.

Record (Table) Name

Level Record Key Field Use this section to identify the label IDs that are used when viewing the Monitor Approvals page. All key field names appear for each record (table) name that is Label IDs listed.

Configuring Approval Transactions


Use the Configure Transactions page to select and define elements that determine what triggers a notification, who receives the notification, and the content of the notification. Notifications are mapped to work with the approval transaction registry and include menus and components and SQL definitions.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

39

Defining the Approval Transaction Registry

Chapter 4

Page Used to Configure Approval Transactions


Page Name Definition Name
EOAW_TXN_NOTIFY

Navigation

Usage

Configure Transactions

Enterprise Components, Approvals, Approvals, Transaction Configuration

Use the Configuration Transactions page to configure how the system uses the particular implementation of approval triggers.

Configuring Approval Transactions


Access the Configure Transactions page (Enterprise Components, Approvals, Approvals, Transaction Configuration).

40

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 4

Defining the Approval Transaction Registry

Configure Transactions page

Use this page to select and define elements that determine what triggers a notification, who receives the notification, and the content of the notification. Notifications are mapped to work with the approval transaction registry and include menus and components and SQL definitions. The events for which the system sends notifications include: Launch of the approval process on a transaction. Queue of approval step to an approver. Queue of a review step to a reviewer. Denial of a line or header.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

41

Defining the Approval Transaction Registry

Chapter 4

Approval of a line or header. Completion of the approval process.

Recipients of notifications include requesters, approvers, and reviewers, who can receive their notifications through either worklist entries or email notification. When using email notifications, business analysts must create email templates. Ad Hoc Approver Options Approver User Info View Provides details about which view a user sees when using the Approval Monitor. Note. Data in this view dictates what is displayed in the approver links. Ad Hoc User List This is a filter used to display only a list of users who can be ad hoc approvers.

Notification Options This section appears when the Use Email Approvals check box is selected for the Process ID on the Register Transactions page. Send Email Approvals to All Email Approval User List Select to send email notifications to all approvers. Specify exactly which users should be allowed to do their approval by using email. Note. If the user receiving the notification also falls into the email approval user list, then they receive an email approval rather than a standard email notification. Delivery Method Define whether you wish the users to receive their email approvals as text within the email, or as attachments. Selecting this check box informs the system that you want it to verify the security of the person the notification is sent to. Note. This security check is only performed on new approvals.

Perform Sent-To Security Check

User Utilities User Utilities are the mechanism that the user changes to modify the behavior of delegation and reassignment. User Utilities Package User Utilities Path Select the parent application class through which alternate users are selected. Select a path that uses a specific class within the root package.

42

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 4

Defining the Approval Transaction Registry

Events Use the events section to define event parameters to trigger workflow notification. Level Select Header or Line to determine the level at which you want a notification sent for an event. For each of these events to be notified, you must select the level of the transaction. Select the event for which you want to send a notification. The approver is always notified of an event. The requester and the system administrator is notified when an error occurs. Event values include: Ad Hoc Delete Ad Hoc Insert Hold Step Locked Out No Approver Necessary On Error On Escalate On Final Approval On Final Denial On Process Launch On Reactivate On Reassign On Step Complete On Terminate Processing Complete Push Back Request Information Request Information Added Route for Approval Route for Review Note. Lock Out, On Error, On Escalate, On Process Launch, and Processing Complete are for header level only. Menu Name Select the menu name that contains the component you want the notification recipient to link to. This identifies where the person should go upon notification. If you do not enter values, the recipient is sent to the same menu and component that is defined for the Worklist Approval component. Select the component you want to make available to the notification recipient.

Event

Approval Component

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

43

Defining the Approval Transaction Registry

Chapter 4

Page Name

The page defined is the page approvers are redirected to from the URL sent within the email notification. This is the action of the page users see when directed to the page from the URL sent within the email notification.

Menu Action

Select the SQL definition identifier you want to use to get content for the email. SQL Object Identifier The SQL must accept bind inputs equal to the number of keys at the notification (structured query language object identifier) level. For example, header or line keys.

Notifications Use the Notifications section to define who to notify and how to notify them in addition to the defaults determined in the Events section of this page. Participant Define the user who is notified when this event takes place. Channel A-Delegate: the approver that the approval was originally assigned to. A-Proxy: the approver who performed the actual approval. Admin Approvers Dynamic External R-Delegate: the person who created the request for someone else. R-Proxy: the person who requested the transaction to be created. Requester Reviewers User List

Defines how the participant will be notified. Values are: Both Email None User Worklist

Note. Routing preferences can also be set up in PeopleTools, Security, User Profiles, Workflow. From there you have two options. You can select Worklist User and or Email User.

44

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 4

Defining the Approval Transaction Registry

User List

Select either Dynamic or User List as the participant. The option becomes active when you select one of these values. Select the generic template you want to use for the email content of this notification. You define the contents of the email using the Generic Template page. See Chapter 5, "Defining Notification Templates and Users for Approval Framework," Entering Generic Template Definitions, page 47.

Template Name

Menu Name, Approval Comment, Page Name, Menu Action, and SQL Object Identifier Number of Hours Max Notification (maximum notification)

All of these fields have the same definition as the corresponding fields in the Events section of this page.

Enter a number that determines how many hours between notifications. Enter a number that determines the maximum number of notifications sent. If the approver does not take action, an escalation is sent to the administrator.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

45

Chapter 5

Defining Notification Templates and Users for Approval Framework


This chapter discusses how to: Define notification templates for Approval Framework. Define users for Approval Framework.

Defining Notification Templates for Approval Framework


This section discusses how to enter generic template definitions.

Pages Used to Define Notification Templates for Approval Framework


Page Name Definition Name
WL_TEMPLATE_GEN

Navigation

Usage

Generic Template Definition

PeopleTools, Workflow, Notifications, Generic Templates PeopleTools, Utilities, Administration, URLs

Enter generic template definitions.

URL Maintenance

URL_TABLE

Use this page to identify the URL that the notification process places within the email. The user then uses this URL to navigate back into their system to perform the required task. Note. An example of the format to use is http://servername/psp/empl oyeeportaldomain/.

Entering Generic Template Definitions


Access the Generic Template Definition page (PeopleTools, Workflow, Notifications, Generic Templates).

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

47

Defining Notification Templates and Users for Approval Framework

Chapter 5

Generic Template Definition page

You use generic templates to establish common formats for ad hoc notifications. For approvals, the first bind variable is used to store the URL that appears in the email. See Also Enterprise PeopleTools 8.51 PeopleBook: Workflow Technology, Using Notification Templates

Defining Users for Approval Framework


This section discusses how to:

48

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 5

Defining Notification Templates and Users for Approval Framework

Attach workflow roles to users. Define workflow for user profiles. Define user lists.

Pages Used to Define Users for Approval Framework


Page Name Definition Name
USER_ROLES

Navigation

Usage

User Profiles - Roles

PeopleTools, Security, User Attach workflow roles to Profiles, User Profiles, users. Roles PeopleTools, Security, User Define workflow for user Profiles, User Profiles, profiles. Workflow Enterprise Components, Define user lists. Approvals, Approvals, User List Setup

User Profiles - Workflow

USER_WORKFLOW

User List Definition

EOAW_USER_LIST

Attaching Workflow Roles to Users


Access the User Profiles - Roles page (PeopleTools, Security, User Profiles, User Profiles, Roles).

User Profiles - Roles page

Use this page to attach workflow roles to users. A role is a class of users who perform the same type of work, such as clerks, buyers, or managers. A role describes how people fit into workflow. Role user IDs determine how to route worklist items to users and how to track the roles that users play in the workflow.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

49

Defining Notification Templates and Users for Approval Framework

Chapter 5

Role Name

Select a role to assign to this user. Role users are the people who participate in automated business processes. Appears if the definition of this role is dynamic. This value is driven by PeopleSoft PeopleCode. Dynamic users can obtain membership in a role programmatically. You can run a batch process that executes predefined role rules and assigns roles to user profiles according to these rules. This approach is called dynamic membership, and users who become role users of a particular role programmatically are dynamic role users. Static role users, on the other hand, obtain their membership through an administrator adding a role to their user profile manually.

Dynamic

Route Control

Select to access the User Route Control Profiles page, where you can select a route control profile for the workflow. The PeopleSoft Workflow Administrator enables you to define route controls. For example, suppose you want to route requisitions to different buyers, depending on which vendor supplies the ordered items, which business unit is requesting the items, and which department needs the items. You can define a route control for each factorvendor ID, business unit, and departmentand specify a range of values for each buyer. Note. Not used with eProcurement Approval Framework.

View Definition

Select to access the Roles - General page, where you can change the role name definition. You can also view the user ID of the role member to ensure that you selected the appropriate definition for inclusion in the role.

See Also Enterprise PeopleTools 8.51 PeopleBook: Security Administration, Administering User Profiles

Defining Workflow for User Profiles


Access the User Profiles - Workflow page (PeopleTools, Security, User Profiles, User Profiles, Workflow).

50

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 5

Defining Notification Templates and Users for Approval Framework

User Profiles - Workflow page

Use this page to define alternate users who are part of the workflow process. You can define alternate users to handle approvals during the absence of the primary approver and supervisor. Alternate User ID Select a user to receive worklist items when this user ID is temporarily unavailable. The system automatically forwards new work items for whoever is assigned as the current role user to the alternate role user. The system doesn't reassign items already in the user's worklist. Enter a date range when the current user ID is not going to be available. The system uses these values to forward routings to the alternate user. Select the user ID of this user's supervisor. The system uses this value when forwarding information to the user's supervisor and uses the PERSONAL_DATA record to determine the supervisor. Note. If you're using PeopleSoft Human Capital Management (PeopleSoft HCM) applications, this field shouldn't appear. If it does, you must set your workflow system defaults. Worklist User Select to indicate that this role user can receive approval routings. Clear the check box if the user is not a PeopleSoft user. You can select Worklist User, Email User, or both. Select to specify that this role user can receive email. Clear the check box if email is not available. This option is not used in Approval Framework. It will reassign the worklist, but not the underlying data in Approval Framework.

From Date and To Date

Supervising User ID

Email User

Reassign Work To

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

51

Defining Notification Templates and Users for Approval Framework

Chapter 5

Defining User Lists


Access the User List Definition page (Enterprise Components, Approvals, Approvals, User List Setup).

User List Definition page

Use this page to define user sources for use with steps in the approval process. The PeopleSoft product delivers a set of default user list roles corresponding to the roles within an organization. When you select a user list source type, you must also select a corresponding value. You can add a new user list or change a current list. Note. You can only select one user list source for a user list. Note. The SQL Definition, Query, and Application Class user list sources are dynamic, and can use input values to help identify users. Role Select to use a role as the source for this user list. A role is a list of users who perform the same type of work, such as buyers or managers. Each role has a set of parameters that determine the limits of the role in the organization and in the workflow process. Select to use an SQL definition as the source for this user list. The SQL must return OPRID field.

SQL Definition (structured query language definition)

52

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 5

Defining Notification Templates and Users for Approval Framework

Query

Select to use a query as the source for this user list. When a source is defined as a query, the system determines who should receive a work item based on the field values on the page that triggers the routing. Select to use an application class as the source for this user list. When you select an application class, the system passes the originator of the transaction and then determines the approver for that originator. For subsequent approval steps, the system passes the approver from the previous step.

Application Class

Include Users as Input

Select to indicate that the system uses the originator of a transaction as the first step in each path. For subsequent steps in each path, the system uses the approver from the previous step. This field is not available when the User List Source is User List.

Transaction Keys as Input

Select to have the system base the approval routing on transaction keys. Transaction keys are key fields in a database table. System actions depend on the approval level at which a user list is being used. If the approval is at the header level, the system uses transaction record keys from the header record. This field is not available when the User List Source is User List.

User List Attributes

This section is only available when the User List Source is Application Class. Note. UserList Attributes are used for application class User Lists and Route Control is used for role based user lists.

Route Attributes If User List Source is Role, the Route Attributes section is displayed. This option enables the Route Control filters. Route Control Profile Record Name Select the route control profile to use. Record the user passes in that stores the values used in the route control. Note. Route control checks against fields, Approval Framework needs to know which record contains the field. Route Control Type Route control attribute. Note. Route control attribute is defined on the User Profile Roles page in the route control link. Field Name See Also Enterprise PeopleTools 8.51 PeopleBook: PeopleCode Developer's Guide Field on the record mapped to the attribute.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

53

Chapter 6

Defining Dynamic Approvals


This section provides overviews of dynamic paths and dynamic approval authorizations and discusses how to: Define user lists for dynamic authorizations. Set up approval authorizations. Define dynamic approval paths.

Understanding Dynamic Paths


To use dynamic approvals, create one approval step that determines a list of approvers without setting up every step individually within the path. Workflow processes are defined in stages, paths, and steps. The system looks at the stage to determine if the trigger for the workflow is recognized at the header or line level. Within each stage, there is a minimum requirement of one path. The path contains steps, which define the workflow triggers and the action to take if the criteria is met. Without dynamic paths, the administrator creates a step for every possible approver. With dynamic workflow, the administrator creates a single path where the system uses a user list for the approval hierarchy. Note. When self-approval is used and the transaction creator is on the list of authorized approvers, that role is counted as one approval. See Also Chapter 5, "Defining Notification Templates and Users for Approval Framework," Defining User Lists, page 52

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

55

Defining Dynamic Approvals

Chapter 6

Understanding Dynamic Approval Authorizations


PeopleSoft Enterprise applications can define Approval Framework paths to be either static or dynamic. Static path approvals define every approval in step-by-step fashion. Dynamic approvals enable you to create a single step that systematically identifies every potential approver, searches to find out if that approver has enough authority to complete the approval, and creates a visual path for users to view of all necessary approvers in the process. You can configure a dynamic path allowing supervisor roles to approve or deny a transaction, and stop the approval path when the system has determined that all criteria has been satisfied. The administrator creates a user list that the system uses to select the appropriate supervisory approvers for a transaction and then checks for authorization. The dynamic path takes the prior approver into consideration. To configure the dynamic approval authorization, the administrator must: Define user lists. Create an approver authorization. Define a dynamic approval path.

Two keys to creating approval authorizations for dynamic paths are the system's ability to: Check authorizations. Skip unauthorized users.

The system looks at the user list and the approval authorization to determine which users are required to complete the authorization. The system displays the non-required users as a skipped step instead of a pending step in the event that Skip Unauthorized is selected. This diagram illustrates an example of a workflow routing setup for the standard method and a workflow routing that skips unauthorized users:

56

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 6

Defining Dynamic Approvals

Example of Skip Approval scenario

In the example, the criteria for the workflow approval path is set up for Chris Baker to have approval authority for less than 1,000.00 USD, Patrick Sanchez to have authority for less than 5,000.00 USD, VP to have approval for less than 25,000.00 USD, and CEO to have approval for a requisition equal to or more than 25,000.00 USD. Kelly Jones creates a requisition for 10,000.00 USD. If the system is not set up to skip unauthorized users, the system displays Chris Baker, Patrick Sanchez, and the VP as pending steps in the approval path. If the system is set up to skip unauthorized users, the system displays the approval path with the VP as the only listed approver, and will display Chris Baker and Patrick Sanchez as skipped.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

57

Defining Dynamic Approvals

Chapter 6

See Also Chapter 5, "Defining Notification Templates and Users for Approval Framework," Defining User Lists, page 52

Understanding Approval Authorizations


You can identify the approval authorization by role or user in conjunction with a dynamic step. To accomplish this, the Approval Framework selects the appropriate supervisory approver from the user list and verifies that the approver meets the criteria for authorization. You establish approval authorizations for each transaction. The authorization can accommodate approvals by role or user ID. You can set authorization across Definition IDs, which are defined on the Setup Process Definition page. For each authorization, the system checks the specific user ID to see if that individual can authorize the transaction. If found, it checks the authorization criteria. If criteria are met, the user has authorization. If no authorization is found for a specific user ID, then the system looks for role-based authorizations using the approval hierarchy. For approval hierarchy, the system first looks for authorization by Definition ID. If no authorization is found, the system then seeks authorization for rows without a Definition ID. If no authorization approval criteria is matched, the system process is deemed Not Authorized. You can establish dynamic authorizations for either the header or line level, but not both. When workflow is initiated for a change order or requisition, the system compares the approval authorization data to the user list to verify the approval process. To verify the approval, the system: 1. Checks the user list and assigns the first approver to the first user that is returned. 2. Looks at the roles that are established for the user ID. 3. Identifies the approval limits that are set for that user ID. 4. Routes the requisition status to the first approver if the amount is satisfied for the requisition and the approver list is complete. 5. Continues to look for additional approvers until all conditions are met. 6. Routes the approval to the administrator if the approver criteria is never met. See Also Chapter 5, "Defining Notification Templates and Users for Approval Framework," Defining User Lists, page 52

58

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 6

Defining Dynamic Approvals

Defining Dynamic Approvals


This section includes: Define user lists for dynamic authorizations. Setting up approval authorizations. Define dynamic approval paths.

Pages Used to Define Dynamic Approvals


Page Name Definition Name
EOAW_AUTH

Navigation

Usage

Approval Authorization

Enterprise Components, Approvals, Approvals, Authorize Approvers

Authorize roles and approvers for dynamic paths.

Criteria Definition

EOAW_CRITERIA

Click theCriteria link on the Define criteria for the Approval Authorization workflow approver. page. Enterprise Components, Approvals, Approvals, Approval Process Setup Define approval process stages.

Setup Process Definitions

EOAW_PRCS_MAIN

Approval Path Definition

EOAW_PATH_SEC

Click the Path Details Set up workflow approval button or the Details link on paths. the Setup Process Definitions page. Enterprise Components, Set up list of users for Approvals, Approvals, User workflow approval. List Setup PeopleTools, Security, User Set up user IDs and assign Profiles, User Profiles, roles. General

User List Definition

EOAW_USER_LIST

User Profile - General

USER_GENERAL

Defining User Lists for Dynamic Authorizations


Access the User List Definition page (Enterprise Components, Approvals, Approvals, User List Setup).

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

59

Defining Dynamic Approvals

Chapter 6

User List Definition page

See Also Chapter 5, "Defining Notification Templates and Users for Approval Framework," Defining User Lists, page 52

Setting Up Approval Authorizations


Access the Approval Authorization page (Enterprise Components, Approvals, Approvals, Authorize Approvers).

60

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 6

Defining Dynamic Approvals

Approval Authorization page

If you don't specify a Definition ID, the authorization is generic. To create an approval authorization for specific definition IDs, you must add a line for each Definition ID. Select either a role name or User ID. For each role or user, you can configure the criteria and self-approval criteria, using the links provided. Note. If you activate self-approval on the Approval Authorization page, it replaces the self-approval on static path steps.

Defining Dynamic Approval Paths


Access the Approval Path Definition page (click the Path Details button or the Details link on the Setup Process Definitions page).

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

61

Defining Dynamic Approvals

Chapter 6

Approval Path Definition page

Step Source Notify Admin on No Approvers (notify administrator on no approvers) Skip Prior Steps for Requester Check Authorization

Select Dynamic for a dynamic approval path. Select to indicate that the administrator is to be notified if the system does not find an approver for the path. This option is only available when the step source is Dynamic. Select to indicate that if one of the approvers in this path is also the requester, then the system is to skip all steps in the path prior to that approver's step. Select to enable the approval authorization. The data set up in Authorize Approvers component is used. Select to enable the approval process to skip users within the user list if the system determines that they can't satisfy all of the criteria for approval.

Skip Unauthorized Users

Note. When creating criteria within the path that will trigger the approval process to activate, be certain that you set up the final approver as Greater Than so that no gaps occur.

62

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 7

Using Email Collaboration


This chapter provides an overview of email collaboration and discusses how to: Set up the PSFT_EMC_GETMAIL node. Define Integration Broker message and service operation. Define and map EMC forms. Trigger email collaboration.

Understanding Email Collaboration


The Email Collaboration Framework (EMC) allows applications to send, receive, and process emails with interactive content. You can send an HTML form to a user, and they do not need to log into their system to perform tasks. This diagram shows the email collaboration flow:

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

63

Using Email Collaboration

Chapter 7

Email Collaboration flow

1. A system event triggers PeopleSoft PeopleCode, which creates a collaborative email and sends it to a user. 2. The user who receives the email takes appropriate action and clicks Submit. 3. The user's submission is sent to an email account that is designated for holding responses. 4. An application engine program runs on a configured interval, polling the repository for new emails. It processes the emails and publishes them as service operations. 5. The service operation runs, allowing the implementing application to process the data in a known and supported format.

64

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 7

Using Email Collaboration

Email Collaboration Support Matrix This table covers the general email clients supported for email collaboration.
Client Inline Support Attachment Support Enhanced Attachment Support

Outlook 2003 Note. Outlook 2003 uses Internet Explorer to render the HTML message. Outlook 2007 Note. Outlook 2007 uses an internal tool to render the HTML. The actionable fields (buttons, check boxes, and so on) are rendered as text. Lotus Note Thunderbird Hotmail Note. The HTML actions are controlled by the Hotmail Client. Since Hotmail is a web client, they circumvent the form submission calls that are in the HTML client. The user may be required to download the attachment prior to opening. Gmail Note. Similar to Hotmail. Yahoo Note. Similar to Hotmail. Internet Explorer (IE) Note. Internet Explorer is listed because it responds differently based on the version of Outlook. IE 7 does not support the basic attachment when used with Outlook 2007. The email is created, but the body is not populated. If using IE 6, there is no issue.

Y Y N

Y Y Y

Y Y Y

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

65

Using Email Collaboration

Chapter 7

Client

Inline Support

Attachment Support

Enhanced Attachment Support

FireFox Note. Listed to compare to Internet Explorer. No issues have been reported with the way the email is populated using either attachment type.

This table covers the mobile devices supported for email collaboration.
Client Inline Support Attachment Support Enhanced Attachment Support

BlackBerry Note. BlackBerry does not allow its delivered applications to override the default application for attachments. Currently, the BlackBerry email application opens the HTML attachment as a text document. If the user is using a 3rd party email application, then the HTML displays properly. Palm (Palm OS) Note. The Palm Browser is limited in what it supports. Only javascript is supported and not the form "post" method. Windows Mobile Devices Note. Windows Mobile uses a version of Microsoft Outlook. iPhone Note. Currently, iPhone OS 3.1 does not support any Email Approval options. You must use a third-party application that supports javascript in the email.

Setting Up Email Collaboration To set up email collaboration, you need to: Set up the PSFT_EMC_GETMAIL node. Create Integration Broker message.

66

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 7

Using Email Collaboration

Create Integration Broker service operation. Define EMC forms, EMC Layout and fields mapping. Update an Approval Process notification option. Schedule the application engine program EOAWEMC.

Setting Up the PSFT_EMC_GETMAIL Node


Email collaboration uses the Integration Broker framework to retrieve new emails from the response repository. The node PSFT_EMC_GETMAIL is used to retrieve these emails. Integration Broker must be configured and pub/sub must be enabled. See Enterprise PeopleTools 8.51 PeopleBook: Integration Broker Administration, Administering Messaging Servers for Asynchronous Messaging.

Pages used to Set Up the PSFT_EMC_GETMAIL Node


Page Name Definition Name
IB_NODE

Navigation

Usage

Node Definitions

PeopleTools, Integration Broker, Integration Setup, Nodes Click the Properties link on the Node Definitions page.

Set up the PSFT_EMC_GETMAIL node. Modify the node properties required for email collaboration to function.

Node Properties

IB_NODEPROP

Setting Up the PSFT_EMC_GETMAIL Node


To set up the PSFT_EMC_GETMAIL node: 1. Access the Node Definitions page (PeopleTools, Integration Broker, Integration Setup, Nodes), activate the PSFT_EMC_GETMAIL node. 2. Click the Properties link to access the Node Properties page. 3. Enter the email address of the email repository in the EMC_REPOSITORY_EMAILADDRESS property. 4. (Optional) On the Node Properties page, enter appropriate values for EMC_BCC_LIST and EMC_CC_LIST properties to automatically send a copy of all collaborative emails to the address specified.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

67

Using Email Collaboration

Chapter 7

5. Access the Connector page. This node uses the GETMAILTARGET target connector. You will need to configure the GETMAILTARGET properties. See Enterprise PeopleTools 8.51 PeopleBook: MultiChannel Framework, Configuring the Email Channel, Configuring PeopleSoft Integration Broker for the Email Channel. 6. Save the node.

Defining Message and Service Operation


This section provides discusses how to: Define Integration Broker message. Define service operation.

Pages Used to Define Message and Service Operation


Page Name Definition Name
IB_MESSAGE_BUILDER

Navigation

Usage

Message Definition

PeopleTools, Integration Broker, Integration Setup, Messages, Message Definition PeopleTools, Integration Broker, Integration Setup, Services, Services

Define a message.

Services

IB_SERVICEDEFN

Define or update a service.

Service Operation Definition - General

IB_SERVICE

PeopleTools, Integration Define or update a service Broker, Integration Setup, operation. Service Operations, General PeopleTools, Integration Specify handler name, the Broker, Integration Setup, handler type, and the Service Operations, Handler implementation method for the handler. Click the Details link on the Specify the handler details. Service Operation Definition - Handler page.

Service Operation Definition - Handler

IB_SERVICEHDLR

Handler Details

IB_SERVICEHDLR_SEC

Defining Integration Broker Message


The Integration Broker message created for EMC needs to be a rowset-based message that includes the EMC records listed in this table:

68

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 7

Using Email Collaboration

Record

Level

Description

EOAWEMC_HDR EOAWEMC_TXNDATA EOAWEMC_PROMPTS

0 1 1

Header record for EMC. Transactional data record for EMC. Prompting record for EMC. Application will add records for the specific prompt action. Error record for EMC.

EOAWEMC_ERRORS

The application transaction record structure is added at level 2 under EOAWEMC_TXNDATA. This example shows the Record Only view for a message created to approve expense reports. In this example, the application records that contain transactional data start with EX_EMC.

Records Only view of a message used for EMC

Define Service
All service operations must be associated with one or more services. You can create a new service operation for an existing service or create a new service with which to associate your service operation. See Enterprise PeopleTools 8.51 PeopleBook: Integration Broker, Managing Services, Adding and Configuring New Service Operations for Services.

Defining Service Operation


You will need to create an asynchronous one-way service that uses the EMC message structure. Note. The service operation must have the same name as the message.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

69

Using Email Collaboration

Chapter 7

See Enterprise PeopleTools 8.51 PeopleBook: Integration Broker, Managing Service Operations, Adding Service Operation Definitions. You will also need to create an application class that will to process the EMC form, to be used as the handler. The application class created to process inbound subscriptions needs to extend the EOAW_EMC:API:emailFormManager and EOAW_EMC:utils classes. When creating this object, you will need to pass it 2 parameters: 1. Your full instantiated and populated service operation. 2. The language code of the user(s) that will receive this email. Note. EMC engine will handle transaction of things like field labels , however you will need to translate any values contained within your message yourself. See Chapter 8, "Using EMC Classes," page 79. EMC Runtime-Inbound EMC inbound processing takes all the values retrieved from the user's submission and merges them with the values sent out to the user (overriding outbound values with inbound values). It then inserts those values into the same service operation used to define your form, and publishes it. You will need add a piece of subscription code to catch the published message and process the data. Using the utils class method getErrorCodesRS(), you can get a list of error codes inserted by the EMC engine while the inbound message was being processed. The list of codes is as follows:
Error Code Description

0 1 2

No Error. Duplicate Response Received - The user submitted the form more than once. Sent-To Check Failed - The user to whom the email was sent is not the user from whom the response was received. Keep in mind when dealing with this error that some users have more than one email alias. Invalid date value error. Invalid number value error.

3 4

The fields in the error codes rowset are ERROR_CODE, ROW_PATH, RECNAME, FIELDNAME, and RECEIVED_VALUE. Not all fields are used for all errors, though. ROW_PATH, RECNAME and FIELDNAME for instance are only used when an invalid date or number value is received.

Defining and Mapping EMC Forms


This section provides an overview of EMC forms and discusses how to:

70

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 7

Using Email Collaboration

Define EMC form. Define EMC form layout. Define field mapping.

EMC Forms
EMC allows applications to send, receive and process emails with interactive content. The EMC forms are created based on service operations. The service operation defines the messages structure and the handler necessary to process the EMC forms.

Pages Used to Define and Map EMC Forms


Page Name Definition Name
EOAWEMC_ELEMENTS

Navigation

Usage

Form Element Designer

Enterprise Components, Approvals, Email Collaboration, EMC Form

Define metadata used as system data when you deliver an email collaboration.

Form Layout Designer

EOAWEMC_LAYOUT

Enterprise Components, Define the layout of the Approvals, Email email. Collaboration, EMC Layout Enterprise Components, Approvals, Email Collaboration, Field Mapping Map field values to the form.

Field Mapping

EOAWXLAT_SYMBOL

Defining EMC forms


Access the Form Element Designer page (Enterprise Components, Approvals, Email Collaboration, EMC Form). To create a new form: 1. Select the Add a New Value page. 2. Enter the Message name. Note. The message name must be the same as the service operation name. Upon entering this component, a grid will auto-populate with all of the fields in your message definition , except those that are part of the EMC required records and any that are not marked include in your message definition.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

71

Using Email Collaboration

Chapter 7

Rebuild List

If you change your message definition, use this button to regenerate the field list. Changes are not automatically updated. This will also remove any Form Layout Definitions associated with this message. Select the element type. Label ID prompts against a field's list of available labels. If you leave this field blank, the field will appear on your form without a label.

Element Type Label ID

Element Types This table lists the valid element types:


Element Type Description

Blank

A value may be stored in this field by the application, however it will not be transmitted in the email form, and thus may be used to store sensitive data. Will be represented as a standard text input field. Will be represented as plain text. This will be the application developers method for providing contextual data to the user. Similar to an input field, however it provides superficial security, as the contents of the field appear as a set of masked characters, such as bullets, asterisks, question marks, and so on. This type of field may be represented in one of two ways: check boxes or multi-select boxes. It gives the user the ability to select multiple values for a single field. Similar to the Select, it may be represented in multiple ways: radio buttons or drop-down lists. It gives the user the ability to select a single value for a field from a list of available values. Note. While radio buttons are available as a design option, some email servers do not enforce mutual exclusion of radio button selections in HTML.

Input Output

Secret

Select

Select1

Textarea

This field type gets represented as a long edit box, useful for areas where longer strings of text must be entered or displayed to the user.

Defining EMC Layouts


Access the Form Layout Designer page (Enterprise Components, Approvals, Email Collaboration, EMC Layout). The layout rules are fairly rigid on this page. Grids will be automatically created for each new level and fields may not move outside their current grid. Inserting a line break at the header level has the expected result of simply wrapping information to a new line. Should the line break be inserted inside a grid, however, the effect will be like having a "special grid row." That is, the fields after the line break will not be shown as grid columns, but rather as label:field, as in level 0.

72

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 7

Using Email Collaboration

On this page, you can change grid labels, field sizes, and number of columns for check boxes and radio buttons. You can also add line breaks and move fields up or down. Use the Preview button to see a preview of your form layout.

Defining Field Mapping


Access the Field Mapping page (Enterprise Components, Approvals, Email Collaboration, Field Mapping).

Field Mapping page

Use the field mapping page to define values for fields that are used with drop-down lists in your form.

Triggering Email Collaboration


This section discusses how to: Update approval transaction registry to send email approvals. Configure transaction for email approval. Schedule the application engine program EOAWEMC. Add or modify email addresses for users.

Pages Used to Trigger Email Collaboration


Page Name Definition Name
EOAW_TXN

Navigation

Usage

Register Transaction

Enterprise Components, Approvals, Approvals, Transaction Registry

Create and update the transaction registry.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

73

Using Email Collaboration

Chapter 7

Page Name

Definition Name
EOAW_TXN_NOTIFY

Navigation

Usage

Configure Transactions

Enterprise Components, Approvals, Approvals, Transaction Configuration

Configure how a specific approval process uses email notification options. See Chapter 4, "Defining the Approval Transaction Registry," Configuring Approval Transactions, page 39.

Recurrence Definition

PRCSRECURDEFN

PeopleTools, Process Scheduler, Recurrences

Define how often you want the process scheduler to run processes. Set up the Request AE for EOAWEMC.

Application Engine Request

AE_REQUEST

PeopleTools, Application Engine, Request AE

Email Addresses

USER_EMAIL

PeopleTools, Security, User Modify email addresses. Profiles, User Profiles, General Select the Email Addresses link on the User Profiles General page.

Updating Approval Transaction Registry to Send Email Approvals


Access the Register Transactions page (Enterprise Components, Approvals, Approvals, Transaction Registry).

Register Transactions page

74

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 7

Using Email Collaboration

Use Email Approvals Form Generator Package Root

Select this check box to use Email Approvals. Enter the package name that contains the class that contains the form generator application class for this transaction, or use the Lookup button to search for and select one. Enter the application class path that contains the form generator application class for this transaction, or use the Lookup button to search for and select one.

Form Generator Class Path

Application Class for Form Generator The application class for the form generator must be an extension of EOAW_EMC:API:formGeneratorBase. When the approvals engine determines that it needs to send out an email approval, it will create an instance of the class you specify on this page. It will pass to it 2 parameters: &threads as array of EOAW_CORE:ENGINE:Thread - This is an array of Approval Engine Threads. &userID as String - The userid of the individual receiving the email.

The base class provided takes the parameters passed in and makes them protected properties. Immediately after instantiating your object, the approvals engine will call the only method defined in the base class: returnEFM(). In this method you should take the threads and userid, create an instance of the emailFormManager, and return it. The approvals engine will then call the sendEmails() method on the object you return. See Also Chapter 8, "Using EMC Classes," page 79

Configuring Transactions for Email Approval


Access the Configure Transactions page (Enterprise Components, Approvals, Approvals, Configure Transactions).

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

75

Using Email Collaboration

Chapter 7

Configure Transactions page

The Notification Options section is only available if the Use Email Approvals check box is selected for this transaction on the Transaction Registry page. See Chapter 4, "Defining the Approval Transaction Registry," Notification Options, page 42.

Scheduling the Application Engine Program EOAWEMC


To schedule the application engine program EOAWEMC: 1. (Optional) Access the Recurrence Definition page (PeopleTools, Process Scheduler, Recurrences), and specify an interval for the process scheduler recurrence. 2. Select PeopleTools, Process Scheduler, Processes for the application engine program EOAWEMC and up the process definition. 3. Access the Process Definition Option page and specify the process schedule server and the recurrence. See Enterprise PeopleTools 8.51 PeopleBook: PeopleSoft Process Scheduler, Defining PeopleSoft Process Scheduler Support Information, Defining Process Definitions.

Adding or Modifying Email Addresses for Users


Access the Email Addresses page (PeopleTools, Security, User Profiles, User Profiles, General, then click the Edit Email Addresses link on the General page). To update your own email address, select System Profile.

76

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 7

Using Email Collaboration

Email Addresses page

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

77

Chapter 8

Using EMC Classes


This chapter discusses the EMC classes: EmailFormManager Utils

Understanding EMC Classes


EMC classes provide the functions to send and retrieve email approvals. They are included in the application package EOAW_EMC.

EmailFormManager Class
This class provides the utility methods to send collaborative emails.

EmailFormManager Class Methods


This section describes the public methods of interest to application developers for emailFormManager, in alphabetical order.

addRecipient
Syntax
addRecipient(&emailAddress, &userID)

Description
Users added via this method will be allowed to act on the email form.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

79

Using EMC Classes

Chapter 8

Parameters
Parameter Description

&emailAddress

Email address, as string. Required.

Parameter

Description

&userID

User ID, as string. Optional.

Returns
None.

addCC
Syntax
addCC(&emailAddress)

Description
Email addresses added via this method will be copied on every email sent out.

Parameters
Parameter Description

&emailAddress

Email address, as string. Required.

Returns
None.

addBCC
Syntax
addBCC(&emailAddress)

80

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 8

Using EMC Classes

Description
Email addresses added via this method will be blind copied on every email sent out.

Parameters
Parameter Description

&emailAddress

Email address, as string. Required.

Returns
None.

addAttachment
Syntax
addAttachment(&filePath, &filePathType,&fileName,&fileTitle)

Description
Adds an attachment to be sent along with the email.

Parameters
Parameter Description

&filePath &filePathType

A string consisting of the complete path to the file and the filename itself. A number representing type of file path used in first parameter. Use tools system variables such as %FilePath_Relative. A string representing the name of the file being attached. A string consisting of the title of the file. The titles appear near the attachment icons in place of the fully qualified filename.

&fileName &fileTitle

Returns
None.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

81

Using EMC Classes

Chapter 8

sendEmails
Syntax
sendEmails(&sentToCheckOnReturn)

Description
Does the actual send of the email once all other information is ready.

Parameters
Parameter Description

&sentToCheckOnReturn

If set to true, the EMC will verify that the user to whom the email was sent is the same as the user who sent the response. If this is not true, an error will be inserted into the error stack allowing the implementing application to handle it as they see fit.

EmailFormManager Class Properties


This section describes the emailFormManager class properties.

inlineText
Description
A string of text that the user will see if the deliveryMethod property is set to inline but their mail client does not support HTML emails. A default is provided. inlineText and attachmentText will never be delivered in the same email.

attachmentText
Description
A string of text that the user will see if the deliverMethod property is set to attachment. This text will generally be used as instructional text telling them to detach the html form and submit it. A default is provided. inlineText and attachmentText will never be delivered in the same email.

82

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 8

Using EMC Classes

subject
Description
The subject of the email to be sent. Default is PeopleSoft Collaborative Email Routing. Keep language considerations in mind when using this property.

submitMessage
Description
A string of text that the user will see if the deliveryMethod property is set to inline but their mail client does not support HTML emails. A default is provided. inlineText and attachmentText will never be delivered in the same email.

from
Description
The name of the person or account sending this email.

fromEmail
Description
The email address of the person or account sending this email.

replyTo
Description
The address users should reply to if there is a problem. This defaults to the same email address that form responses are fielded from.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

83

Using EMC Classes

Chapter 8

propendText
Description
Use this variable to include any text you would like inserted before the form being emailed.

appendText
Description
Use this variable to include any text you would like inserted after the form being emailed.

deliveryMethod
Description
Specifies whether to send the emails as inline html or attachments. Attachments will include a better user interface as the browser used to view the html attachment is likely to support more JavaScript and DHTML than email clients like Lotus Notes. Valid values are I for Inline and A for attachment.

EOAW_EMC:utils Class
This class contains methods that support the main functionality of EMC.

EOAW_EMC:utils Class Methods


This section describes utils class methods.

getAppRS
Syntax
getAppRS(&msgRS)

84

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 8

Using EMC Classes

Description
This method provides a single point from which to retrieve the applications rowset from the message definition rowset, as the message definition should have the application rowset starting at level 2. Given the rowset object representing your entire message, this rowset will return just the part of the overall rowset representing your transaction.

Parameters
Parameter Description

&msgRS

The rowset object representing your entire message.

Returns
Rowset.

getErrorCodesRS
Syntax
getErrorCodesRS(&msgRS)

Description
This method provides a single point from which to retrieve the error codes rowset from the message definitions rowset.

Parameters
Parameter Description

&msgRS

The rowset object representing your entire message.

Returns
Rowset.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

85

Using EMC Classes

Chapter 8

getPromptsRS
Syntax
getPromptsRS(&msgRS)

Description
This method provides a single point from which to retrieve the prompts rowset from the message definition's rowset, as the message definition should have the prompts rowset starting at level 2.

Parameters
Parameter Description

&msgRS

The rowset object representing your entire message.

Returns
Rowset.

getRowFromPath
Syntax
getRowFromPath(&startingRS,&path,&createIfNull)

Description
This method is useful for error processing. When your message expects a date or number field to be returned by the user, but the EMC cannot cast the value it gets back into one of those data types, it will put an error code in the exceptions stack . Along side that code in the stack, will be a row path. A row path is the path you need to follow to get to a specific row in a rowset. It follows the format (n)SCROLLNAME[(n)...] where n is a row number and SCROLLNAME is the name of the record comprising the rowset you want to retrieve in that row. When you get an error of one of these 2 types, you can call this method, passing in your message rowset, the rowpath in the error stack, and false. You will be returned the exact row where the error occurred (the name of the record and field are also in the error stack.

86

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 8

Using EMC Classes

Parameters
Parameter Description

&startingRS &path

The rowset from which to start searching for a row, as rowset. Path to the desired row, as string. Syntax - (n)[SCROLLNAME(n)...] where n is the row in the scroll preceding it. The rowset preceding the first n is &startingRS. If set to true, the method will insert as many rows as necessary to retrieve the row successfully. If set to false and the row is not present, an exception will be thrown.

&createIfNull

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

87

Chapter 9

Using the Notification and Escalation Manager


This chapter provides an overview of notification and escalation and discusses how to: Associate events to a server. Set up an escalation event. Set up a notification and escalation manager (NEM).

Understanding Notification and Escalation Manager


Notification and Escalation Manager (NEM) is a mechanism used to process notifications and escalations on a specified interval. For example, escalations are used when an approver has not responded within a specified time period to a transaction that is pending approval. You can specify the time period (timeout) and you can specify alternate approvers to whom to notify and escalate the approval for further action. Timeout options are defined on the Approval Path Definition page.

Pages Used to Set Up the Notification and Escalation Manager


Page Name Definition Name
EOAW_NEM_EVENTS

Navigation

Usage

Event Types

Enterprise Components, Associate events to a server. Approvals, Notification and Escalations, Events Enterprise Components, Set up an escalation event Approvals, Notification and and define the evaluation Escalations , Notifications and action details. and Escalations Enterprise Components, Check status of notification. Approvals, Notification and Escalations, Status PeopleTools, Process Scheduler, Schedule JobSet Definitions Set up a NEM to define the job to run, and how often you want it to run.

Notification and Escalations

EOAW_NEM_SETUP

Event Status

EOAW_NEM_STATUS

Schedule JobSet Definitions

SCHDLDEFN

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

89

Using the Notification and Escalation Manager

Chapter 9

Associating Events to a Server


Access the Event Type page (Enterprise Components, Approvals, Notification and Escalations, Events).

Event Type page

Event Type

Select an event type. PeopleSoft applications deliver some event types, such as ESCALATION_EVENT and APPROVALACTIVITYEMAIL. Select the server on which to run the notification.

Server Name

Setting Up an Escalation Event


Access the Notification and Escalations page (Enterprise Components, Approvals, Notification and Escalations, Notification and Escalations).

Notification and Escalations page

Event Type

The server information that was entered on the Event Type page.

90

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 9

Using the Notification and Escalation Manager

Event Types Description The value entered in the Description field on the Events Type page. Active Recurrence Repeat Time Evaluation Type Select to enable the escalation process. Enter a time interval at which to run the evaluation process. Enter a time period to limit the number of times the action step is run. Select a method for evaluation. Possible values are: PeopleCode: Select if you are using a custom application package or class written using PeopleSoft Application Designer. Query Object: Select if you are using a query set up using the PeopleSoft Query Manager tool. SQL View: Select if you are using a record object created using the PeopleSoft Application Designer.

Note. For escalations, the evaluation type should be SQL View. Name Displays the name of the query object or SQL view, depending on which is selected as the evaluation type. Select an action: PeopleCode: Select if you are using a custom application package or class written using the PeopleSoft Application Designer. Email: Enter an email address and notification template.

Action Type

Note. For escalations, the action type should be PeopleCode. Package Select the application package that contains the escalation utility. Note. For escalations, the package should be EOAW_CORE. Class For escalations, select Escalator.

Setting Up a NEM
Access the Schedule JobSet Definitions page (PeopleTools, Process Scheduler, Schedule JobSet Definitions).

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

91

Using the Notification and Escalation Manager

Chapter 9

Schedule JobSet Definition page

Schedule Name Job Name Status Run Control ID Recurrence Name

Select EOAW_NEM for the notification and escalation manager. Select NEM_MAIN for the notification and escalation manager. Select Active for the notification and escalation manager. Enter the run control that has the run configuration desired. Enter a value that specifies how often the process runs.

See Enterprise PeopleTools 8.51 PeopleBook: PeopleSoft Process Scheduler, Defining Jobs and JobSets.

92

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 10

Using the Approval Monitor


This chapter provide an overview of the Approval Monitor discusses how to: Configure the Approval Monitor. Use the Approval Monitor. Use the User Monitor.

Understanding the Approval Monitor


The Approval Monitor gives administrators a view into all approvals to which they have access, as well as the ability to take necessary actions on pending approvals. Administrators are provided access to Approval Transactions based on the Role defined as System Administrator on the Approval Process Definition page. Actions available for the administrator are: Reassignment Allows the system administrator to reassign pending approvals to a new approver based on search criteria. Allows the administrator to act on behalf of the assigned approver. The approval is initiated for a specific user, wherever that user may be pending within a specific transaction. Once the administrator takes action, the approval resumes the approval process. Allows the administrator to act on behalf of the assigned approver. The denial is initiated for a specific user, wherever that user may be pending within a specific transaction. Allows the administrator to add a reviewer or approver to a specific transaction. Allows the administrator to resubmit a completed transaction to all approvers in the approval path. Allows the administrator to send the process back to the previous approver.

Approve

Denial

Ad Hoc Resubmit

Push Back

Understanding Approval Reassignment


The administrator can reassign pending tasks to another approver, or an administrator can reassign all tasks that belong to a specific approver to another approver. Use reassignment in the following situations:

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

93

Using the Approval Monitor

Chapter 10

The approver chooses to redirect the task to another approver, thus delegating a specific task (step) to another approver. The administrator decides to reassign all pending tasks within a step that belong to an approver to another approver. This reassignment usually occurs when an approver is unexpectedly absent and the administrator reassigns all pending tasks to another.

When the administrator redirects a workflow task to another approver, the administrator can modify the approval process map. Note. The Approval Framework is set up for administrative reassignment and escalations only.

Configuring the Approval Monitor


This section discusses how to configure the Approval Monitor. You can configure the Approval Monitor to display the information necessary for an administrator to approve a transaction when the original approver is not available. You can also configure the actions that can be performed by the administrator. Each process ID can be configured.

Page Used to Configure the Approval Monitor


Page Name Definition Name
EOAW_MONDIS_CONFIG

Navigation

Usage

Approval Monitor Configuration

Enterprise Components, Approvals, Approvals, Monitor Configuration

Configure the approval monitor.

Configuring the Approval Monitor


Access the Approval Monitor Configuration page (Enterprise Components, Approvals, Approvals, Monitor Configuration).

94

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 10

Using the Approval Monitor

Approval Monitor Configuration page

Configure Monitor Approvals Use this section to control the actions available in the Monitor Approvals page for this approval process. Include in Search Display Only Allow Approve, Allow Deny, Allow Pushback, Allow Resubmit/Restart, Allow Reassign, Allow Mass Reassign, Allow Mass Approve, and Allow Mass Deny Select to have the approval process available on the Monitor Approvals page. Select to have approval process available in display only mode. Select each action that will be available in the Approval monitor for this approval process. See Chapter 10, "Using the Approval Monitor," Utilizing the Approval Monitor for a Specific Approval Process, page 99.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

95

Using the Approval Monitor

Chapter 10

Configure User Monitor Use this section to assign user roles and approval functions for monitoring this approval process. Transaction Display Level Use this section to select which fields at the header and line level should be displayed in the User Monitor for this approval process.

Using the Approval Monitor


This section discusses how to: Use the Approval Monitor search page. View search results. Utilize the Approval Monitor for a specific approval process.

The approval monitor gives administrators a view into all approvals to which they have access, as well as the ability to take necessary actions on pending approvals. Warning! Due to the complex rules used by PeopleSoft Expenses, the Monitor Approvals page should not be used to approve or deny expense transactions. To approve and deny expense transactions use the PeopleSoft Expenses approval pages. See: PeopleSoft Enterprise Expenses PeopleBook, Managing Approvals in PeopleSoft Expenses.

Pages Used to Use the Approval Monitor


Page Name Definition Name
EOAW_ADM_MON_SRC

Navigation

Usage

Monitor Approvals

Enterprise Components, Use the Monitor Approvals Approvals, Approvals, page as a system administrator to search Monitor Approvals approval processes and Enterprise Components, perform mass Approvals, Approvals, reassignments. User Monitor Use this page to perform an action on a specific approval process.

Monitor Approvals

EOAW_ADM_MON_ACT

From the Monitor Approvals Search page, select the link for the approval step you want to modify.

96

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 10

Using the Approval Monitor

Using the Approval Monitor Search Page


Access the Monitor Approvals page (Enterprise Components, Approvals, Approvals, Monitor Approvals).

Monitor Approvals-Search Criteria page

Approval Process

Select an approval process. The list of approval processes available is determined by the administrator role associated with the approval process definition. If a user is associated with the role specified in the Admin Role field on the Setup Process Definitions page, they can view or act on that process ID within the Approval Monitor. Select the process definition that is determined on the Setup Process Definition page.

Definition ID

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

97

Using the Approval Monitor

Chapter 10

Header Status

Select a status in this field to display the selected status. Choices are: Approved Complete Denied Hard Deny Initial Not Active Pending Pending Denial Suspended/Pending Denial Terminated

Approver

Select an approver. In order to view or take action on an approval processes for a specific approver this field is required. Select a status from those available. This field is only available when a specific approver is selected in the Approver field. The statuses available for selection are based on the statuses of that specific approver in the cross-reference table associated with the approval process ID. Select the user who entered the transaction that started the approval process. Select the user who requested the transaction that started the approval process. The originator is not always the requester.

Approver Status

Originator Requester

Reassign Pending Tasks Use this section to reassign approvals to another user. This section is only available if the process allows reassignment.

Viewing Search Results


After entering the selection criteria on the Monitor Approvals page, click the Search button.

98

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 10

Using the Approval Monitor

Approval Monitor Search results

For the approval process selected, specific fields will be displayed based on the transaction display level configured for the approval process. See Chapter 10, "Using the Approval Monitor," Transaction Display Level, page 96. Filter Use this button to filter the result set based on criteria entered.

Toggle Header and Line If the approval process contains header and line approvals, you can use this button to toggle the display to view the details.

Utilizing the Approval Monitor for a Specific Approval Process


Access the Monitor Approvals page (Enterprise Components, Approvals, Approvals, Monitor Approvals, then select the link for the approval step you want to modify).

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

99

Using the Approval Monitor

Chapter 10

Monitor Approvals page for a specific approval process

This page will reflect the options selected when you configured the approval monitor for the process. The Reassign Pending Tasks section and the buttons available in the Administrative Approve/Deny section will display as configured on the Approval Monitor Configuration page. Warning! Due to the complex rules used by PeopleSoft Expenses, the Monitor Approvals page should not be used to approve or deny expense transactions. To approve and deny expense transactions use the PeopleSoft Expenses approval pages. See: PeopleSoft Enterprise Expenses PeopleBook, Managing Approvals in PeopleSoft Expenses. Approver Select an approver. All approvers associated with pending steps within the approval process are listed. Enter text to appear under the approval graphic in the Approval Comment History section.

Comment

100

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 10

Using the Approval Monitor

Reassign Pending Tasks Reassign To Select an approver to whom to reassign all pending steps within the approval process. Click the button to initiate task reassignment. At the end of the procedure, all pending task of the corresponding approval process instance is assigned to the user who is specified in the Reassign To field. Reassignment history is captured as comments and viewable in the approval graphic at the bottom of this page. Allow Self-Approval Select to enable self-approval. When it is enabled, the approval is assumed and the process continues. Select to enable auto-approval. When it is enabled, the system remembers an approver's action for that process at the header or line level, and applies the same action automatically for any subsequent appearance in the Approval Framework routing.

Reassign

Allow Auto Approval

Administrative Approve/Deny Approve Click the button to act on behalf of the selected approver. This action applies to all tasks pending for the approver selected within the context of the approval process. Click the button to act on behalf of the selected approver. This action will apply to all tasks pending for the approver selected within the context of the approval process. Click to requeue the previous step to its approver. This button is only available at a step that is greater than one. For example, a transaction has three approvers. The first approver has approved the transaction, therefore, the transaction is pending at step two. The administrator needs additional information from the requester and, therefore, pushes the transaction back to the requester. Restart Click to restart a pending transaction to all approvers in the approval path. This button is only available when the transaction is pending. Click to resubmit a completed transaction to all approvers in the approval path. This button is only available when the transaction is complete. The transaction can only be resubmitted in its current state and cannot be modified before resubmitting for approval. Click to expand the Comments section and view comments regarding reassignment or text that is captured in the Comment field when any of the action buttons is clicked.

Deny

Pushback

Resubmit

View/Hide Comments

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

101

Using the Approval Monitor

Chapter 10

Request Information

Click to request additional information about this transaction from another user in the system. This selected user might not be an approver of this transaction, but he or she must respond to the request before the approval process can move forward to the next level. The system displays a new approval graphic, showing that more information has been requested as well as the user responsible for the request. As the requester, you can use the comments section to clarify the type of information you are requesting.

Requesting Additional Information About the Transaction When you click the Request Information link in the approval graphic, the system: 1. Places the current transaction on hold. Doing so prevents anyone from coming in and approving the transaction before the approver (who requested the information) gets the chance to review the returned information. 2. Inserts the requester as a reviewer of the transaction for that step. 3. Triggers the Request Information event. Any processing in the applications event handler is triggered; any notifications that is defined in the transaction configuration is sent as well. The approver (who requested the information) can act on the transaction by clicking any action button at any time. Here is a use case of the Request Information link: 1. Jane Doe submits a requisition request to purchase a monitor and a hard drive. The request routes to three group managers at step 1. Two of the three managers' approvals are required. 2. Manager Jen Smith wants to know why Jane needs to purchase such a large monitor, so she clicks the Request Information link on the approval graphic trying to gather more information about this requisition. The requisition transaction is now on hold and awaiting her action. The other two managers can still issue their approvals at any time, but the transaction will not move until the hold is lifted. 3. Depending on the how the application implemented the approval feature, Manager Jen Smith can enter comments in the Comments field, which will render in the Status Monitor, or seek information by any other means of communication (for example, by phone, by email, walk to my office and ask). Similarly, depending on the implementation, Jane Doe can respond by either entering comments through the application (this will trigger the Request Information Added event), or communicating to Jen Smith through other means (for example, by phone, by email, or other). 4. Jen Smith can either approve or deny the transaction after (or before) she receives a response. Normal processing resumes. See Chapter 11, "Using Approval Framework Base Classes," ApprovalManager Class Methods, page 115 and Chapter 11, "Using Approval Framework Base Classes," ApprovalEventHandler Class Methods, page 132. Reassigning Tasks Assigned to You To reassign your tasks to another approver, select a step assigned to you as an approver and request that the step be reassigned to an alternate. You must have an administrator role to perform this task.

102

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 10

Using the Approval Monitor

The Approval Framework reassigns that step to the newly appointed approver, and deletes the original approver's worklist entry. The system creates a new worklist entry for the new approver, and notifies the new approver. The Approval Framework adds a comment to the approval thread to log the reassignment. Reassigning Tasks as an Administrator To reassign a specific approver's pending tasks to another approver: 1. Filter the display to present pending approval processes for the specific approver. 2. Indicate the steps to be reassigned and the users affected. The system submits a request to the Approval Framework to reassign all of the pending steps. Once you have reassigned the pending tasks to a new approver, the approval path is updated and the approval transaction is routed to the new approver. Note. You can create reassignments through the user profile. However, workflow reassignments through the user profile don't alter the actual approval process. Reassigning using the Monitor Approvals component performs the reassignment and creates the worklist for the new user. The administrator can also take action instead of reassigning. Comment History Expand the Comment History section to view the previous workflow streams. This section is available when the system has resubmitted the transaction due to a change in the transaction. For example, a requisition is approved by two out of three approvers. Then the requisition is changed before the third approver sees it. The system resubmits the requisition and begins the approval path from the beginning. The Comment History section retains the original stream, indicating that the first two approvers had approved the original requisition.

Using the User Monitor


This section discusses how to use the User Monitor. The User Monitor provides a generic approval page that is very similar to the Approval Monitor. The only difference is that is designed to only display approval items where the signed on user is either the approver or the requester.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

103

Using the Approval Monitor

Chapter 10

Page Used to Use the User Monitor


Page Name Definition Name
EOAW_ADM_MON_SRC

Navigation

Usage

User Monitor - Monitor Approvals

Enterprise Components, Approve and review Approvals, Approvals, User transactions. Monitor

Using the User Monitor


Access the User Monitor - Monitor Approvals page (Enterprise Components, Approvals, Approvals, User Monitor).

User Monitor - Monitor Approvals page for current role Approver

Select your current role, either Approver or Requester and click the search button to display the transactions. See Chapter 10, "Using the Approval Monitor," Using the Approval Monitor Search Page, page 97.

104

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes


This chapter provides an overview of Approval Framework base classes and discusses: How to import Approval Framework type classes. The LaunchManager class. The ApprovalManager class.

Understanding Approval Framework Base Classes


Approval Framework Base Classes provide functions to launch workflow, manager approvals, display approval monitor. In order to build custom Approval Framework processes, you will need to extend these class in your PeopleCode. How to Import Approval Framework Base Classes The Approval Framework base classes are not built-in classes, like Rowset, Field, Record, and so on. They are application classes. Before you can use these classes in your PeopleCode program, you must import them to your program. An import statement names either all the classes in a package or one particular application class. For importing Approval Framework base classes, Oracle recommends that you import the functions class in the application package that is specific to your needs. The function classes are stored in EOAW_CORE application packages: You should use construct your import statement to include the classes necessary for your code. Some examples are:
import EOAW_CORE:*; import EOAW_CORE:LaunchManager; import EOAW_CORE:ApproverManager

LaunchManager Class
This class provides the utility methods to launch Approval Framework.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

105

Using Approval Framework Base Classes

Chapter 11

LaunchManager Class Methods


Application developers should instantiate this class as a component-scoped variable. The best place to initialize this class is in the component post-build event. This section describes the LaunchManager class methods. The methods are discussed in alphabetical order.

LaunchManager
Syntax
LaunchManager(&awprcs_id,&hdr_ , &requester_)

Description
Launches the Approval Framework process.

Parameters
Parameter Description

&awprcs_id

The approval Process ID that has been defined in the Transaction Registry, as string. The header record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record. The Operator ID of the user initiating the approval process, as string.

&hdr_

&requester_

Returns
None.

Example
This is an example to launch Approval Framework for VoucherApproval.
import EOAW_CORE:*; Component EOAW_CORE:LaunchManager &launchMgr; If VOUCHER.VCHR_APPRVL_FLG = "W" Then &vchrRecord = CreateRecord(Record.VCHR_AF_HDR_VW); GetLevel0()(1).GetRecord(Record.VOUCHER).CopyFieldsTo(&vchrRecord); &launchMgr = create EOAW_CORE:LaunchManager("VoucherApproval", &vchrRecord, %OperatorId);

106

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

DoSubmit
Syntax
DoSubmit()

Description
Used to submit a new transaction for approval. An exception is thrown if the property submitEnabled is not true.

Parameters
None.

Returns
None.

Example
This is an example of submitting the transaction.
import EOAW_CORE:*; Component EOAW_CORE:LaunchManager &launchMgr; &launchMgr.DoSubmit();

DoReSubmit
Syntax
DoReSubmit()

Description
Used to resubmit a transaction which was previously submitted, and the previous approval processes have completed (approved, denied or terminated). An exception is thrown if the property resubmitEnabled is false.

Parameters
None.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

107

Using Approval Framework Base Classes

Chapter 11

Returns
None.

Example
This is an example to resubmit a process:
import EOAW_CORE:*; Component EOAW_CORE:LaunchManager &launchMgr; &launchMgr.DoReSubmit();

DoRestart
Syntax
DoRestart()

Description
Used to restart a currently running approval process. An exception is thrown if the property restartEnabled is false. For example, in eProcurement, a requisition can be modified after has been approved. Since it was approved, Approval Framework sees it as closed (ended) and will not allow it to be resubmitted. The only option is to restart the transaction. Restart will reset all approval actions and route to the first approver regardless of the previous approvals.

Parameters
None.

Returns
None.

PrepareToSubmit
Syntax
PrepareToSubmit()

108

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

Description
This method instantiates an approval process, but does not save or launch it. Repeated calls to this method do nothing, if an approval process has been instantiated (or if an approval process is running), this method simply returns. The point is that the requester can add ad-hoc approvers while previewing which will be included in the process launched by DoSubmit(). The DoSubmit(), DoResubmit(), DoPreview() and DoRestart() methods all call this method. So any approval process instantiated by DoPreview() will be reused by the above methods. When this behavior is not desired, application developers use the Reset() method. Note. Repeated calls to prepare to submit can result in performance problems. Typically, this method is only used when ready to submit or when previews are necessary.

Parameters
None.

Returns
None.

SetHeader
Syntax
SetHeader(&hdr_)

Description
When creating a new application transaction, some applications do not fully populate the key fields until it is saved. For instance, eProcurement uses a generated id number for requisitions, but does not populate the id field until a new transaction is saved. Since applications need to initialize the LaunchManager object in the component post-build event code, this poses a challenge. In such situations, application developers can safely call this method to reset the header record before submitting a new transaction for approvals. It is always safe to call this method as long as the header record being passed in is valid. However when this method will reinstantiate the approval process, which eliminates any performance improvements achieved by caching previewed instances.

Parameters
Parameter Description

&hdr_

The header record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

109

Using Approval Framework Base Classes

Chapter 11

Returns
None.

Example
&reqRecord = CreateRecord(Record.PV_REQHDR_AW_VW); GetLevel0()(1).GetRecord(Record.REQ_HDR).CopyFieldsTo(&reqRecord); &launchMgr.SetHeader(&reqRecord); &launchMgr.DoSubmit();

Reset
Syntax
Reset()

Description
This method clears the approval process instance cached by the DoPreview() method. Approval process instances are cached between DoPreview() and DoSubmit() calls because a requester can add ad-hoc approvers to the previewed process before submitting. If ad-hoc approvers are added, using DoSubmit() to regenerate the approval process instance would cause the ad-hoc approvers to be lost. However, application developers must take care to call Reset() if the requester changes any significant fields between calls to DoPreview() and DoSubmit(). Since the Approval Framework does not know which fields are significant, this responsibility falls to the application developer. If concerned about catching all such situations, developers can adopt the strategy of always calling Reset() before calling DoSubmit() or any of its cousins. But this runs the risk of losing any ad-hoc approvers added by the requester during preview. Finally, if the application allows users to change the requester (for instance, when one user submits a transaction on behalf of another), the LaunchManager property requester needs to be updated. Updating the requestor property automatically calls the Reset() method.

Parameters
None.

Returns
None.

110

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

FindDefinitionID
Syntax
FindDefinitionID()

Description
This method will return all definition IDs that have criteria matches. A developer can set the definition ID using the definitionID property. If a method such as DoSubmit or DoResubmit is called before this property is set, Approval Framework will use the first definition ID returned based on priority order.

Parameters
None.

Returns
Array of records.

TerminateRunningProcess
Syntax
TerminateRunningProcess()

Description
Terminates a running process.

Parameters
None.

Returns
None.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

111

Using Approval Framework Base Classes

Chapter 11

LaunchManager Class Properties


This section describes the LaunchManager class properties.

hasTxn
Description
True if the application's process id valid.

definition
Description
Set the definition and re-initialize the AppDef.

hasAppDef
Description
True if an approval process has been defined.

hasAppInst
Description
True if an approval process is currently running on this application transaction.

hasEndedAppInst
Description
True if an approval process has previously been run on this application transaction.

112

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

EOAW_CORE:DEFN:AppDef appDef
Description
The approval process definition currently active on this application.

resubmitEnabled
Description
Used to determine if this transaction can be re-submitted for approval. This will be true when: 1. A transaction registry entry exists. 2. An approval process has been defined. 3. One or more approval processes were launched on this transaction, but none are currently running (they were either approved, denied, or terminated.

Example
If &launchMgr.resubmitEnabled = True Then &launchMgr.DoReSubmit(); End-If;

submitEnabled
Description
Used to determine if the submit action (which triggers launching of the Approval Framework) is currently enabled on this application transaction. Submit will be enabled when: 1. A transaction registry entry exists. 2. An approval process has been defined. 3. No approval process has previously been launched on this transaction.

Example
If (&launchMgr.submitEnabled) Then &launchMgr.DoSubmit(); End-If;

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

113

Using Approval Framework Base Classes

Chapter 11

restartEnabled
Description
Used to determine if this transaction's approval process be restarted. This will be true if an approval process is currently running.

monitorEnabled
Description
Used to determine if the Approval Monitor is enabled. The monitor is enabled if an approval process is running.

previewEnabled
Description
Preview is enabled if a process is not currently running on this transaction. The DoPreview() method only presents a preview of the approval process to be launched going forward. It is not meant for a review of prior processes. Note. DoPreview does not display completed approval processes for this transaction.

EOAW_CORE:ENGINE:AppInst appInst
Description
The approval process instance currently running. Can be null.

EOAW_CORE:DEFN:AWTxn txn
Description
The application transaction registry entry. This property is read-only.

114

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

requester
Description
Use this property to get or set the requester on whose behalf this transaction is to be submitted for approval. Note that this property is not read-only. Applications may change the requester even after constructing the LaunchManager, but with certain caveats.

Approval Manager Class


This class provides the methods to manage the approval process.

ApprovalManager Class Methods


The approval manager object is the application developers interface to the Approval Framework. Most developers will not find it necessary to directly access any other Approval Framework objects. Application developers should instantiate this class as a component-scoped variable. The best place to initialize this class is in the component post-build event. The class can be instantiated with information readily available to developers at component post-build time. Developers should examine the boolean-valued properties of this object to know whether or not the user entering the approval component has any pending approvals work. If there are any pending approvals, the GetPending() method will identify what is pending, and the action methods such as DoApprove(), or DoDeny(), will enable them to implement the full approval functionality. This section lists the Approval Manager class methods in alphabetical order.

ApprovalManager
Syntax
ApprovalManager(&awprcs_id,&hdr_,&approver_)

Description
Developers need to know their transaction id, and need to pass in an instance of their application's main record, which describes the request being submitted for approval. They also need to explicitly tell the Approval Framework who the approver is.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

115

Using Approval Framework Base Classes

Chapter 11

Parameters
Parameter Description

&awprcs_id

The approval Process ID that has been defined in the Transaction Registry, as string. The header record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record. The Operator ID of the user approving the transaction, as string.

&hdr_

&approver_

Example
import EOAW_CORE:*; Component EOAW_CORE:ApprovalManager &approvalMgr; &vchrRecord = CreateRecord(Record.VCHR_AF_HDR_VW); GetLevel0()(1).GetRecord(Record.VCHR_FS).CopyFieldsTo(&vchrRecord); &approvalMgr = create EOAW_CORE:ApprovalManager("VoucherApproval", &vchrRecord, %UserId);

DoApprove
Syntax
DoApprove(&rec)

Description
Use this method to approve the transaction for the record.

Parameters
Parameter Description

&rec

The record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record.

DoApproveRowSet
Syntax
DoApproveRowSet(&rs)

116

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

Description
Use this method to approve transactions for the entire rowset. If this is a line-level record, then all paths which had routed this record to the approver are advanced. For example, if an expense report has 3 lines o and you want to approve all 3 lines, you would insert the records into a rowset and pass that rowset to DoApproveRowset. Approval Framework will approve each line in that rowset. This avoids repeated calls to Approve.

Parameters
Parameter Description

&rs

Rowset to approve, as rowset.

Returns
None.

DoReassign
Syntax
DoReassign(&rec,&reassignee,&bAllowAutoApprove,&bAllowSelfApprove,&comment)

Description
Use this method to reassign the record instance to a different approver.

Parameters
Parameter Description

&rec &reassignee &bAllowAutoApprove &bAllowSelfApprove &comment

The transaction record to be reassigned, as record. The user to reassign the approval to, as string. Indicate whether or not auto approval is active, as boolean. Indicate whether or not self approval is active, as boolean. Include any comments, as string.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

117

Using Approval Framework Base Classes

Chapter 11

Returns
String.

DoReassignAll
Syntax
DoReassignAll(&reassignee,&bAllowAutoApprove,&bAllowSelfApprove,&comment)

Description
Note. Use this method to reassign all line items for the transaction to a different user for approval.

Parameters
Parameter Description

&reassignee &bAllowAutoApprove &bAllowSelfApprove &comment

User ID to reassign the transactions to, as string. Indicate whether or not auto approval is active, as boolean. Indicate whether or not self approval is active, as boolean. Include any comments, as string.

Returns
String.

DoDeny
Syntax
DoDeny(&rec)

Description
Use this method to deny approval on a record instance. If the record is a header record, then the approval process ends. If the record is a line-level record, that particular line's processing ends, while the other records in that transaction continue.

118

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

Parameters
Parameter Description

&rec

The record name defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record.

Returns
None.

Example
&approvalMgr.DoDeny(&reqRecord);

DoDenyRowset
Syntax
DoDenyRowset(&rs)

Description
Use this method to deny approval on a rowset. This is used to enable Approval Framework to deny multiple lines at once rather than looping through each line.

Parameters
Parameter Description

&rs

Name of the rowset, as rowset.

Returns
None.

DoDenyWithAllowUndeny
Syntax
DoDenyWithAllowUndeny(&rs)

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

119

Using Approval Framework Base Classes

Chapter 11

Description
Use this method to deny approval on a rowset, where resubmits are not allowed.

Parameters
Parameter Description

&rs

Name of the rowset, as rowset.

Returns
None.

DoHardDeny
Syntax
DoHardDeny(&rec)

Description
Use this method to deny approval on a record instance and not allow re-submits. If the record is a header record, then the approval process ends. If the record is a line-level record, that particular line's processing ends, while the other records in that transaction continue.

Parameters
Parameter Description

&rec

The record name defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record.

Returns
None.

120

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

DoLineResubmit
Syntax
DoLineResubmit(&rec,&start)

Description
Allows the line being passed in to be resubmitted to a running transaction. The user decides if the line is restarted from the current stage or the beginning. If it starts from the beginning, all history after the first header stage is lost.

Parameters
Parameter Description

&rec

The record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record. Use True to start at the beginning of the approval process or False to start at the current stage.

&start

Returns
None.

Example
&approvalMgr.DoLineResubmit(&reqLnRecord, True);

DoAddNewLine
Syntax
DoAddNewLine(&rec,&start)

Description
Use to allow the line being passed in to be added to a running transaction. The user decides if the line is restarted from the current stage or the beginning. If it starts from the beginning, all history after the first header stage is lost.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

121

Using Approval Framework Base Classes

Chapter 11

Parameters
Parameter Description

&rec

The record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record. Use True to start at the beginning of the approval process or False to start at the current stage.

&start

Returns
None.

GetPending
Syntax
GetPending()

Description
This method returns a rowset in the form of the applications header or line record that includes any header row or line row that is pending.

Parameters
None.

Returns
Rowset containing pending transactions.

Example
&LINERS = CreateRowset(Record.PV_REQLIN_AW_VW); &LINERS = &approvalMgr.GetPending();

122

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

DoPushback
Syntax
DoPushback(&rec)

Description
Use this method to send the process back to the previous approver. This is used to give the approver a means of requesting a prior approver to make a clearer case for approving the transaction. Note. Pushback only works to push back the workflow to a prior step in the same path. Calling Pushback() on the first step its path does nothing.

Parameters
Parameter Description

&rec

The record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record.

Returns
None.

Example
&approvalMgr.DoPushback(&reqRecord);

AddComments
Syntax
AddComments(&username,&rec,&comments)

Description
Use this method to add comments in the approval process.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

123

Using Approval Framework Base Classes

Chapter 11

Parameters
Parameter Description

&username &rec

The user name for the current user, as string. The record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record. Comments for the approval transaction, as string.

&comments

Returns
None.

Example
&approvalMgr.AddComments(getUserName(%OperatorId), &reqRecord, PV_REQ_APPPG_WK.COMMENTS_2000);

TakeNoAction
Syntax
TakeNoAction(&rec)

Description
Use this method to update the user's status as no action taken. If all approvers at this step take no action, then the step will advance and the current step will store the status for No Action Taken.

Parameters
Parameter Description

&rec

The record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record.

Returns
None.

124

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

PutOnHold
Syntax
PutOnHold(&rec)

Description
Used to put the record instance passed in on hold for this step. If this is a line-level record, then all paths which had routed this record to the approver are advanced.

Parameters
Parameter Description

&rec

The record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record.

Returns
None.

PutOnHoldCount
Syntax
PutOnHoldCount(&rec)

Description
This method is used to count how many approvers have put an approval transaction on hold. For example, if there are 10 approvers and 5 approvals are needed, checking to see that 3 approvers put it on hold will tell you that there are still 7 approvers that have not looked at the transaction yet.

Parameters
Parameter Description

&rec

The record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

125

Using Approval Framework Base Classes

Chapter 11

Returns
Array of string.

GetPushedBack
Syntax
GetPushedBack()

Description
Use this method to retrieve all the rows in a transaction that were pushed back.

Returns
Rowset.

GetPertinentThreads
Syntax
GetPertinentThreads(&checkApprover,&userType)

Description
Use this method to determine what threads are pending review or approval.

Parameters
Parameter Description

&checkApprover &userType

As string. As string.

Returns
Rowset.

126

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

GetStage
Syntax
GetStage(&rec)

Description
Use this method to retrieve the current stage of the approval process for a transaction.

Parameters
Parameter Description

&rec

The record defined for the approval processes in the Transaction Approval Levels in the Transaction Registry, as record.

Returns
EOAW_CORE:ENGINE:StageInst

GetPendingSteps
Syntax
GetPendingSteps()

Description
Use this method to determine all pending steps for an approval process. This method returns a list of stepinstance objects pending for this transaction.

Parameters
None.

Returns
Array of EOAW_CORE:ENGINE:UserStepInst.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

127

Using Approval Framework Base Classes

Chapter 11

DoLineTerminate
Syntax
DoLineTerminate(&LineRec)

Description
Use this method to terminate the given line level approval.

Parameters
Parameter Description

&LineRec

The line level record for the approval process.

GetParticipant
Syntax
GetParticipant(&username)

Description
Use this method to determine whether or not the user is a participant in the approval process. This method returns the participation status for a user that is currently pending or has taken an action.

Parameters
Parameter Description

&username

User ID, as string.

Returns
Returns a string to determine user participation in the approval process: N- if the user is not a participant in the approval. AA- if the user is the actual approval. OA- if the user is the original approval.

128

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

RR- if the user is a reviewer. O- if the user is the originator. R- if the user is the requestor.

GetAllActiveParticipants
Syntax
GetAllActiveParticipants()

Description
Use this method to retrieve a list of all users that have either been flagged as Approvers, Reviewers, requestor or initiator.

Parameters
None.

Returns
Array of string.

RequestInformation
Syntax
RequestInformation(&user,&rs)

Description
Use this method to put a step on hold until the specified user provides more information.

Parameters
Parameter Description

&user &rs

UserID to insert as a reviewer and request information from, as string. Rowset to push the reviewer onto the step, as rowset.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

129

Using Approval Framework Base Classes

Chapter 11

Returns
None.

SetAttributeObject
Syntax
SetAttributeObject(&attrObj_)

Description
Use this method to set the Approval Attribute class on the Appinst class.

Parameters
Parameter Description

&attrObj

As EOAW_CORE:ENGINE:AppAttributes.

Returns
None.

ApprovalManager Class Properties


This section describes the ApprovalManager class properties.

hasAppInst
Description
True if the current transaction (header record) has a currently pending Approval Framework instance.

130

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

definition
Description
Get the current definition ID set on the App Def.

level
Description
The level of the pending approval work--0 for header, 1 for line-level. The Approval Framework architecture guarantees that header and line-level approval work cannot be pending at the same time. This property is read-only.

hasPending
Description
True if the user has any pending approval tasks for the current transaction. Note. Typically this will be the signed on user, but it does not have to be.

pushbackEnabled
Description
This method is used to determine if there is any path that is pending with a step number greater than one. If there is a step greater than one, True is returned and push back is enabled. This is a read-only property.

EOAW_CORE:ENGINE:AppInst the_inst
Description
The current approval process instance.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

131

Using Approval Framework Base Classes

Chapter 11

isReviewer
Description
True if the user is a reviewer in the approval process. This is a read-only property.

Approval Event Handler Class


This class provides methods to monitor events and notify the approval framework.

ApprovalEventHandler Class Methods


The ApprovalEventHandler class is used to perform actions that are required at the specific points in the process. For instance, if a new Employee has been approved, then the required action would be to activate that user. The purpose of this class is to move the check for specific statuses or actions from the Component to Approval Framework. This sections lists the ApprovalEventHandler class methods.

ApprovalEventHandler
Syntax
ApprovalEventHandler()

Description
This method is the constructor for the ApprovalEventHandler class. Its only purpose is to create an object that can be used to access the other methods.

OnProcessLaunch
Syntax
OnProcessLaunch(&appInst)

132

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

Description
This method is called with the newly-launched approval process instance, after the launch operation is successful.

Parameters
Parameter Description

&appInst

As EOAW_CORE:ENGINE:AppInst.

Returns
None.

Example
method OnProcessLaunch /+ &appInst as EOAW_CORE:ENGINE:AppInst +/ /+ Extends/implements EOAW_CORE:ApprovalEventHandler.OnProcessLaunch +/

&appInst.thread.SetAppKeys(&vndrRecord); %This.updateProcessFlag(&PENDING); end-method;

OnStepActivate
Syntax
OnStepActivate(&stepinst)

Description
Use this method when a step instance is activated, the approvers and reviewers associated with the step will receive a worklist entry, if they do not already have one). The activated step instance itself is passed in as the argument.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

133

Using Approval Framework Base Classes

Chapter 11

Parameters
Parameter Description

&stepinst

The activated step instance, as EOAW_CORE:ENGINE:StepInst.

Returns
None.

OnStepHold
Syntax
OnStepHold(&userinst)

Description
Use this method to put this step on hold when a user performs an action. On Hold means that the user plans to take action at a later time.

Parameters
Parameter Description

&userinst

As EOAW_CORE:ENGINE:UserStepInst.

Returns
None.

OnStepReassign
Syntax
OnStepReassign(&userinst, &origApprover)

Description
Use this method to indicate the action when a step is reassigned.

134

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

Parameters
Parameter Description

&userinst &origApprover

As EOAW_CORE:ENGINE:UserStepInst. As string.

Returns
None.

OnStepComplete
Syntax
OnStepComplete(&stepinst)

Description
Use this method to indicate the action to take place when the step is complete.

Parameters
Parameter Description

&stepinst

The active step instance, as EOAW_CORE:ENGINE:StepInst.

OnStepPushback
Syntax
OnStepPushback(&userinst)

Parameters
Parameter Description

&userinst

As EOAW_CORE:ENGINE:UserStepInst.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

135

Using Approval Framework Base Classes

Chapter 11

OnStepReactivate
Syntax
OnStepReactivate(&stepins)

Description
Use this method when a step is reactivated.

Parameters
Parameter Description

&stepinst

The current step instance, as EOAW_CORE:ENGINE:StepInst.

OnFinalHeaderDeny
Syntax
OnFinalHeaderDeny(&appinst As EOAW_CORE:ENGINE:AppInst);

Description
Use this method for the final denial.

Parameters
Parameter Description

&appinst

Application instance, as EOAW_CORE:ENGINE:AppInst.

Returns
None.

136

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

OnHeaderDeny
Syntax
OnHeaderDeny(&userinst)

Description
Use this method for header denial.

Parameters
Parameter Description

&userinst

As EOAW_CORE:ENGINE:UserStepInst.

OnHeaderApprove
Syntax
OnHeaderApprove(&appinst)

Description
Use this method to indicate the action to take when the header is approved.

Parameters
Parameter Description

&appinst

Application instance, as EOAW_CORE:ENGINE:AppInst.

OnNoApprovalNecessary
Syntax
OnNoApprovalNecessary(&appinst)

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

137

Using Approval Framework Base Classes

Chapter 11

Description
Use this method when no approval is necessary.

Parameters
Parameter Description

&appinst

Application instance, as EOAW_CORE:ENGINE:AppInst.

OnLineDeny
Syntax
OnLineDeny(&userstep)

Description
Use this method to indicate the action to take when a line is denied.

Parameters
Parameter Description

&userstep

User step, as EOAW_CORE:ENGINE:UserStepInst.

OnLineApprove
Syntax
OnLineApprove(&appinst,&thread)

Parameters
Parameter Description

&appinst &thread

Application instance, as EOAW_CORE:ENGINE:AppInst. As EOAW_CORE:ENGINE:Thread.

138

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

OnAllLinesProcessed
Syntax
OnAllLinesProcessed(&appinst,&approved,&denied)

Description
Use this method when all lines are processed.

Parameters
Parameter Description

&appinst &approved &denied

Application instance, as EOAW_CORE:ENGINE:AppInst. As array of EOAW_CORE:ENGINE:Thread. As array of EOAW_CORE:ENGINE:Thread.

OnTerminate
Syntax
OnTerminate(&appinst As EOAW_CORE:ENGINE:AppInst);

Description
Use this method when the application instance is terminated.

Parameters
Parameter Description

&appinst

Application instance, as EOAW_CORE:ENGINE:AppInst.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

139

Using Approval Framework Base Classes

Chapter 11

OnError
Syntax
OnError(&stepinst)

Description
Use this method when an error occurs in a step.

Parameters
Parameter Description

&stepinst

Step instance, as EOAW_CORE:ENGINE:StepInst.

OnStepReview
Syntax
OnStepReview(&stepinst,&reviewers)

Description
Use this method to indicate the action to take when the step instance is reviewed.

Parameters
Parameter Description

&stepinst &reviewers

Step instance, as EOAW_CORE:ENGINE:StepInst. UserIds for the reviewers, as an array of string.

OnTimeout
Syntax
OnTimeout(&userinst,&notify)

140

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

Parameters
Parameter Description

&userinst &notify

As EOAW_CORE:ENGINE:UserStepInst. As string.

OnAdHocInsert
Syntax
OnAdHocInsert(&stepinst,&approver)

Description
Use this method when new adhoc reviewers are inserted.

Parameters
Parameter Description

&stepinst &approver

As EOAW_CORE:ENGINE:AdHocStepInst. UserID for approvers, as an array of string.

OnAdHocDelete
Syntax
OnAdHocDelete(&stepinst)

Description
Use this method when an adhoc step is deleted.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

141

Using Approval Framework Base Classes

Chapter 11

Parameters
Parameter Description

&stepinst

As EOAW_CORE:ENGINE:AdHocStepInst.

OnUserLocked
Syntax
OnUserLocked(&userinst)

Description
Use this method to indicate the action to be taken if a user is locked out. If a user is locked out, then the administrator should be notified. This acts more as a warning because the system will still route the approval to that person.

Parameters
Parameter Description

&userinst

As EOAW_CORE:ENGINE:UserStepInst.

OnStepRequestInformation
Syntax
OnStepRequestInformation(&userinst)

Description
Use this method when there is a request for information.

Parameters
Parameter Description

&userinst

As EOAW_CORE:ENGINE:UserStepInst.

142

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

OnRequestInformationAdded
Syntax
OnRequestInformationAdded(&appinst As EOAW_CORE:ENGINE:AppInst, &level As number, &notifyList As array of string);

Description
Use this method when request information has been added.

Parameters
Parameter Description

&appinst &level &notifyList

Application instance, as EOAW_CORE:ENGINE:AppInst. Approval level, as number. UserIds to notify, as array of string.

ProcessNotifications
Syntax
ProcessNotifications(&appinst)

Description
Use this method to process notifications.

Parameters
Parameter Description

&appinst

Application instance, as EOAW_CORE:ENGINE:AppInst.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

143

Using Approval Framework Base Classes

Chapter 11

OnLineTerminate
Syntax
OnLineTerminate(&appinst,&thread)

Description
Use this method when a line is terminated.

Parameters
Parameter Description

&appinst &thread

Application instance, as EOAW_CORE:ENGINE:AppInst. As EOAW_CORE:ENGINE:Thread.

ApprovalEventHandler Class Properties


This section lists the ApprovalEvent Hander Class properties.

wlPrefix
Description
Worklist prefix.

wlBusinessProc
Description
Business process.

144

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Chapter 11

Using Approval Framework Base Classes

wlActivityName
Description
Activity name.

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

145

Index
A
ad hoc approvals 11 review 11 alternate user ID, setting 51 alternate workflow approvers 13 application class criteria for Approval Framework 22 application developers, setting up Approval Framework 6 Application Engine Request page 74 approval authorizing 56, 58 comments 14 header level 9 line level 9 managing workflow 5 process description 7 workflow steps 14 Approval Authorization page 59, 60 ApprovalEventHandler class, use 37 Approval Monitor Configuration page 94 Approval Path Definition page 16, 26, 59, 61 Approval Process component (EOAW_PRCS) 16 Approval Process Definition page 16 Approval Step Definition page 16, 29 approval transaction registry configure transactions 39, 40 overview 33 prerequisites 33 registering 34 approver alternate 13 role name 29 user list 29 auto approval 13 Email Address page 76 email collaboration 63 email collaboration, setting up 63 end-user roles, Approval Framework 7 end actions for approvals 9 EOAW_PRCS component 16 escalation event setup 90 Event Status page 89 Event Type page 90 Event Types page 89

F
field mapping 73 Field Mapping page 71, 73 Form Element Designer page 71 Form Layout Designer page 71 functional business analysts, setting up Approval Framework 6

G
General page - Service Operation Definition 68 General page - User Profile 59 Generic Template Definition page 47 getting started 1

H
Handler Details page 68 Handler page - Service Operation Definition 68 header approval 9, 39

C
comments, approvals 14 common fields xii Configure Transactions page 40, 74, 75 Criteria Definition page 16, 59 Criteria Definition Page 21 cross-reference table, approvals 36

L
line-level approval overview 9 setting 39

M D
dynamic paths 55 dynamic user role 50 Message Definition page 68 monetary alert criteria, defining 24 Monitor Approvals page 99 Monitor Approvals page - User Monitor 104 Monitor Approvals page (EOAW_ADM_MON_ACT) 96 Monitor Approvals page (EOAW_ADM_MON_SRC) 96, 97

E
Email Addresses page 74

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

147

Index

N
Node Definitions page 67 Node Properties page 67 notification and escalation overview 89 notification and escalation manager setting up 91 Notification and Escalations page 89, 90 notifications approval events 13 approval process 5 configure transactions 39, 40 default options 36 defining template 47 email 5 URL 47 worklist 5 Notifications page 16

T
thread, in approvals 7, 9 Timeout Options page 16 transaction key input to approvals 53

U
URL Maintenance page 47 user input to approvals 53 User List Definition page 49, 52, 59

V
view definition for roles 50

P
paths criteria 21 dynamic 55 in approvals 7 prerequisites for registering an approval transaction 33 process scheduler, escalation setup 91 PSFT_EMC_GETMAIL Node 67 push back, approvals 13

W
workflow 5 alternate approvers 13 defining path criteria 21 defining steps for 28 defining workflow paths 26 defining workflow processes 15, 16 roles 6 Workflow page - User Profiles 49, 50 worklist, using in approvals 37

R
reassign work 51 Recurrence Definition page 74 registering approval transactions, prerequisites 33 Register Transaction page 73 Register Transactions page 34, 74 requisition approval notification and escalation manager NEM 89 reviewer user list 30 Roles page - User Profiles 49 route control, workflow 50

S
Schedule JobSet Definitions page 89, 91 self-approval overview 11 setting up 30 Services page 68 Setup Process Definition page 15 Setup Process Definitions page 15, 59 stage, approvals 7 static user role 50 steps, Approval Framework 14 step source 27 supervising user ID, setting 51

148

Copyright 1988, 2010, Oracle and/or its affiliates. All Rights Reserved.

Você também pode gostar