Canadian Payroll Highlights
The Payroll System provides the capability to perform all the functions required by standard Canadian payrolls. Features of the AERIS/400 Canadian Payroll include:
- Many ways to post time and wages.
- Accepts time and earnings from Job Cost and other applications.
- Automatic calculation of standard government deductions.
- Many options for automatically calculating other deductions, like health care.
- Link to other preprogrammed deductions.
- Fully automated production of the Record of Employment.
- T4 data retained in detail for year end reporting.
- Taxable benefits are distributed automatically.
- Several independent payrolls can be run on the same computer.
- The user updates all tables and masters without programmer intervention.
- AS/400 F4=List function is widely used for finding codes.
- Deductions can be defined at the department, pay period, or employee levels.
- Employee and employer contributions and taxable benefits can be predefined.
- Rate codes and deductions can be generally defined, or specific to an employee.
- Calculations can be overridden on a one-time basis.
- Time banking for vacation, sick leave, and other purposes.
- Full audit trail of all changes to year-to-date totals.
- A variety of employee list formats and sequences,
- Basic Human Resources data management.
- Employees are grouped by Department.
- Several standard cheque formats are available.
- EDI Payment Interface included.
- Prompts for backups at key operating points, like pay period closing.
- Cheque Reconciliation is a built-in subsystem.
- EDI Payment Advices processed in Reconciliation.
- Optional Run Control to monitor progress through payroll preparation.
- Year-end Close does not affect the first payrolls of the new year.
- Year 2000 Compliant
Additional Information
- An extensive series of reports and lists are available including:
- Employee Master lists in several formats and sequences.
- Mailing Lists.
- Employee Year-to-date and Current Period status reports.
- Postings Journals.
- Cheque Register.
- Deduction Summaries.
- General Ledger Distribution Summaries.
- Cheque Reconciliation List.
- Parameter lists for all codes.
- T4 Pre-list and Summary.
- Record of Employment, all entries.
- Workers' Compensation Board report.
- Operating features include:
- Totally menu-driven system.
- Defaults for most inputs to minimize keying.
- Regular time and 2 overtime entries per time transaction.
- Company standard rates with optional overriding employee rates.
- All codes, government tables, and parameters are maintained by the user.
- Automated generation of standard payroll inputs.
- Deductions can be defined for the employee, employer, and taxable benefits at three levels:
- Department
- Employee
- One-time override
- Manual cheques processed with the regular payroll.
- Time banks managed using standard time entry rates.
- Processing features include:
- Prompts for backup at key operating points.
- Run control of the sequence of critical actions during the pay period.
- Unlimited deductions for an employee.
- Several standard deduction calculation methods including:
- Fixed rate
- Based on earnings
- Based on hours worked
- Up to 9 classifications of taxable benefits.
- Forty or more independent payrolls can co-reside on the same computer.
Regular Payroll
Processing Steps
Earnings Assembly
- Create an Earnings Batch
- Enter or Update Time and Other Earnings in this batch
- Edit the Earnings Report for this batch
- Post the Batch of Earnings
- Print the Pay Period Earnings, Earnings Analysis and Earnings Exception Report
Deductions and Other Incomes
- Create a Deductions Batch
- Enter or Update Manual Deductions in this batch
- Generate Regular and Government Deductions for this batch
- Edit the Deductions List for this batch
- Post the Batch of Deductions
- Print the Pay Period Deductions and Deductions Analysis
Payments Processing
- Enter or Update Manual Cheques
- Generate the Cheques
- Edit the Cheque List
- Print the Preliminary Cheque Register
- Post and Number the Cheques
- Print the Cheque Register
- Print the Cheques
- Print the Pay Statements
- Print the Deposit Register
- Transfer the Payments to the Bank
Pay Period Processing
- Print the Cheque Register
- Print the Deductions Detail
- Print the Distributions Detail
- Print the Cheque Reconciliation Report
- Print the General Ledger Report
- Print any other required reports
- Close the Pay Period (release to General Ledger)
Terminations
- Update the UIC History
- Terminate Employees with Record of Employment
- Print UIC History
- Print the Record of Employment
Notes
Care must be taken during time posting to insure that the Employee Master information is ins phase with the time input.
This is necessary to apply the correct default rates and distributions. The best scheduling is:
- Cut off Employee changes and time input simltaneously
- Update the Employee Masters
- Post the time
Before beginning to post time for the pay period, verify that the Pay Period and Status are correct for each department.
Partial Pay Runs
Processing Steps
- Enter or Update Earnings
- Edit the Earnings List
- Post the Earnings
- Enter or Update Manual Deductions
- Generate the Deductions
- Edit the Deductions List
- Post the Deductions
- Enter or Update Manual Cheques
- Generate the Cheques
- Edit the Cheque List
- Print the Preliminary Cheque Register
- Post and Number the Cheques
- Print the Cheques
- Print the Pay Statements
Routine Processing
The payroll processing has been generalized to accommodate the widest range of options. For the user with very basic payroll needs this may appear to add unnecessary steps to the job. However, when the employees and codes are set up it will prove to be a simple operation and the few added steps just serve as audit controls.
Payroll processing is made up of five functions:
- Earnings assembly
- Basic deductions assembly
- Government deductions assembly
- Cheque assembly
- Pay Period reporting
Each assembly function involves:
- transaction entry and/or generation
- transaction lists for editing
- transaction update, if needed
- posting transactions to history.
Generation functions only use previously posted transactions. For example, earnings must be posted before deductions can be generated. Deduction processing goes through at least two cycles. The first is for basic deductions, like health care, and other calculations, like vacation accruals. These are posted and then the government deductions, like income tax, are generated. Finally the cheque itself is generated. In the cases of earnings and deductions, several batches can be used in one pay period for better control. Only one cheque batch is used and it must be named CHEQ. At this time, one batch register is used for all batches - earnings, deductions, and cheques. For ease of operation put only one type of transaction in each batch.
Earnings
Earnings are keyed into batches or accepted from Job Cost. The Rate Code defines the rate used to convert units into the amount to be paid. Three types of units can be entered on each earnings transaction. They are generally referred to as Regular, Overtime 1, and Overtime 2. The amount shown on the Rate Code is the base for the Regular Rate. Overtime Rate 1 is 1.5 times the Regular Rate, and Overtime 2 is 2.0 times the Regular Rate. Each of these rates can be modified by applying a premium to it.
Premium Calculations
Premiums are increases made to a rate on earnings transactions. Premiums are applied to each of the three rates independently. The way the premium is applied is controlled by codes on the Rate Code definition. Some premium calculations use values from other sources as well. Premium Codes on the Rate Code also say how the premium is applied. The following premium codes are defined:
- N - no premium is applied.
- Y - a premium is applied based on the Premium Type on the Rate Code.
- R - a shift premium defined by the Shift code is added to the base rate before the multiple is applied.
- S - a shift premium defined by the Shift code is added to the base rate after the multiple has been applied.
Shift Premiums
The Shift is a way of classifying earnings. The Shift Code can be used to assign a premium to each of the rates on a transaction. The valid Shift codes are defined in the general payroll table SH. Each Shift code can have a premium amount assigned to it. If the Premium code is S, this amount is added to the rate after the multiple is applied. For example:
- If the Rate Amount is 10.00 and the premium is 2.00, them Overtime 1 Rate is 17.00.
If the Premium Code is R this amount is added before the multiple is applied. For example:
- The Overtime 1 Rate is 18.00. The Regular Rate is 12.00 for both codes.
Generating Deductions
Deductions may be entered manually at any time. However, most deductions are repetitive and repeated manual entry just increases the chances of entry errors. The Payroll provides a structure for defining deductions to minimize the need to make manual entries. A deduction definition is identified by a Deduction Code and an Employee Id. A general deduction has a Deduction Code and a blank Employee Id. The general deduction does not initiate an employee deduction without additional data. The simplest automatic deduction is an employee deduction taken every pay period. In this case all the data to do the calculations are on the employee-Deduction entry. When a deduction is added to an employee the data fields are defaulted from the general deduction definition. In order for the employee-deduction entry to apply independent of anything else the Status must be set to F, for forced. Then there are Department Deductions. These are associated with the department through the Deduction Sets. When a deduction appears in a Deduction Set with a simple Action code it is calculated every pay period in which that deduction set is active for every employee. The definition of the calculation is provided by the Employee-Deduction entry. If there is no specific Employee-Deduction entry the definition is taken from the general deduction definition. The Employee-Deduction entry can be used to deactivate the deduction by using Calculation Type A and zero in all the amount fields.
The most complex automatic calculation is the Conditional Deduction. A Conditional Deduction is taken only when:
- the Deduction Set is active,
- the Deduction Set Action Code is *, and
- the Employee-Deduction Deduction Type is also *.
The calculation may be defined directly on the Employee-Deduction entry by providing all the values. It may be defined indirectly by having a blank Calculation Type on the Employee Deduction entry. In this case the generator gets the calculation definition from the general deduction definition. The Employee-Deduction entry can be used to deactivate the deduction by using Calculation Type A and zero in all the amount fields.
Generation of Deductions
There are two classes of deductions that are generated. Before either class is generated all earnings must be posted to the Earnings History. Generated deductions go into a batch where they can be edited further before posting. Manual entries can be added to a generated batch, or processed in an independent batch.
The programmed generation of deductions is driven by the Employee Masters. Deductions are generated for every active employee, whether he has income or not. If an employee is not to be included in a payroll, simply delete his entries from the generated batch. If the employee is going to be inactive for a time set their status to I. If they are no longer employed set their status to T.
Regular Deductions
Once the raw earnings have been totaled for the employee, generation begins with the deductions found in the Deduction Set for the Department. The order of processing is controlled by the sequence of codes in the Deduction Set. A simple Action Type, like Y, is done immediately. A conditional Action Type (*) requires a check for a paired Employee Deduction. i.e. the Deduction Type is also *. Initially only deduction calculations can be conditional. If no Calculation Type appears on the Employee Deduction the definition of the deduction is taken from the General Deduction in the series. A Deduction Set entry can be suppressed by setting the status of the associated Employee Deduction to F.
After the Deduction Set is processed the list of Employee Deductions is scanned. The order of processing is defined by the Deduction Code, initially. Conditional entries, Action Type = *, are ignored. This is a one-pass generation process with no consideration for previously posted deductions. There are also constraints on sequences of processing in this implementation.
Government Deductions
First the posted earnings are totaled. Then the posted calculations are applied according to their type. Totals are accumulated of gross earnings, taxable earnings, and UIC amounts. The government deductions are calculated in the order CPP, UIC, then income tax.
UIC is based on weekly earnings no matter how the earnings are reported. To do this the Period End Date must also be the end date of a UIC week. Earnings and hours are then allocated to the weeks depending on the Effective Date of the transaction and the number of days to which it applies, assuming an even distribution over these days. Taxable benefits and calculated income transactions are assigned to the week in which their Effective Date falls. From these totals we determine which weeks qualify for UIC and for how much. A deduction transaction is generated for the UIC premiums and a UIC History transaction is generated to record the Insurable Earnings.
If the resultant cheque is negative it checks to see if the employee can have an automatic advance. i.e. Does this employee have access to Deduction Code ZAI? If he can, an advance is issued in this pay period to bring the check to zero. When this entry is posted, a second entry is posted to the next pay period to recover the advance. The first entry is an income and the second is a deduction, and the distribution codes are flipped to effect account clearing. Otherwise, the entries are identical.
EDI for R.R.S.P.
Limited Calculations
R.R.S.P. deductions are taken only when the contribution is above a minimum value - $25.00 at this time. This is a particular case of limits for deductions calculations. This is implemented as a secondary definition for deductions. F7, Limits, on the Deduction Code screen brings up a second screen to define the limits on each of the amount fields. For generality there is an upper limit and a lower limit for each of the amount fields. These values are maintained on a separate screen because (a) they are not commonly used, and (b) adding them to the basic Deduction screen would complicate programming and use of that screen. F7 does the same update as the F10, Apply, because the Limits Update uses values from the basic Deduction definition.
The Deduction Generate calls for the Deduction Limits like it calls for the Deduction Definition. The Lower Limit Type defines how the lower limit is applied. Credit amounts are not tested for limits. Zero amounts are interpreted as "not taken" and are not affected by the limits checks. If the Lower Limit Type is "M", minimum to be taken, and the amount is below the lower limit the amount is set to the lower limit. Otherwise, if the amount is below the lower limit the amount is set to zero. If the amount exceeds the upper limit the amount is set to the upper limit. The Deduction Limits program looks for an employee entry for the Deduction Code first. If there is none, it looks for a general entry for the Deduction Code. If neither are found, the lower limit is set to zero and the upper limit to all 9s.
RRSP Methodology
RRSP has its own form of EDI 820 Payment Advice. This requires that the Company Bank be different from that for other 820 Payment Advices. The Company Bank is defined through Bank Account 'RS' which also defines the RRSP Trust Account. The Bank Branch of the RRSP trust account provides the Supplier Key to be used to assemble the Company Bank for the RRSP EDI transactions. This does have one restriction when using EDI: the RRSP trust account can not be at the same branch as the corporate bank.
Normally an employee will have only one RRSP account as supported by the Employee Deposits Update. However, this can be expanded to support spousal accounts and/or RRSPs in several banks by using the general form of Deposit Codes and using several Deduction Codes for RRSPs. The system assumes that all Deposit Codes beginning with 'RS' are RRSP codes.
The generated Payment Advices are sorted into Name sequence before being sent to EDI.
Bank Information
R.R.S.P. is paid through a trust account. Each EDI entry represents two funds transfers. The first is from the company bank account to the trust account. The second is from the trust account to the Employee's R.R.S.P. account. Only one trust account is used. It must be in a different branch from the corporate bank account because the Bank Branch defines the BANKNO for EDI 820 Payment Advices and this must be different for each payment advice definition. The trust account is defined by Bank Account "RS" and gets copied to the Employee Bank data fields of every RSP EDI entry. The employee RSP Deposit entry defines the R.R.S.P. account to which the funds will be deposited. This data is copied to the R.R.S.P. Bank data fields.
EDI Functions
A second Correcting function is used to process R.R.S.P. entries. This gives full flexibility in maintaining and using all the fields on these entries. A second transfer program is needed for the R.R.S.P. entries. It is integrated into the existing Transfer function, so there is only one Transfer on the menu.
Government Calculations
The government calculations for Employment Insurance, Canada Pension, and Income Tax support Option 4 of the Machine Computations. By 1994, Nova Scotia, Ontario, Saskatchewan, Alberta, and British Columbia are implemented.
Canada Pension Plan
Parameters
The parameters for the calculation are stored on a regular Deduction entry (code = CPP). When updated using the standard Deduction Update, the fields correspond as follows:
Employee | | Employee Rate in percent |
Employer | | Yearly Maximum |
Benefit | | Annual Exemption |
Units | | Corporate Employer/ Employee ratio |
Calculations
The deduction is calculated for each individual pay period. The exemption is distributed based on the number of days in the pay period. The typical 14-day period distributes the exemption for a biweekly payroll of 26 periods per year. To implement a biweekly payroll of 27 periods per year assign half the periods 14 days and the other half 13 days.
Employment Insurance
EI is heavily dependent on weekly reporting. The Payroll can give precise numbers based on the total Earnings History for Records of Employment, etc. However, calculations for a pay period become a Gordian Knot without some constraints. The following constraints are built into the EI calculations:
- The Pay Period End Date coincides with a EI week ending date.
- Calculations are based on whole weeks.
- Earnings for dates preceding the pay period are added to the first week of the period for the calculation.
- Earnings are considered to apply evenly to the weeks ending with the week in which the Effective Date falls. The distribution is based on the number of days assigned to the particular earnings entry.
- Vacation Pay and other calculated earnings are spread evenly over the weeks of the pay period.
Beginning in the year 2001 the Employment Insurance parameters are stored in the EI table of Government Deductions.
It takes two entries to completely define EI parameters for a calculation.
The first entry, Amount = zero, carries the basic premium rate in the Rate(R) and the maximum annual premium in the Constant(K).
The last entry, Amount = 999999.00, carries the employer/employee ratio in the Rate(R) and the maximum annual insurable earnings in the Constant(K).
There is an EI table for each year and version of the Government Deductions.
Until 2001, the basic parameters for the calculation are stored on a regular Deduction entry (code = UIC). When updated using the standard Deduction Update, the fields correspond as follows:
Employee | | Employee Rate in percent |
Employer | | Annual Minimum Hours |
Benefit | | Annual Maximum Dollars |
Units | | Corporate Employer/Employee ratio |
EI Reduced Rates are defined in the UI table of the payroll (application = P).
The table entry gives a replacement rate in percent for an EI code, and an associated RCT Number.
The EI code is defined on the Assignment for the Employee. The EI calculation looks for a matching EI entry in the table.
If that code carries a non-zero rate it is used to override the basic premium rate.
The reduced rate must be recorded as a percent to have sufficient accuracy for the calculation.
There is only one table of EI Reduced Rates. This is only a concern if more than one government deduction version is in use in one payroll and the EI Reduced Rates are different for each version.
Income Tax
Earnings are reported by pay period.
The tax calculation is based on equivalent annual income.
The pay period earnings are converted to equivalent annual income by multiplying by 364 then
dividing by the number of days in the period. A monthly payroll will show variances in tax
from month to month based on the number of days in each month.
The distribution accounts were defined on a regular Deduction entry (code = TAX). The other variables are kept in the Tax Tables. Each entry is identified by Province, Table ID, and Upper Limit of the amount. Each entry contains a Rate and a Constant. By extending the definition of Table ID, all the parameters can be contained in one physical file. The Table IDs used include:
A | | Annual Taxable Income, Table 4 |
D | | Federal Surtax, only first entry is used |
LF | | Labour-sponsored funds tax credit, Federal |
LP | | Labour-sponsored funds tax credit, Provincial |
S | | Provincial tax reduction |
TC | | Federal Tax Credit, only a rate |
V | | Provincial Rate |
V1 | | Provincial Calculation V1 parameters |
V2 | | Provincial Calculation V2 parameters |
V3 | | Provincial Calculation V3 parameters |
V4 | | Provincial Calculation V4 parameters |
Y | | Dependent allowance |
Another important concern in the tax calculation is nontaxable deductions. They are implemented like other deductions except that the Taxable Benefit Type is set to N, nontaxable. They include:
F | | Registered pension plans |
F2 | | Court-ordered deductions at source |
U | | Union dues |
The Bonus Tax Calculation is as described for Machine Computations. Bonuses are recorded using separate Rate Codes. The Taxable Earnings Type on the Rate Code is set to B to differentiate it from other taxable earnings.
Tax Indexation
As part of the programming changes for July 1, 2000, the federal government revived regular indexing of tax parameters. Theoretically indexation is done at the beginning of the year. In practice it is usually done at midyear effective the beginning of the year. In fact indexation can be applied as frequently as every pay period in the extreme case.
When the indexation is done retroactively in midyear the indexing factor is double the annual indexing factor. This is done to effectively balance the tax books over the full year for regular employees. However it usually requires some form of reverse indexation the following January to start the new year correctly. For regular employees this should effectively balance the books by the end of the year. For new employees in the last half of the year taxes are out by the effect of the indexing factor. If you give the new employees values that do not reflect this double indexing the application of the indexing factor to start the next year will distort their taxes for the next year.
Indexation applies to many of the parameters in the tax calculation. The most extensive application is to the individual Federal Tax Credit. There are Indexation functions on the Yearend Processing menu to update the federal and provincial Tax Credits for all active employees in a selected Department.
Indexation also affects the values in the Tax Tables. The Copy of Government Deductions applies the federal indexing factor to the A and K values on all the copied tables. Because most provincial taxes are a function of federal taxes, the provincial tax amount will change for a given income even though there has been no change to the provincial parameters or calculation. Different rules for indexation may apply to the Federal Surtax, Canada Pension, Employment Insurance and provincial tables. So review all copied tables carefully before using them.
Cheque Handling
A cheque is assembled from entries on three basic files - Earnings, Deductions, and Cheques. In order to support multiple cheques in a single pay period, the cheque number is attached to each record in each file. A manual cheque is documented by entering each of its parts with the cheque number. An automated cheque has the cheque number updated to Earnings and Deductions when the cheque is printed.
Cheque Numbering
Manual cheques must be numbered manually. Printed cheques may be numbered entirely manually also. Earnings, deductions and the cheque entry must all be assigned the same cheque number during entry. Automatic cheque numbering offers flexibility without interfering with other cheque numbering. To allow automatic and manual numbering for the same bank account, the Account entry carries the next cheque number used for automatic numbering. Automatic cheque numbering offers this as the starting number for a run. It can be overridden at run time. All the unnumbered cheques for the selected period are then numbered. Cheque numbering is not a repeatable exercise for a pay period.
Cheque Registers
Two Cheque Registers are provided. It is not necessary to use both. Different companies will find one more useful than the other.
Preliminary Cheque Register
This is done prior to the posting of the cheques. It combines the detail from the posted earnings and the posted deductions for the pay period, and the assembled cheques. It shows cheque numbers only for manual and special cheques.
Main Cheque Register
This is done entirely from posted data. Earnings are summarized to a single line of totals. Deductions are summarized to one line per deduction. All cheques for the selected departments and period are shown.
Cheque Reconciliation
Basic Cheque Reconciliation support is included in the Payroll. It consists of a few analytical lists including:
- Outstanding Cheques List
- Cheques Issued by Employee
The Reconciliation process consists of identifying the cheque, then confirming the change. Reconciliation is a change of status. Void cheques can also be recorded this way.
Year End Processing
At the end of the payroll year there are a number of jobs that need to be done, first to prepare for the new payroll year, then to wrap up the old payroll year. Usually the new payroll year begins at the same time for all departments of an organization. If this is not the case, added care may be necessary in the transition period to insure that Rates, Distributions, and regular Deductions are handled correctly. Government deductions do handle the transition period.
Setting up for the new year consists of these steps:
- Set up Pay Periods for the new year for each department.
- Review the Department definition. Check the Current Period, especially if the last period of the old year was closed. Review the Deduction Sets.
- Review Rates.
- Review Distributions.
- Review regular Deductions.
- Set up Government Deductions for the new year. First copy the Government Deduction parameters into the new year. Then make the changes to the parameters prescribed by the government(see the Machine Computations update.) Also, make sure you have the current version of the Government Deductions Calculations program.
Completing the old year consists of these steps:
- Print and review the preliminary T4 Summary report.
- If adjustments are needed, make them using Earnings or Deductions batches.
- Add Pension Adjustments as a Deductions batch, if necessary.
- Print the final T4 Summary report.
- Print T4 forms in the appropriate format.
- Back up the Payroll database as a yearend checkpoint.
- Print yearend detail reports as required.
- Purge Employee Masters, if needed.
- Purge the assembly Batches.
Tax Reporting And Taxable Benefits
T4 forms are prepared for every employee with earnings during the payroll year. The government has settled on a standard format with each amount to be shown in a numbered box. The deductions are designed to use this box numbering scheme. Each deduction can be assigned directly to a T4 box. The Employee Amount of the deduction is reported in this T4 box. The Employee Amount is also applied appropriately to the Gross Income and the Taxable Income if the Taxable Benefit Type is anything except N, non-taxable.
Federal tax reporting requirements require taxable benefits to be reported in at least the following categories:
- personal use of a company vehicle,
- interest-free or low-interest loans,
- board and lodging,
- rent-free or low-rent housing, and
- stock options
- other taxable benefits.
The payroll system provides for taxable benefits to be automatically assigned to nine or more Taxable Benefit Types. At year end, each Taxable Benefit Type is assigned to the T4 Box in which it is to be totaled on the T4 document.
Taxable benefits are entered, generated, and reported as part of Deduction processing. When a Deduction code is set up it is assigned to an active Taxable Benefit Types. The Taxable Benefit Type is linked to a T4 box through the Reference on an entry in the Taxable Benefits table. When the T4 is prepared, the associated taxable benefits -- which in most cases are zero -- are added to the designated T4 Box.
If a Deduction code represents a nontaxable benefit, put N in the Taxable Benefit Type. In this case, the employee amount of the deduction is subtracted from the taxable income before the tax calculation is performed.
There is no known occasion where the Employer Amount or the Units are required to be reported separately from the above amounts.
Pension Adjustments
Pension adjustments appear in box 52 on the T4 form. The amount to appear here is recorded as an amount for a separate Deduction code assigned to this T4 box. Unlike other deductions it is not usually calculated incrementally by period. Instead it is calculated as a one-time amount at the end of the year and posted to the Deduction History in a separate yearend batch. In a case where this amount can be calculated for most employees based on total earnings, or total hours, the pension adjustment batch can be created using the Generate Regular Deductions function. Follow these steps to create the pension adjustment batch:
- Set up the Deduction code to define the Pension Adjustment, if it does not exist yet.
- Set up a separate Deduction Set for the Department containing only the Pension Adjustment code.
- Set up an extra Pay Period for the pension adjustments using the above Deduction Set.
- Generate the pension adjustment batch.
- Review and update the pension adjustment batch.
- Post the pension adjustment batch.
- Review T4 Edit report.
Vacation Accrual is a special Deduction Type(s). The Vacation Accrual deduction code is setup through the regular Deduction Code Update. It has its own Calculation Type VA. Once the Vacation Accrual code has been set up correctly it is applied like a regular deduction code. The Vacation Accrual Factor is defined as a percent in the Employee Amount on the Employee Master.
The vacation accrual is calculated during deduction generation and appears on the Cheque Register. The accrual is based on all Vacationable Earnings during the pay period and the Vacation Accrual Factor for the employee. During the deductions post this amount is added to the Vacation Accrued for the employee in the Time Bank indicated for the deduction code.
Rate Codes contribute to Vacationable Earnings in various ways. The Rate Code must be identified as earnings before it can contribute to Vacationable Earnings. If the Rate Code is vacationable for regular earnings(Vacation = R), only the earnings from the regular hours (or units) are considered vacationable. If it is vacationable for gross earnings (Vacation = G), the earnings from regular and both overtime hours are vacationable.
Accrual Banking is used to implement vacation accruals and payments. It is not needed when vacation pay is paid out immediately. An accrual bank is a net total accumulator for a particular Bank Code attached to an employee. In regular operation it is updated by designated Deduction Codes, and shows the net amount outstanding at the time. This value can be changed directly through the Banks(F8) portion of the Employee Update. No deduction entry is created for such changes. Unlike the deduction reports which show year-to-date totals, this is a current total that is not affected by the year end.
The accrual bank, in this case VAC, must be set up for each employee before it can be used. If it is not created the accruals will not be totalled and therefore there will be no outstanding total when you generate the Vacation Payment. An opening outstanding amount can be entered at set up. Each Deduction Code definition that affects this Accrual Bank must have VAC in the Accrual Bank. A Deduction Code can only affect one Accrual Bank through this method.
Usually the vacation paid is not subject to vacation accrual. However, British Columbia requires that accrual be made on vacation paid for ongoing employees. A separate Calculation Type, V0, has been set up for this purpose. Using this Calculation Type, the accrual for the current pay period is NOT paid out immediately. Instead, it becomes the opening accrual for the next period.
Vacation Payment is an income Deduction Type I. The Vacation Payment code is setup through the regular Deduction Code Update. It has its own Calculation Type VP. Once the Vacation Payment has been set up correctly it is applied like a regular deduction code.
Vacation payment can be done at any time as part of a regular payroll run. In the case of payouts to certain individuals this is the preferred approach. For annual payouts and some other departmental forms of payout this would cause difficulties with high taxation rates and another approach may be more suitable.
If an individual employee is to receive his full vacation accrual, the payout is activated by adding the Vacation Payment code, and optionally the Vacation Pay Accrual code, to the employee's deduction set to be applied once. The total vacation accrued on the employee master plus any current period accruals are calculated for payment by the generation function.
When all accruals for a department are to be paid out in a special pay run, a special pay period is used. A special deduction set, e.g. 6, is setup on the department definition for this purpose. This deduction set includes the Vacation Payment code, at minimum. If there is to be accrual based on this payment, a vacation accrual code will also be included in the set. You may not calculate taxes for this period because the tax rates would be out of line. One way to make allowance for taxes is to set up a deduction code for Vacation Taxes at a fixed percent of gross earnings. The Vacation Tax code is a nontaxable deduction type with the rate in percent in the Employee Amount. The Vacation Tax code is the last one in the special deduction set. Other deductions could be included in the deduction set if desired. This type of pay period does not normally follow the pattern for Run Control, so some steps may need manual completion before the pay period is closed.
There are a variety of results that can be achieved by using different combinations of vacation calculation codes. This is best discussed through examples, starting with a routine accrual situation. Our employee will have an accrual rate of 5% and an opening accrual balance of $400.00. The vacation accrual code VA is in the Department Deduction Set.
- Example A: Routine Earnings
- Earnings are $1,000.00
The accrual is $50.00 (1,000 * .05).
The final balance is $450.00.
- Example B: Individual Payout, no Earnings
- This is the situation when a separate payout is done. On the Employee Master, set up the vacation pay code VP for one time.
Earnings are $0.00.
The accrual is $0.00.
The vacation paid is $400.00.
The final accrual balance is $0.00.
- Example C: Individual Payout, with Earnings
- This commonly occurs when a person goes on holidays. On the Employee Master, set up the vacation pay code VP for one time.
Earnings are $1,000.00.
The accrual is $50.00 (1,000 * .05).
The vacation paid is $450.00.
The final accrual balance is $0.00.
- Example D: Payout with Accrual on Vacation Paid, no Earnings
- This is the basic type of payout used in British Columbia. On the Employee Master, set up
- the special vacation accrual code, VO, for one time and
- the vacation pay code VP for one time, in that order.
Earnings are $0.00.
The Regular accrual is $0.00.
The Special accrual is $20.00 (400.00 * .05).
The vacation paid is $420.00.
The final accrual balance is $0.00.
- Example E: Payout with Accrual on Vacation Paid, with Earnings
- This situation combines the options. On the Employee Master, set up
- the special vacation accrual code, VO, for one time and
- the vacation pay code VP for one time, in that order.
Earnings are $1,000.00.
The Regular accrual is $50.00 (1,000.00 * .05).
The Special accrual is $22.50 (450.00 * .05).
The vacation paid is $472.50.
The final accrual balance is $0.00.
- Whenever there is a vacation payout, the vacation pay code is the last in the deduction set for the employee. The result is that all past and current accruals are paid out. The final value in the Employee accrual balance is always zero after the pay period is closed.
- When the special vacation accrual code, VO, is used the total accrual is the sum of the regular vacation accrual and the special vacation accrual. These two amounts appear separately on
-
- the cheque register,
- the cheque stub, and
- year-to-date totals.
A special Calculation Type has been set up which pay out the accrual on the same cheque on which it is earned. This code is used in place of the regular vacation accrual code. Our example employee has an accrual rate of 5%. There is no opening accrual balance because it is always being paid out.
- The Reported earnings are $1,000.00
The reported accrual payout is $50.00 (1,000 * .05).
The gross earnings becomes $1,050.00.
The accrual balance remains unchanged.
Records Of Employment
Records of Employment are completed whenever an employee terminates with the company whether permanently or just temporarily. There are several ways that these forms can be produced including:
- Multi-part preprinted continuous forms usually printed on an impact printer.
- One-part preprinted pages usually printed on a laser or inkjet printer.
- Original forms generated by the ROE Laser Print application available from Human Resources Development Canada.
The AERIS/400 Canadian Payroll can produce the Records of Employment in all of these forms. The continuous form and the laser pages now have the same format now. The Record of Employment functions put these forms on the print spool from where they can be directed to a suitable printer. A file is also prepared for the HRDC ROE Laser Print service. To use this service requires that the HRDC system be installed on the personal computer that you are using to access the AS/400 and that some added set up be done on that computer. This set up is detailed in HRDC ROE Laser Print Setup.
The Record of Employment is created from data in the Earnings History and the Termination attached to the Employee Assignment. See also Termination Entry.
Loading Factors
Loading factors are one method of allocating deductions and benefits as a factor of earnings. Loading factors can be defined for each Department along with a Loading Distribution code to which it is assigned. Distribution reports for departments that have active loading factors show and additional total for the fully loaded amount. The journals created for earnings in these departments carry the fully loaded distribution amount. The counterbalancing loading amount appears on one journal for the department that is assigned to the G/L Account of the Loading Distribution code.
The Loading Factor and the Loading Distribution code are maintained and reported as part of the Department entry.
Run Control
In many environments we want to impose an order to key operations in the payroll. When this is done, we can delegate the operation to a less experienced person and still be assured that the job gets done correctly. The Payroll provides a flexible Run Control mechanism. The steps we want run are defined for a Department in the order we want them run. This can include steps that are not done on the computer. The series does not have to include every programmed step, only the key ones for control. Other payroll functions can be added at will.
When a function that is set up for Run Control is run, it looks for an entry in the Run Control series. If it finds one it updates the Status and notes the date. When a function is set up to be controlled, it first checks the series to see if it is appropriate for it to run. The function must be in the series or the control is ignored. All preceding steps must be completed before the controlled function will run. In some cases a function will only be allowed to be run once in a control series. The design of the Run Control support is such that it could drive a fully prompted payroll run.
Narrative Services
The Payroll system describes the employee, rates, and other items in categories which are useful for reporting. There is a need to have other information readily available about the employee and other items which have no predefined structures. The narrative services provide this support. The Narrative is a link to word processing to update a document associated with the employee or other item.
It is implemented in such a way that the user does not need to understand word processing concepts like folders and documents. As long as they have basic typing skills and know the function key that ends the narrative session they can use it.
By imposing some order on how the narrative document is arranged it can become a powerful tool for managing all the other information collected by the company about the employee.
Help Support
Detail information about what screen entries are and how they are to be completed is provided for most screens. Simply place the cursor in the entry for which you want information and press the Help key (For some keyboards this may not be an obvious key and you may need technical assistance to find it). A help window appears on the screen explaining the particular entry.
Hypertext entries may appear in the narrative. Tabbing to the one you want to know more about and pressing ENTER will bring the explanation of that entry to the window. Hypertext entries can be nested indefinitely. F12 will take you back one level. F6 will show you a listed of the nested topics to choose a return point from.
Extended Help displays a larger window containing help support for all parts of the current screen.
The Search Index function gives you a key word search of all the topics in Help Support for this application. If no key words are provided for searching you will get the complete list of topics. Otherwise only topics that are keyed to the search words will appear on the list of topics. Printing is available for Help windows and topics on the Help Index. The Help Support is built using the IBM utilities for maintaining Online Help Information. It is supplemented by the on-line documentation to make the complete set of documentation for the application.
Functions And Services
This section contains explanations of the workings of particular functions of the application. In most cases these relate to options on particular menus. As such, they can be linked to the screens as Help support.
Body
Cheque Generation
Path:
MASTER-PAYS-4 |
  |
