EditSubmitReturnPerfAppr

Edit Submission/Return of Performance Appraisal

Minor Business Rule

Object Name: N0800219

Parent DLL: CHRM

Location: Client/Server

Language: NER

Functional Description

Purpose

This function determines whether a the status of a performance appraisal can be incremented  in one 

of the following ways:

• Can the employee submit a self appraisal
• Can the self appraisal be returned to the employee
• Can a manager submit an appraisal
• Can a manager return an appraisal
• Can the employee be notified that the appraisal is complete
• Can the employee give final approval to the appraisal and lock it from further changes
• Can the employee contest the appraisal and lock it from further changes

The function can be called to just test for one of the above conditions or called to test all of the 

above conditions.  If the program is called to test for all of the above, errors are automatically 

suppressed.


Setup Notes and Prerequisites


Special Logic




Technical Specification


Submit Self Appraisal is allowed if the following conditions are true:

• The audience flag is 1 (employee)
• The user logged on is the employee
• The Gap Status is less than 3 (management approvals complete)
• The self appraisal is required
• The employee self appraisal has not been submitted already

Return Self Appraisal is allowed if the following conditions are true:

• The audience is the 2 or 3 (manager or HR)
• The responding supervisor is a manager (direct or indirect) of the employee or is the highest 
authority approver

• The Gap Status is less than 3 (management approvals complete)
• The self appraisal was submitted

Submit Management approval is allowed if the following conditions are true:

• The audience is the 2 or 3 (manager or HR)
• The responding supervisor is a manager (direct or indirect) of the employee and is a required 
approval level or is the highest authority approver

• The Gap Status is less than 3 (management approvals complete) and not equal to 0 (appraisal not 
started)

• The last approval status is blank (no one has approved so far), or was approved by a lower-level 
manager, or was returned by a higher level manager.


Return Management approval is allowed if the following conditions are true:

• The audience is the 2 or 3 (manager or HR)
• The responding supervisor is a manager (direct or indirect) of the employee and is a required 
approval level or is the highest authority approver

• The Gap Status is less than 3 (management approvals complete)and not equal to 0 (appraisal not 
started)

• The last approval status was approved by a lower-level manager, or was returned by a higher level 
manager.

• The responding supervisor is not the first level supervisor.

Notify Employee that the appraisal is complete is allowed if the following conditions are true:

• The audience is the 2 or 3 (manager or HR)
• The responding supervisor is a manager (direct or indirect) of the employee and is a required 
approval level or is the highest authority approver

• The Gap Status is equal to 3 (management approvals complete)

The employee can give final approval and lock the appraisal if the following conditions are true:

• The audience flag is 1 (employee)
• The user logged on is the employee
• The Gap Status equal to 4 (appraisal open for employee review)

The employee can contest the appraisal and lock it if the following conditions are true:

• The audience flag is 1 (employee)
• The user logged on is the employee
• The Gap Status equal to 4 (appraisal open for employee review)


Data Structure

D0800219 - Edit Submission/Return of Performance Appraisal

Parameter NameData ItemData TypeReq/OptI/O/Both
mnSupervisorInF087711ANPAMATH_NUMERICREQINPUT

Supervisor F087711 - The supervisor number in the appraisal being edited against 
for allowed approvals.  This is a key field to the appraisal.

mnAddressNumberAN8MATH_NUMERICREQINPUT

Address Number - The employee who's performance appraisal is being edited for 
submit/return.

szAudienceFlagAUDNcharREQINPUT

Audience Flag - the role the current user is acting as.
1 - Employee

2 - Manager

3 - HR

mnRespondingSupervisorANABMATH_NUMERICREQINPUT

Responding Supervisor - If the Audience Flag is 1 (Employee) then this value 
should be the employee number.  Otherwise, this is the supervisor who is making the 

approval/return. It could be the currently signed on user or a delegate.

nLevelOfLastApproverLVELintegerOPTINPUT

Level of Last Approver - This value can be retrieved from the F087711 of this 
appraisal.  It is the level in relation to employee of the last manager to 

approve/return the appraisal.

cLastApprovalStatusAPPSTcharOPTINPUT

