Skip to Main Content
Return to Navigation

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:

Pages Used to Define Approval Framework Processes

Page Name

Definition Name

Navigation

Usage

Setup Process Definitions

EOAW_PRCS_MAIN

select Enterprise Components, then select Approvals, then select Approvals, then select Approval Process Setup

Define approval process stages.

Criteria Definition

EOAW_CRITERIA

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

Define notification options.

Timeout Options

EOAW_TIMEOUTDEF

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

Define global timeout and escalation settings.

Approval Path Definition

EOAW_PATH_SEC

Click the Details link within the Paths group box on the Setup Process Definitions page.

Set up workflow approval paths.

Approval Step Definition

EOAF_STEP_SEC

Click the Details link within the Steps group box on the Setup Process Definitions page.

Define steps for workflow approvals.

Setup Process Definitions Page

Use the Setup Process Definitions page (EOAW_PRCS_MAIN) to define approval process stages.

Image: Setup Process Definitions page

This example illustrates the fields and controls on the Setup Process Definitions page. You can find definitions for the fields and controls later on this page.

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.

Definition Options

This section of the page is used to define options for the approval process.

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.

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 Criteria Definition Page, Approval Path Definition Page.

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 Criteria Definition Page, Approval Step Definition Page.

Criteria Definition Page

Use the Criteria Definition page (EOAW_CRITERIA) to define criteria for workflow approvals.

Image: Criteria Definition page

This example illustrates the fields and controls on the Criteria Definition page. You can find definitions for the fields and controls later on this 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.

Application Class Criteria (Section)

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.

Image: Criteria Definition page showing criteria type Application Class

This example illustrates the fields and controls on the Criteria Definition page showing criteria type Application Class. You can find definitions for the fields and controls later on this page.

Criteria Definition page showing criteria type Application Class

Application Class: Example

Here is an example of an application class written for approval criteria that extends EOAW_CRITERIA:CriteriaBase and implements the “Check” method. This example can also be found in EOAW_CRITERIA:EXAMPLES.

import EOAW_CRITERIA:DEFINITION:*;

class CriteriaClassExample extends EOAW_CRITERIA:DEFINITION:CriteriaBase
  1- method CriteriaClassExample(&rec_ As Record);
  2- method Check(&recBind As Record) Returns boolean;
  3- method CheckwithComments(&recBind As Record) Returns array of string;
private
   instance Record &rec;
   method CheckSQL(&recBind As Record) Returns boolean;
end-class;

method CriteriaClassExample
   /+ &rec_ as Record +/
   %Super = create EOAW_CRITERIA:DEFINITION:CriteriaBase(&rec_.EOAWCRTA_ID.Value);
   &rec = &rec_;
end-method;

method Check
   /+ &recBind as Record +/
   /+ Returns Boolean +/
   /+ Extends/implements EOAW_CRITERIA:DEFINITION:CriteriaBase.Check +/
   Local boolean &queryStatus;
   rem %This.CheckQuery(&recBind);
   Local boolean &sqlStatus = %This.CheckSQL(&recBind);
   
   Return &sqlStatus;
   
end-method;

method CheckwithComments
   /+ &recBind as Record +/
   /+ Returns Array of String +/
   /+ Extends/implements EOAW_CRITERIA:DEFINITION:CriteriaBase.CheckwithComments +/
   Local array of string &aryComments = CreateArrayRept(" ", 0);
   
   Return &aryComments;
   
end-method;

method CheckSQL
   /+ &recBind as Record +/
   /+ Returns Boolean +/
   Local string &sqlDef, &SQLText;
   Local integer &i;
   Local Rowset &rsResults;
   
   &SQLText = "SELECT 'X' FROM PS_INSTALLATION";
   Local string &output;
   REM ***** Specify a query that uses some or all of the transaction keys as input;
   SQLExec(&SQLText, &output);
   If All(&output) Then
      Return True
   Else
      Return False
   End-If;
end-method;

Note that:

  1. CriteriaClassExample is the class name. It should match at all levels. The input is a record that contains the field EOAWCRTA_ID. The method must have this parameter.

  2. The Check method is the main method doing the work. It validates if the criteria is true or false. It can call anything you want to add. In this case, it is calling a private method called CheckSQL. The &recBind parameter is the transaction cross reference record. The cross reference record ties the approval workflow engine to the transaction. The transaction keys are fields on the cross reference record. There is also a field called RECNAME so that it is possible to reconstruct the transaction record.

  3. The CheckwithComments method is nearly identical to the Check method. The difference is that it returns any “descriptions” from the criteria page for criteria that was true. This is useful in the area of Alert Criteria on the Approval Process Definition page. If there are simple notifications (messages) that the application wants to display, they can be done with the CheckwithComments method. One example of this is the one-time address check in eProcurement.

Here is an example of how the call is made from Self Criteria:

If (All(&c) And
            &c.Check(%This.path.thread.rec)) Then
         &self_ok = %This.utils.SELF_OK;
      End-If;

And this is the constructor for the Criteria object:

&SelfAppCriteria = &fact.GetCriteria(&rec.EOAWSELF_CRTA_ID.Value);

User Entered Criteria (Section)

Use this section to define additional criteria for the approval.

Image: Criteria Definition page showing criteria type User Entered

This example illustrates the fields and controls on the Criteria Definition page showing criteria type User Entered. You can find definitions for the fields and controls later on this page.

Criteria Definition page showing criteria type User Entered

Field Criteria (Section)

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. As you add rows in this section to build your approval criteria, they get translated into a long SQL string by the approval framework, each of them connected by the OR operator. For example, the where clause of the SQL generated for the criteria that is specified in the screenshot above looks like this:

“where HRS_JOB_OPENING_ID > '10000' OR HRS_JOB_OPENING_ID < '9900'”

Important! If the Not Equal To criteria operator is used in a row, subsequent rows will be connected using the AND operator instead of the OR operator. Here is an example of an SQL constructed for field criteria that contains the Not Equal To operator:

“where HRS_JOB_OPENING_ID <> '10500' AND HRS_JOB_OPENING_ID > '10000' AND HRS_JOB_OPENING_ID < '11000'”

The approval framework does not support the insertion of parentheses around specified criteria values in SQLs.

Monetary Criteria (Section)

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.

Image: Criteria Definition page showing criteria type User Entered for monetary amount

This example illustrates the fields and controls on the Criteria Definition page showing criteria type User Entered for monetary amount. You can find definitions for the fields and controls later on this page.

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.

Approval Path Definition Page

Use the Approval Path Definition page (EOAW_PATH_SEC) to set up workflow approval paths.

Image: Approval Path Definition page

This example illustrates the fields and controls on the Approval Path Definition page. You can find definitions for the fields and controls later on this 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.

Timeout Options

Approval Step Definition Page

Use the Approval Step Definition page (EOAF_STEP_SEC) to define steps for workflow approvals.

Image: Approval Step Definition page

This example illustrates the fields and controls on the Approval Step Definition page. You can find definitions for the fields and controls later on this page.

Approval Step Definition page

Use this page to set up additional parameters for the step definition.

See Understanding Approval Features.

See product documentation for .