CreatePerformanceAppraisal

Create Performance Appraisal

Minor Business Rule

Object Name: N0800211

Parent DLL: CHRM

Location: Client/Server

Language: NER

Functional Description

Purpose


The purpose of this function is to edit and create a performance appraisal and if required employee 

self-appraisal. The function must be passed the type of review, employee's direct supervisor's address, 

employee's address, review from and thru dates, due dates for the performance appraisal and the 

employee self-appraisal.  The function will return an error flag for any error found during the creation 

process.


The function will edit for a duplicate appraisal based on the type of review, supervisor address, 

employee address and review from and thru dates. It will also edit if there is an active appraisal with 

the review dates that overlap the dates of the appraisal to be created, this will cause a warning error 

that a interactive user can override.


The function will create the F087711 Appraisal Header record, call the function to create the gap 

snap shot for competency based appraisal or call the function to determine the template for traditional 

based appraisals.  If a template is to be created a record is written to F087711B.


Setup Notes and Prerequisites


Source Data Structure

Data Item Data Structure DescriptionI/OReqNotes
TINCcTypeIncreaseNextRevwIRType of Performance Appraisal to be created.

ANPAszSuperviorAddressNumberIRThe address book number of the supervisor.

AN8szEmployeeAddressNumberIRThe address book number of the employee.

FRVWjdDteFromReviewIRThe From Review Date indicates the begining 

date of the range of time under which the employee's performance is considered for the current review. 

TRVWjdDteThruReviewIRThe Thru Review Date indicates the ending date 

of the range of time under which the employee's performance is considered for the current review.

PADDjdDatePerformanceAppraisalIRThe date by which the performance appraisal 

must be completed, including the appropriate approvals.

ESADDjdDateSelfAppraisalDueIRThe date by which the employee must complete 

his or her self appraisal and notify his or her manager that it is completed.

EV01cFunctionCalledInterOrBatch IRFlag to indicate how function is called. (0 - 

Interactive, 1 - Batch)

EV02cBypassWarning IRFlag to indicate if function should bypass 

warning error edit.  (0 - Perform warning error edit, 1 - Bypass warning errors)

EV04cDefaultCompetencyWeights IRFlag if the job competency weights to should be 

default used in function N0800156 Create Gap Snap Shot. Value should be supplied by a Processing 

Option.  

PIDszProgramId ONApplication ID or UBE ID that is calling the 

named ER. This value will be output to the PID field in the Appraisal Header table F087711.

EV03cErrorStatus ONFlag to indicate an error has been found. 

0 - No Errors

1 - Warning of a possible duplicate appraisal 

2 - Hard Error duplicate appraisal found

3 - Hard Error appraisal header not created 

4 - Hard Error gap snap shot not created

5 - Hard Error Employee Master error 

6 - Hard Error one or more required parms not passed

7 - Hard Error Job Desc. or Job Group error, job type/step are probably not valid

8 - Hard Error failed to retrieve HR constants

9 - Hard Error failed to create Template Record

A - Hard Error One or more of the following fields are Blank OTPS, ORMCU or JBCD  

DEFjdDateEffective ONThe effective date of the created appraisal

SERKmnKeyValueSerialNumber ONThe assigned serial number of the created 

appraisal

PACMcManagementAppraisalMethod ONManager appraisal method

ESARQcEmployeeSelfappraisalReqONEmployee self-appraisal required 1/0 1-Yes 0-No

PABMcEmployeeSelfappraisalMethodONEmployee self-appraisal method




Special Logic




Technical Specification


Editing

• 
Verify that the fields TINC, ANPA, AN8, FRVW, TRVW, PADD and ESADD are passed in. If any 
of the fields are not passed in set DS EV03 - 6 return function failed.


• 
Use data structure fields TINC, ANPA, AN8, FRVW and TRVW fetch from F087711. If record 
found set DS EV03 = 2 return function failed.



• 
Check DS EV02 if not equal to 1 edit for active appraisals that reviews dates overlap DS 
review dates

• Use data structure fields TINC, ANPA, AN8 and GAPS = active select from F087711. Read 
through the selected records and compare the review from and thru dates to the data 

structure dates if the dates overlap set DS EV03 to 1 warning return function failed.


• 
Use DS AN8 to fetch employee master from F060116. If employee master not found set DS 
EV03 - 5 return function failed.


Build Appraisal Header F087711

• 
Call to function N0800205 - Get Performance Appraisal Settings set parms as following
• Check returned ERRC If NE to 0 set DS EV03 - 3 return function failed.