Last Approval Status - From the F087711 record for this appraisal.  This is the 
status of the last person to approve the appraisal

Blank or Null - Never been approved or returned

1 - Approved

2 - Returned

szGapStatusGAPScharOPTINPUT

Gap Status - The status of the appraisal in the F087711

szEmployeeSelfAppraisalStaESAScharOPTINPUT

Self Appraisal Status - The status of the employee's self appraisal in the 
F087711.

nLevelInRelationToEmployeeLVELintegerOPTBOTH

Level In Relation To Employee - Returns the level of management the responding 
supervisor is to the employee.  1 is for first level managers, 2 is for second level 

managers, and so on.  999 is the highest authority.  This information can also be 

passed in to improve performance.

cSuppressErrorMessageSUPPScharOPTINPUT

Suppress Error Message - Enter a 1 to suppress errors from being set on the data 
structure items.  Otherwise, appropriate errors will be set when the approval or 

return is not valid.

cCheckForCertainApprovalEV01charREQINPUT

Check for Certain Approval - This flag notifies the program if it needs to check 
for a specific approval or if it should determine if all the approvals are valid.


0 - Verify if all approvals are valid (Will not set errors)

1 - Verify if self appraisal can be submitted

2 - Verify if self appraisal can be returned

3 - Verify if management can submit appraisal

4 - Verify if management can return appraisal

5 - Verify if employee can be notified to review appraisal

6 - Verify if employee can approve final

7 - Verify if employee can contest final

cSubmitSelfAllowedEV01charOPTOUTPUT

Submit Self Allowed
0 - Submit self appraisal not allowed

1 - Submit self appraisal allowed


cReturnSelfAllowedEV01charOPTOUTPUT

Return Self Allowed
0 - Return self appraisal not allowed

1 - Return self appraisal allowed

cManagementApprovalAllowedEV01charOPTOUTPUT

Submit Management Approval Allowed
0 - Submit management approval not allowed

1 - Submit management approval allowed

cManagementReturnAllowedEV01charOPTOUTPUT

Management Return Allowed
0 - Management return not allowed

1 - Management return allowed

cNotifyEmployeeAllowedEV01charOPTOUTPUT

Notify Employee Allowed
0 - Notify Employee that appraisal is done is not allowed

1 - Notify Employee that appraisal is done is allowed

cFinalApprovalAllowedEV01charOPTOUTPUT

Final Approval Allowed 
0 - Final approval not allowed

1 - Final apprvoal allowed

cFinalContestingAllowedEV01charOPTOUTPUT

Final Contesting Allowed 
0 - Final contesting not allowed

1 - Final contesting allowed

cEmployeeSelfAppraisalRequESARQcharREQINPUT

Employee Self Appraisal Required - a flag from the F087711 which denotes whether 
a self appraisal is required or not.

nLevelFromLVELFintegerOPTBOTH

Level From - In the required approvals setup (F05844), this is the lowest level 
manager that is required to approve for this employee.  The approval type for 

appraisals is PERF.  If this information is not passed in it will be retrieved and 

returned.

nLevelToLVELTintegerOPTBOTH

Level To - In the required approvals setup (F05844), this is the highest level 
manager in the employee management hierarchy that is required to approve for this 

employee.  The approval type for appraisals is PERF.  If this information is not 

passed in it will be retrieved and returned.


mnHighestAuthorityANHAMATH_NUMERICOPTBOTH

Highest - In the required approvals setup (F05844), this is the last approval 
required.  This person may be outside the employee managment hierarchy.  The approval 

type for appraisals is PERF.  If this information is not passed in it will be 

retrieved and returned.


mnCurrentUserAddressNumberAN8MATH_NUMERICOPTNONE

Current User Address Number - 

The address number of the currently signed on user.  If this information is not passed in, or it's value is 0, then the 

function will retrieve it.

szCompanyHomeHMCOcharOPTNONE

Company Home -

The employee's home company from the employee master.  If this information is not passed in, it will be retrieved.

szCostCenterHomeHMCUcharOPTNONE

Home Business Unit -

The home business unit of the employee from the employee master.  If this information is not passed in, it will be 

retrieved.

Related Functions

None

Related Tables

None