Defining the Approval Transaction Registry

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

Click to jump to parent topicUnderstanding 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.

Click to jump to parent topicPrerequisites

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.

Click to jump to parent topicSetting 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.

Click to jump to top of pageClick to jump to parent topicPage Used to Setup the Transaction Registry

Page Name

Definition Name

Navigation

Usage

Register Transactions

EOAW_TXN

Enterprise Components, Approvals, Approvals, Transaction Registry

Register the approval transaction.

Click to jump to top of pageClick to jump to parent topicRegistering Approval Transactions

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

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:

Process ID

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.

Object Owner ID

Select the PeopleSoft application to which this object belongs.

Cross Reference Table

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.

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:

  • Disable Email and Worklist

  • Email Notification Only

  • Enable Email and Worklist

  • Worklist Notification Only

Notification Strategy

It allows the email to be processed immediately (Online Processing) or offline (Offline Processing) through NEM (Notification and Escalation Manager.)

Use Email Approvals

Defines that you are going to use email approvals with workflow.

Form Generator Package Root

This package root reads the threads provided by the Form Generator Class, and creates a form from an existing email collaboration definition.

Form Generator Class Path

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.

Approval Component

Select the component on which the approval is going to be based.

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:

Event

Parameters

Possible Application Actions

PROCESS_LAUNCHED

  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_APPROVED

Header record

  • Source the transaction if it’s a requisition.

  • Reimburse the employee if it’s an expense report.

LINE_APPROVED

Line level record

Source the line item if it's configured for sourcing.

PROCESS_TERMINATED

Header record

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.

ALL_LINES_PROCESSED

Header record

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.

 

Root Package ID

Select the parent application class through which events are exposed. This defines the action to take based on events.

Path

Select a path that uses a specific class within the root package.

See PeopleSoft Enterprise PeopleTools 8.50 PeopleBook: PeopleCode Developer's Guide

See Using Approval Framework Base Classes.

Approval Status Monitor

Use this section to control how the system processes ad hoc approvers. Any approver can add or remove ad hoc approvers.

Adhoc Package

Select the ad hoc application class package that you want to use for ad hoc approvals.

Adhoc Class

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.

Thread Package

The package here defines how the transaction details are displayed in the system in the status monitor. Behind the scene approvals are define with a sequence number, this allows for a user friends display.

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.

Record (Table) Name

Select the database table that represents this transaction level.

Level Record Key Field Label IDs

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 listed.

Click to jump to parent topicConfiguring 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.

Click to jump to top of pageClick to jump to parent topicPage Used to Configure Approval Transactions

Page Name

Definition Name

Navigation

Usage

Configure Transactions

EOAW_TXN_NOTIFY

Enterprise Components, Approvals, Approvals, Transaction Configuration

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

Click to jump to top of pageClick to jump to parent topicConfiguring Approval Transactions

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

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:

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

Select to send email notifications to all approvers.

Email Approval User List

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.

Perform Sent-To Security Check

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.

User Utilities

User Utilities are the mechanism that the user changes to modify the behavior of delegation and reassignment.

User Utilities Package

Select the parent application class through which alternate users are selected.

User Utilities Path

Select a path that uses a specific class within the root package.

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.

Event

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.

Approval Component

Select the component you want to make available to the notification recipient.

Page Name

The page defined is the page approvers are redirected to from the URL sent within the email notification.

Menu Action

This is the action of the page users see when directed to the page from the URL sent within the email notification.

SQL Object Identifier (structured query language object identifier)

Select the SQL definition identifier you want to use to get content for the email. The SQL must accept bind inputs equal to the number of keys at the notification 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.

  • 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

Channel

Defines how the participant will be notified.

  • 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.

User List

Select either Dynamic or User List as the Participant. The option becomes active when you select one of these values.

Template Name

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 Entering Generic Template Definitions.

Menu Name, Approval Comment, Page Name, Menu Action, and SQL Object Identifier

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

Number of Hours

Enter a number that determines how many hours between notifications.

Max Notification

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.