The 401(k) sample application is an intranet application that places
employee sign up, and option changes on a corporate web.

The app was written using Visual InterDev, and is driven by Active Server Pages technology.
The database is an Access database, which is upsizable to SQL. Client side scripting is Java Script, Server side scripting is
VB Script.

The sample demonstrates what a 401(k) intranet site might look like.
It contains:
An informational section, "Learn"
A sign up function, "Sign Up," where employees can sign up for the 401(k) plan, and make
their elections.
An online access section, "Online," where employees can check on their 401(k) account,
market value and transactions, as well as change their elections.
A feedback section which would be a mailto function to the corporate Human Resources, Benefits.
***In this sample the mailto in the Feedback section sends email to Microsoft. BLAH BLAH BLAH
DATABASE The database has the following tables: Employee Info Password Allocation Fund Info Fund Prices Transactions The EmployeeInfo, Password, and Allocation tables are changed with user input.
The sample ships with 12 employees, 6 of whom participate, and 6 of whom do not.
There are 4 funds with 90 days of price data, and 6 payroll events which generate transactions for participants.

DATABASE QUERIES There are three Views, which are the queries that generated the transactions in the Transactions table.

The PayAmt query calculates the bi-monthly pay amount for each employee. For example
if an employee makes $48,000 annually, their bi-monthly pay amount is calculated as 48,000/24,000=2,000 or $2,000.

The InvAmt query calculates the dollar amount of the employees' 401(k) contribution for each bi-monthly pay period.
For example, taking the same employee as above, assuming they contributed 10% of their gross salary to 401(k),
they would have $200 available for investment.

The Fund Purchase query looks up the employee fund allocations in the Allocation table, to determine which funds, and what
percentages to buy. Assuming our employee's allocation was 50% in one fund and 50% in another fund, the query allocates the
InvAmt between the two funds, with $100 for each. It then look up the fund price on the payroll date to calculate
the number of shares the employee will purchse. It then adds the Contribution records to the Transactions table. In this case there would be two transactions,
One purchase for X shares and $100 in the first fund, and another purchase for Y shares and $100 in the second fund.
APPLICATION
Sign Up
The Sign Up page includes a query to let you know what employees are in the database and are not current participants. You can select any of these ssn's and create your own password. The page includes client side scripting for ssn, and server side scripting to verify that the ssn is in the database,
and that the ssn is not a current participant. It then updates the database:
EmployeeInfo--change participant flag from "N" to "Y"
Password--add a record with EmployeeID and Password
It also validates that the PIN and confirm PIN are the same.
Once you have signed up, you are brought to a page which allows you to make your 401(k) plan elections for:
Contribution Percentage
Fund Allocations
This page has client side validation to verify that that the contribution percentage is between 1 - 15%,
and that the fund allocations are each between 0- 100% and that the total is equal to 100%.
It then updates the database:
EmployeeInfo--change ContPercent from 0 to sign up percent
Allocation--add records, EmployeeID, FundID and FundPercent, for EACH fund chosen
****Note: You can always reset the original non-participants back to Participant="N",zero out the ContPercent, and delete the related record in the Password table.***
Online
The Online section is where current 401(k) participants can login, check their account and make election changes
Login
The Login page includes a query to let you know what employees are in the database and are current participants. You can select any of these ssn's and input the appropriate password. The page includes client side scripting for ssn, and server side scripting to verify that the ssn is in the database,
and that the ssn is a current participant. It then brings you to the Holdings report which shows the employee's account data
This report sums all transactions to determine the number of shares for each fund, and then looks for the
most recent date to assign a price to the fund and calculate the market values.
401(k) participants can also access:
The chart, which uses the Microsoft Internet Explorer ActiveX Chart Control
to represent the holding report information graphically, in a pie.
The Transactions report, which displays all transactions for the employee
Change Elections, which allows the participant to change their election data, including contribution percentage and
fund allocations for each fund This page has client side validation to verify that that the contribution percentage is between 0 - 15%,
and that the fund allocations are each between 0- 100% and that the total is equal to zero (0) or 100%.
It then updates the database:
EmployeeInfo--change ContPercent to new percent
Allocation--modify records, EmployeeID, FundID and FundPercent, for every fund allocation percent that was changed