APPROVALS AND AUTHORIZATIONS
Back to current versionRestore this version

APPROVALS AND AUTHORIZATIONS#

Overview#

To outline functionality in the Personality Admin and Self Service application approvals, using Approval Processes, Approval Steps, Approvers, Designated Approvers, and Approval Records.

Topics covered:

Audience#

Any company requiring approval/authorization of the supported 'Approval Entities' listed below as defined in the lexicon X_APPROVAL_TYPE

APPROVAL PROCESS DEFINITION#

Approval Processes IDAP #

Processes are defined in IDAP with a APPROVAL_PROCESS_CODE which is standard to all code fields in Personality, a type of approval being defined using the APPROVAL_TYPE and a description.

Ordering processes may be achieved by adding a "Priority". The priority will be used when the approval service is deciding which process applies to the approval entity. Processes are grouped by type and ordered from highest to lowest. Caution should be used since if left empty the ID value will be substituted. This may cause unexpected results if one of many is left empty. The suggested set up is to define a priority when multiple of the same type exist.

Processes can be refined using a WHERE_CLAUSE to restrict which types will fall under the defined PROCESS. Example - a process of TYPE: Personnel Actions can have a where clause that only PA's of type "A WAGE INCREASE" will qualify for this process defined, and such P's of type: "ADDRESS CHANGE" do not.

A Process may have a "Start" and "End" date where it will be considered to be "effective". If the current approval entity's AS_OF_DATE falls either between dates if both given, after the start if the end date is not provided or before the end date if the start date is not provided.

Approvals_and_Authorization_01.jpg(info)

Approval Steps#

For each Process multiple steps or at a minimum of one step must be defined, sequenced and given a description. For each step approvers and approval records maybe maintained and viewed. Approvals_and_Authorization_02.jpg(info)

Approvers#

Approvers are defined by selecting an Approver Type. Supported Approver types as defined in X_APPROVER_TYPE lexicon are listed below.

AbbreviationStored Value
Department Manager01
Position Manager02
Assignment Manager03
First Manager04
Specified Person07
Spec List Of People08
Last Approvers Manager09
All Managers10

Approvers may be restricted using a "WHERE_CLAUSE" (IMDAO) to which approval entity they can approve within this process. Example: For the PA beginning approved above The PROCESS has already said that only PA's of type "A WAGE INCREASE" will be approved. And the specified approver can now only approve PA's for employees in a specific "DEPARTMENT".

Approvers that qualify in the above WHERE_CLAUSE are then assessed for their particular type. (Department Manager, Position Manager, Assignment Manager, Any Manager, Specified Person, Spec List Of People)

The "Manager" types are considered to be off the prime assignment for the identity of the approval entity. Ex: For the PA in the example above. This PA is for specific person. The manager defined on the prime assignment either for department, position, assignment or any person who is a manager at any of the previous levels will qualify as an approver for the above approval step.

The "Specified Person" is the selected identity as the qualified approver the above approval step. The "List of People" allows all identities in the list as qualified approvers. People lists that are generated through ep2k can only be used in this selection. These people lists use the "WHERE_CLAUSE" functionality as defined in IMDAO Approvals_and_Authorization_03.jpg(info)

Approval Records#

Approval Records contain such information as the Approval timestamp the Status of the approval The reference ID the approval is for.

When an approval Entity becomes eligible for approval. "Notification approval records" are created. These are approval records with the approval status of "Ready To Be Approved". There is one record for each identity defined as an approver for the first step of approval. These record in conjunction with work flow can be used to notify approvers of pending approvals.

Once an approval is made (for example a time sheet) an approval record is created for that identity with the appropriate status (approved, not approved, cancelled). At this time the old "notification records" are removed and notification records are created for the next step.

The next step will be determined by a couple of factors:

  1. The current step and its next defined step.
  2. The step that the approver identity is part of and if that identity is an up to approver.
  3. If there are any more steps in the process.

Approvals_and_Authorization_04.jpg(info)

DESIGNATED APPROVERS #

