!!!Converting Attendance Banks (Leave Accruals)

The application stores the information for employee leave balances in a set of tables accessible from the [IALA] screen. This screen reads from the [P2K_AT_LEAVE_ACCRUALS] and it dependent table [P2K_AT_LEAVE_ACCRUAL_DETAILS]. The process of converting these records is to load them into the interface table, INF_CV_ACCRUALS, first and run the conversion procedure to move them from this table into the two application tables.

Since each [leave policy|LEAVE POLICIES] can have a different setup and a different set of [Attendance Component|ATTENDANCE COMPONENTS] codes that will be required, the records can be loaded in separately for each [policy type|LEAVE_TYPE_CODE]. This will allow the records to be loaded into the environment in smaller batches, over a period of time. As each set of records are loaded and converted they can be validated while the next set of records are being processed.

Typically, each employee will have up to three records loaded and converted for each [leave policy type|LEAVE_TYPE_CODE] they are eligible to be a member of, for each leave bank year they needs to be maintained for historical purposes. The only set of records that will need to loaded and converted are for the current leave bank year. This is the only set of records that will have any impact on the payroll process, or will be picked up for leave time validation. The three records to be loaded for the leave accruals will be the total time accumulated for the leave bank, the total time taken within the current leave bank year and the total time rolled over from the previous leave bank year. These three records correspond to the [AC290|AC-A290], [AC300|AC-A290] and [AC900|AC-A900], respectfully. 

The following table is the layout of the ACCRUAL interface table:

||Name||	Null?	||Type||	Notes
|[LEAVE_TYPE_CODE] |     	NOT NULL  |	VARCHAR2(16)| 	Must be a valid Leave Policy Type entry from the [IAPT] screen
|[LEAVE_POLICY_CODE]|    	NOT NULL  |	VARCHAR2(16) |	Must be a valid Leave Policy entry from the [IALP] screen
|[ENTITY_CODE]      |    	NOT NULL  |	VARCHAR2(16)| 	Used to link to the EMPLOYEE records on [IEEI]
|[PERSON_CODE ]     |    	NOT NULL  |	VARCHAR2(16)| 	Used to link to the EMPLOYEE records on [IEEI]
|[EMPLOYMENT_TYPE]  |        	  |	VARCHAR2(30)|	Used to link to the EMPLOYEE records on [IEEI]
|[HIRE_DATE]        |       	 | 	DATE	|Used to link to the EMPLOYEE records on [IEEI]
|[LEAVE_POLICY_YEAR]|     NOT NULL  |	NUMBER(5,0)|  	Must be set to the four digit year the records ends in.
|[UNOFFICIAL]       |     NOT NULL  |	VARCHAR2(30)| 	Must be a valid lexicon entry. Typically set to '1', for Official
|[START_DATE]       |       	|	DATE	|Must be set to the anniversary of the Leave Policy start date from [IALP]
|[END_DATE]         |       	|	DATE	|Must be set to the anniversary of the Leave Policy end date from [IALP]
|[LEAVE_POLICY_STATUS]|     	|	VARCHAR2(30)|	Must be a valid lexicon entry. Typically set to '01', for Active
|[EVALUATED_BY]     |       	|	VARCHAR2(50)|	Must be a valid user from the [IMUS] screen. Typically set to 'P2K'
|[EVALUATED_DATE]    |      	|	DATE	|
|[ENTITLEMENT_FROZEN] |     	|	VARCHAR2(4)|	Check mark field. Typically left blank.
|[LAST_PAYNO_PROCESSED]|    	|	NUMBER(5,0)|	
|[SERVICE_EVALUATION_DATE]|	|	DATE	|Last date the records was processed through system. Set to [START_DATE]
|[ENTITLEMENT_GIVEN_DATE]  |	|	DATE	|Last date the any time was earned for this bank. Typically set tot [START_DATE]
|[AC_CODE]                | 	|	VARCHAR2(16)|	Attendance Component Code for bank. Typically set to either [A290|AC-A290], [A300|AC-A300] or [A900|AC-A900]
|[EFFECTIVE]         |      	|	DATE|	Date this record becomes active. Typically set to HIRE_DATE.
|[ACCRUAL_TYPE]      |      	|	VARCHAR2(30)|	Must be a valid lexicon entry. Typically set to '03' for Entitlement. This will be replaced during [UACALC]/[UPCALC]
|[ACCRUAL_VALUE]     |      	|	VARCHAR2(200)|	
|[ACCRUAL_VALUE_OVERRIDE]|  	|	VARCHAR2(200)|	Typically left blank.
|[ACCRUAL_VALUE_BASIS]   |  	|	VARCHAR2(30)|	Must be a valid lexicon entry. Typically set to '07', for Hourly


Each leave bank will have a minimum of one record in the INF_CV_ACCRUALS table with all the “NOT NULL” fields filled in, as well as the [AC_CODE] and [ACCRUAL_VALUE]. This record will have the [AC_CODE] set to [A290|AC-A290] and the [ACCRUAL_VALUE] set to the amount of time the employee has available in the bank. However, it is highly recommended that the [A300|AC-A300] record also be loaded and converted to accurately calculate the amount of time remaining in the leave bank. [A900|AC-A900] will also need to be loaded and converted if the bank allows the rolling over of time from one year to the next. 

The [A290|AC-A290], [A300|AC-A300] and [A900|AC-A900] [AC CODES|AC_CODE] track time only. If you have any leave banks that track the dollars associate to this time, you will also need to loaded and convert the [A380|AC-A380], [A370|AC-A370] and [A950|AC-A950]. These are the current year amount earned, current year amount paid and the amount owing at year end. Since most leave banks are tracking time and not dollars, it is rare to convert these AC codes.

After the records have been loaded and converted, they will need to be processed by the [UPCALC]/[UPCLOZ] processes, or from [UACALC]/[UACLOZ]. If the leave accrual records will be processed by [UACALC]/[UACLOZ], outside a pay cycle, the [leave policy|LEAVE POLICIES] should not make use of [user calcs|USERCALC]. If the [leave policy|LEAVE_POLICY_CODE] is defined with [user calcs|USERCALC] that makes use of any data that is derived during a pay cycle these would not be valid during [UACALC]. This would include any [pay component|PAY COMPONENTS] values, [elements|PAY ELEMENTS], pay period start or end dates. If the [user calc|USERCALC] does not make use of any of these types of values, it can still be called from the attendance processing routines in the [UACALC].

Until the leave accrual records are processed through either the [UACALC] or [UPCALC] functions, the employee’s record will only contain the three AC codes that have been loaded and converted. Once processed and closed, all the AC codes configured to store values in accruals from the leave policy definition screen will be filled in and stored in the employee’s records on the [IALA] screen.