• 
Call BSFN N0800193 Get HR Constants return the parm OTPS szOrganizationType. If function 
fails set EV03 - 3 return function failed.


• 
Use index F087711_2 XJSERK Descending to fetch last record from F087711 set work field 
EQ to SERK + 1


• 
Call BSFN B9800100 to return the audit information. If function returns failed set EV03 
- 3 return function failed.


Build Competency Based Appraisal

• 
Check if the supervisors appraisal method set for competency based by calling N0800156.
'b7Check return for function if failed delete F087711 record set DS EV03 - 4 return function 
failed


• 
If Manager Performance Appraisal method is competency based calculate the Performance 
Appraisal Level.  If  Employee Self Appraisal Method is competency based calculate Employee 

Self Appraisal Level.

• Total  Job Competency Percentage achieved.  Loop through the Gap Snap Shot Table 
F0800609 and retrieve the Job Competency Level Rule Weight and the Job Competency Percent 

Achieved.  Divide each by 100 and load the answer into a variables associated with data item 

BFAC.  BFAC will hold eight decimal places.  

• Calculate the managers performance appraisal level by multiplying  Job Competency 
Percentage achieved and Required Performance Appraisal Level. VA PerfAppLevel_BFAC = VA 

TotJobCompAch_BFAC*VA ReqPerfLevel_REQLS

• Call N0800212 Check Scale for Valid Value in order to round the Performance Appraisal 
Level correctly and to return a description.

• If the Employee Self Appraisal Level is required and is competency based determine if 
Employee Self Appraisal Scale and Required level are the same as the Management Performance 

appraisal.

• If the scales and required levels are the same set the Employee Self Appraisal Level 
equal to Performance Appraisal Level  and the Employee Self Appraisal Level Description equal 

to Performance Appraisal Level Description.

• If the scales and/or the required levels are different calculate the Employee Self 
Appraisal Level in the same manner as Performance Appraisal Level. VA EmpSelfAppLvl_BFAC = VA 

TotJobCompAch_BFAC*VA ReqSelfAppLevel_REQLE

• Call N0800212 again for the Self appraisal Level.  

• 
If either Management Appraisal Method or Employee Self Appraisal Method are to  be 
completed in a traditional format call N0800216. 

• Load the Template parameters into F087711B.


Write F087711 Appraisal Header record.

'b7Insert header record into F087711.

Data Structure

D0800211 - Create Performance Appraisal

Parameters

Data Item Data Structure DescriptionI/OReqNotes
TINCcTypeIncreaseNextRevwIRType of Performance Appraisal to be created.

ANPAszSuperviorAddressNumberIRThe address book number of the supervisor.

AN8szEmployeeAddressNumberIRThe address book number of the employee.

FRVWjdDteFromReviewIRThe From Review Date indicates the begining 

date of the range of time under which the employee's performance is considered for the current review. 

TRVWjdDteThruReviewIR
The Thru Review Date indicates the ending date 
of the range of time under which the employee's performance is considered for the current review.

PADDjdDatePerformanceAppraisalIRThe date by which the performance appraisal 

must be completed, including the appropriate approvals.

ESADDjdDateSelfAppraisalDueIR
The date by which the employee must complete 
his or her self appraisal and notify his or her manager that it is completed.

EV01cFunctionCalledInterOrBatch IRFlag to indicate how function is called. (0  

Interactive, 1  Batch)

EV02cBypassWarning IRFlag to indicate if function should bypass 

warning error edit.  (0  Perform warning error edit, 1  Bypass warning errors)

EV04cDefaultCompetencyWeights IRFlag if the job competency weights to should be 

default used in function N0800156 Create Gap Snap Shot. Value should be supplied by a Processing 

Option.  

PIDszProgramId ON
Application ID or UBE ID that is calling the 
named ER. This value will be output to the PID field in the Appraisal Header table F087711.

EV03cErrorStatus ONFlag to indicate an error has been found. 

0 - No Errors

1 - Warning of a possible duplicate appraisal 

2 - Hard Error duplicate appraisal found

3 - Hard Error appraisal header not created 

4 - Hard Error gap snap shot not created

5 - Hard Error Employee Master error 

6 - Hard Error one or more required parms not passed

7 - Hard Error Job Desc. or Job Group error, job type/step are probably not valid

8 - Hard Error failed to retrieve HR constants

9 - Hard Error failed to create Template Record

A - Hard Error One or more of the following fields are Blank OTPS, ORMCU or JBCD  