IEDA/IEMDA Approvers may be replaced by a designated approver for a defined time frame or indefinitely for specific approval types known as Designated Approvers in IEMDA. Approvers may also maintain who is designated as an approver in their absence using IEDA.

Approvers may designate a temporary replacement in two capacities. Either a "Replacement" or an "Alternate" may be defined. Replacement designates relieve an approver of all approval responsibilities starting as of the "From date" and end on the "To date" starting at 12am on the date specified. If these dates are left blank (null) the beginning of time and end of time are assumed respectively. When an alternate is defined all responsibilities are shared by the specified person and the original approver.

Designate approvers will have the start and end dates qualified based on the current server date.

Approvals_and_Authorization_05.jpg(info)

Approvals_and_Authorization_06.jpg(info)
Both types of replacements may be specific to a certain type of approval. Ex: a manager may be away for a vacation and time sheets may need to be reviewed during that time frame so an alternate or replacement may be assigned specifically to "Time Sheets". If there was a salary review during that time, it would remain the responsibility of the original manager to approve.

Approvals_and_Authorization_07.jpg(info)

Approvals_and_Authorization_08.jpg(info) When responsibility is transferred from the approver to the designate for a replacement, all approval records previously created for notification are moved from the approver to the designate when the new designate record is saved. This will cause work flow, all approver screens and self service splash "to do" lists to now be full for the existing approvals previously required for the approver. Any new approvals required will create new approval records for the designate and the original approver will not be notified.

Alternate designates will have a copy of the approval records created for them and the original approver will retain all existing approval records. Both the alternate and approver will receive notification of new pending approvals.

The maintenance of the approval records as described above will be limited to the specified approval types. If none are listed all approval records will be subject to this maintenance.

APPROVAL PROCESS AND APPROVER WHERE CLAUSES#

A where clause may be defined in IMWC or IMDAO. IMWC/IMDAO Once a where clause is defined it may be used to control what gets approved and by whom when using it at two levels. The first is by the approval process itself and the second is by each approver. In both cases the where clause must be relative to the approval entity as the base table. Example: Personnel Action where clause:

Approvals_and_Authorization_09.jpg(info) This condition is attempting to restrict to a position code. In order to do that the condition must start from a column on p2k_sa_personnel_actions. This example works its way from p2k_sa_personnel_actions then to the prime assignment on p2k_hr_assignments ,then to the effective details of that assignment (p2k_hr_assignment_details), then to the position (p2k_cm_positions) on that assignment as noted from the foreign keys in the condition column. The "value" is the restricted position code.

APPROVAL USER INTERFACES#

Approvals may be made using 2 different types of interfaces. The most common interface is the approval bar and the second is the approval action button. The approval bar is a graphical representation with added features to see the state of the approval process. The approval button simply makes an approval with available optional comments.

Approval Bar

Approvals_and_Authorization_10.jpg(info)
The approval bar is divided into sections which represent each step in the process. The description of each step is displayed in bold to identify the step. Below the description is 1 approval record status used to describe that status of that step. In the example above an approval has been made on step 1 by the department manager and step 2 is ready to be approved by the HR personnel approver. To help show the status of each step is 2 chevrons colored green and red. Green notes an approval has been made and red notes a step waiting approval.

Each step has two methods of making an approval. The first is the quick approve, noted as a check mark on the step which the approver (user) has rights to approve. If the user is not an approver with rights to approve the quick approve is not available. When the quick approve is clicked an approval is made and the process is progressed to the next step or final approval as required. An option to make comments is not available.

The second is a menu available with a right mouse click over the waiting step. The first menu item is a text item showing the approver name. The three options following that are approve, decline and send back with comments. The approve action on the menu provides an option to add comment to the approval via a dialog. The dialog has an optional comment box and approve or cancel action buttons. The approve will advance the process to the next step or make the final approval as required.

The approval bar menu also provides the same type of dialog for Decline with comments and Send back with comments. The last part of the approval bar is the information icon located to the immediate right of the approval bar. When clicked this action displays a view only dialog showing a record representation of the existing state of the approval proceeds based on the current approval records. Details shown include Date and time of the approval record creation, Step sequence, Status of the approval record, Approver Type, The identity for which the approval record was created, and optional comments made by an approver. These details may be viewed with more detail by day in DDAPR (see the Approval Screens section below). This dialog is based on the form (function) MDAPR.