Procedure:
PP0400S |
This is the last step in preparing the payroll automatically. Both Earnings and Deductions must already be posted before doing this. Only one automatic cheque is generated per run. Manual cheques can be in place during the automated run, but they will be left as they were set up. The generate scans both Earnings and Deductions. Earnings are summed up and Deductions are applied to come up with a net value for each automatic cheque. Cheque numbers are assigned during the generate.
An automatic cheque can have a preassigned cheque number. In this case the supporting Earnings and Deductions must already have been assigned the same cheque number. The generate functions is a regenerate at all times.
The Process
Before the set up even begins the Batch Register is scan looking for unposted batches. Since a single Batch Register is used for all payroll batches, both Earnings and Deductions are checked. If you are assembling payrolls for more than one period simultaneously the unposted batch message will be triggered by batches from other periods. Check the batches for this period carefully before overriding the message. The cheque batch itself, CHEQ, is included in this scan. If the Cheque Generate was started previously but not followed through to posting the cheque batch, CHEQ, will have a status of "B" which will trigger the unposted batch message.
It is recommended that you do a backup when you start the Cheque Generate.
Then you select the Department and Period to be processed. You are also asked for a Cheque Date.
Before the generate begins we remove all automatic cheque entries from the Cheque Assembly. Then the automatic cheques are generated again. Cheque numbers are not assigned by the generate.
Payments Sent To The Bank From The Payroll
As an alternative to printing cheques you can send the funds directly to the employee's account through your bank. There are a variety of services available from the banks to do this. The original method used was through EDI. The function to Transfer Payments to the Bank is the same in the Payroll no matter which service is used. The steps to complete the link to various bank services will vary. The process described below is for transfer to the bank via a personal computer link.
The Payroll Transfer
From the Payments Processing menu(PAYPD), select Transfer Payments to the Bank(option 26). Select the Department and the Pay Period to be transferred. Currently only one department and pay period combination can be transferred in one pass. The job creates transactions in a file called PRBKDDS in the Payroll Database library(e.g. CO08PR).
From AS/400 to PC
The option described here uses the Transfer utility of Client Access. The process begins at the point that the personal computer is running and it is connected to the AS/400.
- Start a Client Access session.
- Sign on the AS/400.
- Select the Transfer option from the menu bar of the Client Access session.
- Select the Receive File from Host option from the pop-down menu.
- Enter the Library and File Name on the AS/400. e.g. CO08PR/PRBKDDS, or COERPR/PRBKPDS
- Enter the PC File Name. e.g. /BANK/PRBKDDS
- Select Details. Set it to Create new file, or Overwrite existing file as is appropriate. Leave File type a ASCII Text. Do not Save transfer definition. OK to complete the Details.
- Transfer data from AS/400.
The file created here is now ready to be transmitted to the Bank.
Transmit to the Bank
Use the procedure for transmitting PC Payments that is provided by your bank.
Employee Update
This is the comprehensive Employee update. The update is sectioned to parallel the database for the employee. Each database unit has a separate update screen. The common access path is through the Employee Services menu option 3.
Basic Employee Information
Address
The Payroll shares addresses with other applications through the Address database. An employee is linked to his home address through the Address Key shown here. The address label and the Home phone number are shown beside the Address Key. The Name on the label often looks like a combined form of the Surname, First Name, and Middle Name. In fact, they are updated independently.
Phone Number
The phone number used for the employee. If it is blank, the Home phone number from the Address is often used as the default.
Status
The Employee Status limits what functions the employee can be used for. Active employees usually have a status of A. When an employee is terminated the status is set to I, which makes the employee inactive for input but he is still available for other purposes. If the status is set to T the employee does not appear to be available for any function, however the record remains on the file.
Assignments
Initial implementation supports one assignment per employee, even though the database can support multiple assignments. Use F19 on the Employee Update.
Employment Insurance
The UIC Class is used first to define if the assignment, and therefore the employee, is subject to EI assessment. Secondly, it defines what class of work is involved for assessing premiums. UIC Class N is for those who do not pay UIC premiums. Other UIC Classes define the rate at which EI premiums are assessed.
Canada Pension Plan
The CPP Class defines if the assignment, and therefore the employee, is to pay into Canada Pension.
Narrative
The Payroll system describes the employee in categories which are useful for reporting. There is a need to have other information readily available about the employee which has no predefined structure. The Narrative provides this support. The Narrative is a link to word processing to update a document associated with the employee. Use F13 on the Employee Update.
Deductions
Path: Master-Update Tables-Deductions
Deductions may be defined at several levels. Initially two are used - General Deductions, and Employee Deductions. The selection of deductions for processing and the order in which they are processed are controlled in several ways. Deductions can only be generated by the computer after all associated earnings have been posted.
Deduction Type
Although referred to as Deductions, the definitions apply to a standard class of calculations used to process payments. The Deduction Type indicates how the calculated employee amount is applied:
- I - Added to cheque amount as an income
- D - Subtracted from cheque amount as a deduction
- S - Special case that does not affect the cheque amount. One use is for vacation accruals
A Conditional Deduction is used to link Employee deductions to Department Deduction Sets. When active it generates a D type deduction.
Calculation Type
There are a number of preprogrammed calculations which can be used. If the Calculation Type is not one of these, it is used to create a program name which is then called to perform the calculation. The program name is PRD followed by the Calculation Type. Preprogrammed calculations include:
- Blank - It is used only for a Conditional Deduction for an employee. It indicates that this employee has the conditional deduction and that the remaining fields all come from the general deduction definition. None of the remaining fields on this particular Employee Deduction entry are used anywhere.
- A - Simple amounts
- AI - Advance issued is a reserved type with no programmed support.
- IH - Percents of Total whole hours.
- LTD - Standard Long Term Disability.
- R - Percents of Regular earnings.
- RH - Percents of Regular hours.
- T - Percents of Total earnings.
- TH - Percents of Total hours.
- VA - Vacation accrual based on vacationable earnings. Accrual appears in Units.
- VI - Vacation accrued based on vacationable earnings and paid immediately. Amount appears in Employee amount. This pay qualifies as UIC earnings. As such it must be calculated and allocated for each UIC week. The Period End Date is the end date for a UIC week. Each earnings transaction is assumed to apply fully to the week in which its Effective Date falls. The vacation pay is calculated for each week with earnings and a separate income transaction is generated. The UIC generator can then allocate these transactions to the appropriate weeks to determine earnings qualification.
- VP - Vacation payout based on current accrual. If an Employee amount is provided then it is subtracted from the current accruals, otherwise the total current accrual is paid out. For UIC purposes this amount is allocated to the last week of the pay period.
Amounts
Four values are assigned to each deduction. They are used as follows:
- Employee Amount - Value used to calculate the Employee's deduction amount.
- Employer Amount - Value used to calculate the Employer's contribution.
- Taxable Benefit - Value used to calculate the Taxable Benefit assessed to the employee.
- Units - Value used to calculate the units associated with the deduction. For life insurance it could be the Insurable Earnings.
T4 Boxes
A T4 box can be assigned to each of the above amounts. It is used to put the annual total for that amount for the deduction into a box on the T4 form. The T4 boxes are defined in the General Payroll table T4.
Distributions
Two Distribution codes are assigned to each deduction, loosely referred to as the Debit and Credit codes. In the case of a deduction. They are used as follows:
- Debit - the expense account for Employer amount.
- Credit - the payables account for both Employee and Employer amounts.
In the case of an income they are used as follows:
- Credit - the payables account for Employer amount.
- Debit - the expense account for both Employee and Employer amounts.
Reserved Codes
A few functions are coded to look for specific calculation codes, to ease initial programming. These are usually general deductions. These codes include:
- CPP - Canada Pension Plan
- TAX - Income Tax
- UIC - Employment Insurance Premiums
- ZAI - Automatic Advance Issued when a cheque goes negative. If it is not in place, you must insure that cheques do not go negative.
- ZBK - The Bank Account for the General Ledger. Future additions will begin with Z to minimize restrictions on user-defined codes.
Body
Copy Government Deductions
The quickest way to prepare the tables for government deductions for a new year or version is to copy a recent table then to update only those entries that have changed.
The copy parameters are:
- which year and version to copy from.
- which year and version to copy to.
- which province to copy. You can copy all at once.
Body
Reports
IWA Reports
The IWA is a common union in the forestry industry, so we have added reports especially for them. The deductions reported are Long Term Disability (LTD) and Pension. They are reported individually, and in a combined report. You have the option to show only employees who have a deduction in the reporting period, or to show everyone who qualifies for the deduction.
Code Tables
Most data is stored in coded form to reduce storage requirements and to standardize definitions for easier assembly into reports. Some codes need only extended definitions, usually to make reports readable, or validation to restrict the values to serve some function in the system. These codes use the common Code Table support. The payroll tables are grouped under Application Code P. The payroll tables include:
- AT - Reasons for Termination.
- TB - Taxable Benefit Codes. These cross reference to T4 Box Numbers.
- T4 - T4 Box Numbers. The Abbreviation is used in the headings of the T4 Summary report and are best right justified. If the Status on codes between 30 and 42 is less than I the code appears at the bottom of the T4 form. A non-zero amount appears even if the code does not.
Technical Notes
This section contains notes pertinent to effective programming, but normally not of interest to the regular users of the application. This includes the programming conventions.
Application Startup
This is a AERIS application which means that the entry point is the SETUP procedure. This presupposes the following items are in place when it is called:
- COMPANY - message member is on the library list with the PRL series set up when the procedure is called.
- ZJOB - message member is on the library list as defined for this application. USR0001 carries the Job Name. USR0002 exists to carry the application name.
- Z-series data areas can be deleted.
Records Of Employment - HRDC ROE Laser Print Set up
Installation of ROE Laser Print
The Record of Employment (ROE) Laser Print Employer Module application software is available to Employers from Human Resources Development Canada (HRDC) on CD-ROM.
Insert the CD-ROM in your PC and using 'My Computer' select the CD-ROM drive icon to view the CD-ROM contents. Double click the 'document' icon then the language version of your choice. Complete documentation for installation and subsequent use is included with the application.
Care should be taken to ensure that Description Tables in the Payroll system match the HRDC documentation in regard to Pay Period Types, Recall Codes, Reasons for Issue, and Other Monies.
Setting up the Link to the AS/400 Records of Employment
After installing and becoming familiar with the ROE Laser Print application you will need do some preparatory set up in order to interface this application with files created by the AS/400. You will need to map a network drive to reach the Records of Employment on the AS/400.
- Click Start, point to Programs, and then click Windows Explorer.
- Click Tools on the menu bar, then click Map Network Drive...
- We recommend that you map the network Drive to J:
- In the Path, type the path to the AS/400 folder library, for example: \\sysname\QDLS, where sysname is the computer name of the AS/400 in your Network Neighborhood. (Windows will prompt you if an AS/400 password is required.)
- Click in the Reconnect at logon box so that this drive is always available.
- Click OK.
When the above has been completed the AS/400 ROE file for terminations will be accessible by the HRDC ROE Laser Print software. The first time you use the service you will guide the software to a file called J:\TRANSFER\PTREOXFR.ROE. After this will be the default source.
Utility Services
Overview
The Utility library, UT, is a companion to this application. It provides services that are commonly used in AERIS applications. These include:
- Batch Control services
- Code Table support for general codes
- Run Control for Function Confirmation
- Backup services
- Ad hoc Execute options
- Communications services (based on Granite)
Other Functions Menu
The Other Functions menu is part of the AERIS menu conventions. Menu options 90 through 99 are assigned standard functions. Option 99 displays a menu of the 90-series options. The most common version of each option is called from the payroll menus. A more general version is often called from the Other Functions menu. For example, option 95 on a payroll menu gives you the on-line documentation. While on the Other Functions menu option 95 displays a second menu which gives you access to all on-line AERIS documentation and Help Support search indexes.
Machine Computation Tests
A separate department (MC) has been set up for these tests. The current Machine Computation release is noted in the Stub for the Department. The first period of the year is usually all that is needed. Others may be needed to test year-to-date situations. A basic employee is set up for each active province. The example number is the Employee Number. A basic Assignment is set up with a standard Rate Code (PP) and Distribution (TEST). All earnings and deductions are entered manually.
The generate of government deductions should agree with the examples in the Machine Computations manual.
Three additional employees are added to test the bonus calculation. The first employee has the base income. The second employee has the base income and both current and historical bonuses. The third employee has income equal to the base income plus the bonus.
Code Tables
Most data is stored in coded form to reduce storage requirements and to standardize definitions for easier assembly into reports. A few codes, like Employee Number, involve extensive definition to serve the application. These have subsystems within the application just to service them. Many codes, like Job Class, can function without extended definition or validation. Other codes need either extended definitions, usually to make reports readable, or validation to restrict the values to serve some function in the system. These classifications of codes are applicable to all applications, so a common Code Table support was created. A common Code Table support provides the added service that code tables can be shared between applications. At this time (August 1992), the Payroll does not share any tables with other applications.
Code Table support consists of three functions and a series of code modules for inclusion in interactive programs, and a coding method to access specific table entries. These are described in the following paragraphs.
Table Update (TBLUPD)
The Table Update is on the Tables and Parameters menu. It is used to add and change specific codes on selected tables in the Payroll. On the first screen you select the table and the code. If you want to know the valid values for a code enter the table code and ask for a list. The entries that identify a specific code are:
- Application - identifies the primary application for the table. For the Payroll the value is P. Table Id - identifies the purpose of the code. If you do not know the Table Id, blank that entry and ask for a list(F4). Table Id * is reserved for the Table of Tables for the application which tells you the purpose of each code table. The Table of Tables is normally pre-loaded with the Table Ids that are used by programs in the application. Other Table Ids can be added for documentary purposes but will not become active without program changes.
- Code - identifies the specific code. Although this code can be up to 8 characters long only the first characters up to the length of the specific code are useful. If blank is a valid value for the code set up an entry in the table for it. Input programs linked to the table will only accept code values that are in the table and are sufficiently unrestricted.
Once the code is selected the details of the code definition are displayed for possible change. Make changes to the entries as required, then apply the changes(F10). It is also possible to delete a code(F18). Be careful when deleting codes because no checks are done to insure that the code is inactive before deleting it. The entries that make up the code definition include:
- Description - used to explain the code on reports.
- Abbreviation - used to explain the code where space is short, e.g. on the cheque stub.
- Rate - an amount associated with the code. It is interpreted by the user program.
- Cross Reference - is a related code. It is interpreted by the user program.
- Status - defines the state of the code. Blank means that code does not exist to user programs. Values below I indicate a generally active code. Values from I to S indicate some level of restricted use. Values above S indicate that the code is inactive particularly for input. Interpretation of the Status is done by the individual user programs to meet their needs.
As of August 1992, the Table Ids in use are:
- AT - Reasons for Termination
- TB - Taxable Benefit Codes. These cross reference to T4 Box Numbers.
- T4 - T4 Box Numbers
Table Print (TBLLST)
Prints the selected table, or all tables in the application if the Table Id is blank. It is called from the Select an Entry screen of the Table Update.
Table List (TBL021)
Displays the entries in a designate table to let you select one. It uses a full screen to present the list.
Table Window
Displays a short list of codes and descriptions that appear in a window on the screen. Program PR1800, Deductions Update, shows how the modules TBLLSTCE and TBLLSTCC, the file definition for UTTABL, and the constants table, MSG, are added to a program. The workstation definition PR1800FM contains the associated screen module TBLLSTA.
Code Editing
Code editing is done in the same program that use the Table Window. As such, we can do the edit by chaining directly to the Table file entry. See program PR1800 for examples.
Run Control
Run Control is implemented by inserting program calls into the set up and/or job procedures of functions to be controlled. The Run Control series is created as a sub-function of the Department Update. Run Control is implemented only for specific Department selection in most cases. It is straight forward to implement the set procedure for select-All. Doing the check when selecting All can be very complicated. The programs that are used to support Run Control include:
- Open the Period (PRUNOP) - Opens the Pay Period by resetting the status on all entries in the series that are not locked in, i.e. status greater than R, to status B. It also clears all the dates except on the first entry in the series which it sets to the current date. This program has very limited usage.
- Set Status (PRUNST) - Sets the status of the designated step and notes the current date. The date is noted even if the status is locked. It is usually put at the end of the job. The parameters include:
- Action or program name
- New Status
- Set Status Manually (PRUNSM) - It is used to set the status of one or more designated steps, and note the current date. The date is noted even if the status is locked. It is used to record the completion of non-computer steps in the series.
- Check Status (PRUNCK) - Used to check Run Control before executing a controlled step. The Return Code is used to determine the course to be taken. Return Code values include:
- 00 - Passes all tests
- 33 - Already run
- 44 - At least one preceding step not run
- 88 - Not in the Run Control series
To use the automated check and set procedures the payroll function must be programmed to use it. The procedures that are programmed to use Run Control include:
- CLOSE - Close the Pay Period. May not be restarted. Ends by re-opening the series. It is implemented through procedure PP3000S; it is not a procedure itself, initially.
- OPEN - Used as the nominal first entry in the series. It is not a procedure itself, initially.
- PP1500S - Deductions in Detail. No check.
- PP1600S - Distributions. No check.
- PP1700S - Cheque Reconciliation List. No check.
- PP1800S - General Ledger Report and Release. No check.
- PR2500S - Accept Earnings from Job Cost. No check.
- PR3050S - Post Earnings. No check.
Narrative Services
Narratives provide a link to word processing to extend the information collecting capabilities of the Payroll. It requires that the word processor of Office/400 be installed on the computer. The narrative services looks after folder naming and creation. The general corporate database backup will back up the folders along with the data. The programs providing narrative support define the document names while narrative services looks after the creation of the document. The user can use narrative services without knowing anything about folders and documents.
Programming Conventions
These conventions describe how development should proceed at this time. Older programs are brought up to the current conventions only when either functionally necessary, or a major change is made to the program.
Menus
The general AERIS convention is followed which includes the following features:
- Menu name at upper left.
- Company name at top center.
- Application name on second line.
- Menu description on the third line.
- System, workstation, date and time at upper right.
- Menu options 90 through 99 as described on MENU99.
- * precedes options that are themselves menus.
Several menus can use one command set. No convention exists to identify when this occurs.
Screens
The general AERIS convention is followed which includes the following features:
- Screen set name at upper left.
- Company name at top center.
- Application name on second line, if space is available.
- Function name on next line.
- Functions keys on lines 23 and 24. Common ones have conventional locations.
Program Linkage
Parameter List
The parameter list begins with the Return Code(RC) - 2 characters. When the called program returns control, it tells why in the Return Code. The caller can direct the action of the called program through the initial value of the Return Code.
Return Status
Normally the RPG program returns control and stays active waiting to be called again. This is done to eliminate startup overhead. If the program is called with a Return Code of 99, it sets on LR and ends immediately. To stay active may require special first pass coding and/or coding to release record locks before returning. Active programs can be deactivated by a Reclaim Resources(RCLRSC) at a higher level in the program stack.
File Isolation
Separate inquiry programs are set up to extract data from each file. Other programs call these when the need file data. The inquiry program stays active with the file open, thereby avoiding repeated startup and file open overhead. It also reduces the number of access paths open to a file at any time. File changes are now isolated from functional programs for which they do not apply. This also allows standard defaults, overrides, and unique logical views of the database to be implemented without affecting functional programs.
CONTENTS
This manual contains the entire documentation for this system. It defines this system as it is known at the present time.
VERSIONS
The System Manual documents the functions in the recent standard release of the system. Older Releases may not contain all the functions described.
A E Rose Information Service Ltd.
400 - 10123 99 Street NW
Edmonton, Alberta
T5J 3H1
Phone: (780) 424-5844
Fax: (780) 421-4060
|