DEFjdDateEffective ONThe effective date of the created appraisal

SERKmnKeyValueSerialNumber ONThe assigned serial number of the created 

appraisal

PACMcManagementAppraisalMethod ONManager appraisal method

ESARQcEmployeeSelfappraisalReqONEmployee self-appraisal required 1/0 1-Yes 0-No

PABMcEmployeeSelfappraisalMethodONEmployee self-appraisal method


Parameter NameData ItemData TypeReq/OptI/O/Both
cTypeIncreaseNextRevwTINCcharREQINPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
TINCab  ab  cTypeIncreaseNextRevwab  ab  Iab  Rab Type of Performance Appraisal to be created.

mnSupervisorAddressNumberANPAMATH_NUMERICREQINPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
ANPAab  ab  szSuperviorAddressNumberab  Iab  Rab The address book number of the supervisor.


mnEmployeeAddressNumberAN8MATH_NUMERICREQINPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
AN8ab  ab  szEmployeeAddressNumberab  ab  Iab  Rab The address book number of the employee.


jdDteFromReviewFRVWJDEDATEREQINPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
FRVWab  ab  jdDteFromReviewab  ab  ab  Iab  Rab The From Review Date indicates the begining date of the 

range of time under which the employee's performance is considered for the current review. 


jdDteThruReviewTRVWJDEDATEREQINPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
TRVWab  ab  jdDteThruReviewab  ab  ab  Iab  Rab The Thru Review Date indicates the ending date of the range 

of time under which the employee's performance is considered for the current review.


jdDatePerformanceAppraisalPADDJDEDATEREQINPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
PADDab  ab  jdDatePerformanceAppraisalab  Iab  R
ab The date by which the performance appraisal must be 
completed, including the appropriate approvals.


jdDateSelfAppraisalDueESADDJDEDATEREQINPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab Notes
ESADDab  ab  jdDateSelfAppraisalDueab  ab  Iab  Rab The date by which the employee must complete his or 
her self appraisal and notify his or her manager that it is completed.

ab 

cFunctionCalledInterOrBatchEV01charREQINPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
EV01ab  ab cFunctionCalledInterOrBatch  ab  Iab  Rab Flag to indicate how function is called. (0  

Interactive, 1  Batch)


cBypassWarningEV02charREQINPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
EV02ab  ab cBypassWarning  ab  ab  ab  Iab  Rab Flag to indicate if function should bypass warning error 

edit.  (0  Perform warning error edit, 1  Bypass warning errors)


cErrorStatusEV03charOPTOUTPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
EV03ab  ab cErrorStatus  ab  ab  ab  Oab  Nab Flag to indicate an error has been found. 

0 - No Errors

1 - Warning of a possible duplicate appraisal 

2 - Hard Error duplicate appraisal found

3 - Hard Error appraisal header not created 

4 - Hard Error gap snap shot not created

5 - Hard Error Employee Master error 

6 - Hard Error one or more required parms not passed

7 - Hard Error Job Desc. or Job Group error, job type/step are probably not valid

8 - Hard Error failed to retrieve HR constants

9 - Hard Error failed to create Template Record

A - Hard Error One or more of the following fields are Blank OTPS, ORMCU or JBCD  



szProgramIdPIDcharREQINPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
PIDab  ab szProgramID  ab  ab  ab  Oab  Nab Application ID or UBE ID that is calling the named ER. This 

value will be output to the PID field in the Appraisal Header table F087711.

jdDateEffectiveDEFJDEDATEOPTOUTPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
DEFab  ab jdDateEffective  ab  ab  ab  Oab  Nab The effective date of the created appraisal


mnKeyValueSerialNumberSERKMATH_NUMERICOPTOUTPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
SERKab  ab mnKeyValueSerialNumber  ab  ab  Oab  Nab The assigned serial number of the created appraisal


cManagementAppraisalMethodPACMcharOPTOUTPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
PACMab  ab cManagementAppraisalMethod  ab  Oab  N
ab Manager appraisal method

cEmployeeSelfAppraisalRequESARQcharOPTOUTPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
ESARQab  ab  cEmployeeSelfappraisalReqab  Oab  N
ab Employee self-appraisal required 1/0 1-Yes 0-No


cEmployeeSelfAppraisalMethPABMcharOPTOUTPUT

Data Item  ab Data Structure  Descriptionab  ab  I/Oab  Reqab  Notesab 
PABMab  ab  cEmployeeSelfappraisalMethodab  Oab  N
ab Employee self-appraisal method


Related Functions

None

Related Tables

None