Approval Action Button#

The second type of interface is simply an action button located on various forms. The approval screens list below includes the type of action GUI provided.

Approval Screens#

Approval screens include different types to define, view, maintain and approve. This is possible in both eP and Self service. Some of the main driving screens are listed below for eP. Self service has specific notation to the function name as WV???? and are located on several menus but generally in administrator or manager type roles.

IDAP Used to create approval processes, steps, approvers and to view approval records.

IDVAP Used to View approval records which are "ready to be approved" indicating an approval process waiting approval. This will show all the identities for each step which could actually make the approval.

IDVAR Used to view approval details and approve if the user has approval rights. This function is dynamic and displays different details specific to the approval entity. The example below is for a personnel action. DDAR Details of approvals and notifications may be viewed by day.

The following functions have an approval bar or approval action button where an approval may be made.

ProductFunctionFunction Description / Menu LabelGUI
ATIAALMaintain Leave RecordsApproval Bar
ATIALCCertify Leave RecordsApproval Bar
ATWMALPReview Employee LeavesApproval Bar
BEIBELProcess Benefit ElectionsApproval Bar
BEIBPOEProcess Employee Benefit OE ElectionsApproval Bar
CMIDPSDefine PositionsApproval Bar
CMWADARProcess Personnel ActionsApproval Bar
CMWADARHView Personnel Actions HistoryApproval Bar
CMWADATSApprove TimeAction Button
CMWMDARReview Personnel ActionsApproval Bar
CMWMDARHView Personnel Action HistoryApproval Bar
CMWVDALRApprove Leave RequestsApproval Bar
CMWVDARApprove Personnel ActionsApproval Bar
CMWVDARHView Personnel Action HistoryApproval Bar
CMWVDATSApprove TimeApproval Bar
CPICDAPlan Development ActivitiesApproval Bar
CPICDPEstablish Development ProgramsApproval Bar
CPICPDMaintain Personal Development ProfileApproval Bar
CPICRSDefine CoursesApproval Bar
CPICRSCMaintain Class SchedulesApproval Bar
CPICRSEMaintain Class RegistrationsApproval Bar
CPWACATProcess Training RequestsApproval Bar
CPWMCATReview Training RequestsApproval Bar
CPWMCATHView Training Request HistoryApproval Bar
CPWVCATApprove Training RequestsApproval Bar
CPWVCATHView Training Request HistoryApproval Bar
HRPEALMaintain Aliases (using PA's)Approval Bar
HRPEASMaintain Assignment Info (using PA's)Approval Bar
HRPECLProcess Classification Changes (using PA's)Approval Bar
HRPECMPProcess Compensation Changes (using PA's)Approval Bar
HRPECTMaintain Employee Contacts (using PA's)Approval Bar
HRPEEIMaintain Employment Info (using PA's)Approval Bar
HRPEIDMaintain Identity Info (using PA's)Approval Bar
HRPEMTMaintain Military Info (using PA's)Approval Bar
HRPEPIMaintain Personal Info (using PA's)Approval Bar
HRPEPPMaintain Property Info (using PA's)Approval Bar
HRPEPRProcess Promotions (using PA's)Approval Bar
HRPESTMaintain Employee Statistics (using PA's)Approval Bar
HRPESTTProcess Status Changes (using PA's)Approval Bar
PRIPTRMaintain Pay TransactionsApproval Bar
PRIPTRBBalance Pay TransactionsApproval Bar
PRIPTSEnter Employee Time SheetsAction Button
PRIPTSMaintain Employee Time SheetsAction Button
PRMPPBTDialogApproval Bar
PRPPPMMaintain Payment Method Info (using PA's)Approval Bar
PRPPRLCMaintain CDN Tax Filing Info (using PA's)Approval Bar
PRPPRLUMaintain US Tax Filing Info (using PA's)Approval Bar
PRWAPTEManage Time Collection HoursAction Button
PRWAPTSManage Time CardsAction Button
PRWEPTEMy Time Collection HoursAction Button
PRWMPCTCReview Employees Time Cards - Calendar ViewAction Button
PRWMPTSReview Time CardsAction Button
PRWVPTEManage Time Collection HoursAction Button
PRWVPTSApprove Time Cards in DetailAction Button
REIRASPrepare AssessmentsApproval Bar
REIRCAMaintain Candidate ProfilesApproval Bar
REIRPOMaintain PostingsApproval Bar
REIRPOAApprove PostingsApproval Bar
REWARPOMaintain PostingsApproval Bar
REWRRAPView Applications By PostingApproval Bar
REWRRMCAMaintain Candidate ProfilesApproval Bar
SAISPAMaintain Personnel ActionsApproval Bar
SAISPFBalance Pay for Performance IncreasesAction Button
SAISRVRecord Performance ReviewsApproval Bar
SAMSSPADialogAction Button
SAWMSRVReview Employee AppraisalsApproval Bar
SAWVSRVApprove Performance AppraisalsApproval Bar
TSITAPCApprove Clock AdjustmentsApproval Bar
TSWATAPCAuthorize Punch ChangesApproval Bar
TSWATTSManage Time SheetsAction Button
TSWATTXManage Time CollectionsAction Button
TSWMTAPCAuthorize Punch ChangesApproval Bar
TSWMTTSReview Time SheetsAction Button
TSWVTAPCAuthorize Punch ChangesApproval Bar
TSWVTSHApprove Employee Time and ExceptionsAction Button
TSWVTTSApprove Time Sheets in DetailAction Button
TSWVTTSHView Time Sheet HistoryAction Button
TSWVTTXManage Time CollectionsAction Button

STANDARD FUNCTIONALITY#

Empty Approval Step#

When an approval process has been initiated each step is displayed in the approval bar which is visible in certain approval screens. Approvers who qualify for approval by the where clause will be notified of a pending approval to be made. After such approval the next step is assessed for the current approvers. If the next step is lacking approvers from either an empty definition or the defined approver is disqualified via a where clause that empty step is ignored.

When a step is ignored it will not show in the approval bar or have approval notification records created. It will appear as if the approval process did not have that step defined. When the empty step is the last step in the process the last approval made will be considered final approval and the approval entity will be updated to the "approved" stage.

Example: Approval Process - Where clause = PEAS Personnel Actions only.
Step 1, Approver = Department Manager (no where clause)
Step 2 , Approver = HR personnel Specific person ( Where Clause - where wage Scale/Step is the last step sequence 3)
The assignment manager creates a new Personnel Action for a salary increase in PEAS for a salary increase to the next step. (2 of 3) Notice only 1 step is displayed and the approval process includes two steps. The approver where clause disqualifies the last approver. Approval by the Department manager will result in final approval and the personnel action will become available for processing.

Approver Options#

Approvers may be defined with fours options. These options are "up to approval", "allow send back", "allow decline" and "allow change". Only applies to a second level of approval or higher. Once that level of approval is reached the approver will be notified of the pending approval. At that time the approver now has three possible actions to make.

Up to Approval
When Up to Approval is checked that approver is eligible to approve entities which they qualify for via the where clause, including entities that are waiting approval on a step with a lower sequence. When up to approval is granted "notification records (approval records)" will be created with a status of "Approval In Progress" (Notification records are discussed further in Approval Notification /Workflow).
Allow Send Back
This setting applies to a second level of approval or higher. If at the time of approval the approver does not like what they see the option to send the entity back to the beginning of the approval process is available. This will set all previous step approvals (approval records) to have a status of "Approval Sent Back" which will cause the first step approvers to be notified (via new approval records) to once again approve the entity. Comments as to why the send back was made may be entered if necessary.
This option is available in eP as an option in the right mouse click menu over the appropriate step on the approval bar.
Allow Decline
This setting allows the approver to decline the approval entity. The option is applicable to all steps the approver is responsible for. If a decline is made the approval process is complete, no further approval notification is necessary. This option is available in the right mouse click menu. Comments as to why the decline was made may be entered if necessary.
Allow Change
This setting will cause the approval entity to be editable or not during the approval. In cases where the approver is allowed to view only while making the approval.
Change is allowed. Notice the updateable details of the PA: Change is NOT allowed. Notice the non-updateable details of the PA: Once an approval entity has entered the approval stage (explained below) of "Stage_WaitingApproval" CRUD will be controlled to the appropriate approver. This means that only approvers who have rights to approve on the current step with "allow change" rights will be able to edit the information displayed.

Approver Derivation#

Department Manager
Used for approval entities which are employee based and is the person who manages the department for that employee. Example. If approving a time sheet; the person who manages the department in which the owner of the time sheet works will be the approver. This person is derive by first looking if a specific person has been defined as the manager in IDDP. This is defined by a specifying a person or a supervisory position.
When a specific person is not defined then the first active incumbent found in the managing position will be set as the manager. When no active employee is in the specified position the logic described below for position manager will be followed.
Position Manager
Used for approval entities which are employee based and is the person who manages the position for that employee. Example: If approving a time sheet; the person who manages the position in which the owner of the time sheets works will be the approver. This is defined by specifying a person or another position which manages it.
When a specific person is not defined then the first active incumbent found in the Reports to position will be set as the manager. If no active employee is found in that position the manager of that position will be found in the same manner until a position is found where it is not reporting to another position.
Assignment Manager
Used for approval entities which are employee based and is the person who is defined as the manager for that employee on their current assignment details (IEAS).
First Manager
Used for approval entities which are employee based and is the first manager found defined in a pecking order of assignment manager, position manager and finally department manager for that employee. If no assignment manager is found then the manager of the position will be searched, if no active employee is found then the manager of the department is searched. The logic for each is described above. Only the first employee found in this order will be used.
Specified Person
Used for all approval entities, employee based or not. This allows an approval administrator to set a specific employee as an approver.
Specific List of People
Used for all approval entities, employee based or not. This allows an approval administrator to set specific people as an approver. This list of people is defined in IMPL and must be an eP people list (p2k people lists are not supported.)
Last Approvers Manager
Used for all approval entities, employee based or not. This approver type is not intended to initiate an approval process(any approver on step 1). There must be at least 1 approval made on a previous step and only applies if the previous step was approved and not declined or sent back. This type uses the logic in "First Manager" as described above.
All Managers
Used for approval entities which are employee based. This will set each manager found as an approver. The first manager defined on the assignment, position and department will have approval notification record created.

All manager type approvers are searched for based on a date in context to the approval entity. This will be the date used to search date sensitive details.

Approval Stages#

Approval Entities are managed by stages. Simplified for example - "before", "during" and "after". Each stage is mapped for each approval entity. This enables each entity to manage them selves to their specific business status descriptions. These are lexicon columns on the entity which describe their status or authorization requirements. The personnel actions mapping is given as an example below. For this example the "before" is stage_WorkInProcess, "during" is Stage_WaitingApproval and "after" is either "Stage_approved", "Stage_Not_approved" or "Stage_Cancelled".

Personnel Actions - PA Status mappings translating from pa_status to approval stage.

Pending Stage_WorkInProcess

In ProgressStage_WaitingApproval
SubmittedStage_WaitingApproval
Failed UpdateStage_Approved
ApprovedStage_Approved
CompletedStage_Approved
Not ApprovedStage_Not_Approved
Tracked CopyStage_Cancelled
CancelledStage_Cancelled

Personnel Actions - PA Status mappings translating from approval stage to pa_status

Stage_WorkInProcessPending
Stage_Not_ApprovedNot Approved
Stage_CancelledCancelled
Stage_WaitingApprovalIn Progress
Stage_ApprovedApproved

Approval Records#

Each stage dictates what approval records are created. The Approval records are what is used to create a visual (approval bar) or report ( discoverer) to show where and who the approval sits, whether it`s before during or after the approval.

The current supported approval record statuses are:

Approval Cancelled
used when an entity is cancelled or deleted. All existing approval records will receive this status. (explained in a following section)
Future Approval
used for up and coming approvals to be made for an approver who do not have upto approval. Approval Stages which cause this are Stage_WorkInProcess or Stage_WaitingApproval. For the Stage_WorkInProcess future Approvals are optional and can be controlled but a site preference defined in IMST. Each table where approvers need as much time a possible before the actual approval is required may be defined. in the example screen shot below. Future approval records will be created when either a Time sheet or Personnel Action is set to a WIP status. Example: This may be helpful for managers with employees that have time sheets which have not been submitted for approval.
Ready To Be Approved
used for approvers which are required to make approval decisions.
Approval In Progress
used to show approvers with `Up To approval` that there is an approval in progress which they can make an up to approval on.
Approved
used to show a positive approval
Sent Back
used to show the approval process has been requested to start over.
Approved Sent Back
used to show a lower step positive approval has been send back to be re-done.
Approval Historic
used to show and entity has had a positive approval but is no longer needed either through a cancel or deletion.
Declined
used to show a negative approval.
Declined Historic
used to show a negative approval was made and is no longer needed either though a cancel or deletion.

Maintenance of approval records is accomplished in three ways. The first is automatically by the system when an existing IDAP definition pre-exists to an approval process starting and does not change during the approval. Secondly a manual button is on IDAP to update records if the approval process has been updated in any way with approvals in progress. The third is to run an update process UDAP. This process is suggested to be scheduled daily to allow start and end dates to be respected in IDAP processes or approvers, where clauses or designate approvers.

Final Approval#

Is a term used to describe any approval process that is in progress which has an approval made where it is deemed the last approval required for the process. This is possible for example in cases of missing approvers or an approval on the last step. Once final approval is made, the approval entity is updated to the "approved" stage

Approval Work Flow Notification#

Approval Records are used in several ways to compliment the approval system. One of the usages is Work Flow. Work flow is provided on the table p2k_cm_approval_records. This enhances approvals by adding all standard features of work flow such as emails, user calcs and in turn procedures.

The term "Notification records" has been used to describe the records created to "notify" an approver, say for example an assignment manager of a pending approval via email using work flow. If on step one an approver is required to make an approval. Once the approval entities stage is set to Stage_waiting_approval, an approval record or notification record is created. This record has a status of "Ready to be Approved" as defined in the lexicon X_APPROVAL_STATUS. Up to Approvers also get a notification record with the status of "Approval In Progress".

Approval Deletion or Cancellation#

Since approval records are used in a few ways to notify approver of pending approvals like screens (SS) and work flow, approval records are maintained in cases where the approval entity is deleted or cancelled. The approval record status is updated to cancelled and will have a comment made if deleted. Cancelled Example: Deleted Example: Status is cancelled with a comment showing the entity was deleted.

Generic Approvals#

It is not necessary to always define an approval processes. When simply a sanity check of the data is required and anyone or everyone is required to review the data on the approval entity before it moves to the next status value, generic approvals may be used.

If an approval entity is moved to the approval stage "Stage_WaitingApproval" and there has not been an approval process defined a generic 1 step approval bar will be displayed. Any user with access to the function and data may approve this type of approval. No approval records are ever created. The status of the approval entity is simply updated to the next stage upon approval.

A generic approval would be displayed as below with the right mouse click menu:

Find Block Approval Toggles (Obsolete)#

This section has been replaced with the site preference described below available in 4.09

Two self service screens listed below have a toggle available for use located in the find block of each function. This toggle enables the data listed in the find block to change dynamically to show "potential" approvals verses "actual" approvals. WVDATS - Approve Time WVTSH - Approve Employee Time and Exceptions

It is highly recommended that properly built where clauses are used on both the approval process and approver levels. If the refining of approval processes and approvers is not properly done performance will be an issue. Consultants would be a good source to help ensure that all filtering is done properly to avoid any performance problems. Below is an example of too many rows for an approver to manage.

Site Preferences (New as of 4.09)#

The site preference APPROVAL_WIP_REC now replaces the old simulation logic applied when trying to find the possible approvals an approver may need to make. This logic gives more of an accurate view of the up and coming approvals by monitoring specific tables defined by this preference. In IMST, preference records may be added as in the above example for table TIME


Notes#

Click to create a new notes page