Free Tutorials, Linux Command, Source Code Architecture,  Software Engineering, Intelligent Systems, RDBMS, Computer Accounting,  Operations Research, Discrete Mathematics, Network, SAD Lay Networks Lay Networks
Computer Science Networking Operating Systems Linux and Unix Source Code Script & Languages Protocols Glossary
Computer Science
Web laynetworks.com
Google
 

Contributed by Malisetty Siva Sankar

The Employee information and Payroll system. (FoxPro fullsource)

Program 1: Main.Prg
Purpose : Displays main menu with various actions for the user the work with the
database.

Code Begin:

SET ECHO OFF
SET CENTURY ON
SET CONF ON
CHOICE-1
DO WHILE CHOICE!=0
CLEAR
@1,8 TO 15,64
@2,25 SAY ‘MAIN MENU’
@4.20 SAY ‘1 EMPLOYEE JOINS’
@5.20 SAY ‘2 EMPLOYEE CHANCES’
@6,20 SAY ‘3. BROWSE EMPLOYEE’
@7.20 SAY ‘4. EMPLOYEE RESIGNS’
@8,20 SAY ‘5. PRINT PAYSLIP’
@9,20 SAY ‘6. SALARY REPORT’
@10,20 SAY ‘7. SANCTION LOAN ’
@11,20 SAY ‘8. LOAN REPORT ’
@12,20 SAY ‘9. LOAN ARCHIVE’
@13,20 SAY ’0 GET ME OUT’
@15,20 SAY ‘ CHOICE ‘ GET CHOICE
READ
DO CASE
CASE CHOICE=1
DO EADD
CASE CHOICE=2
DO ECHANCE
CASE CHOICE=3
DO EABOUT
CASE CHOICE=4
DO EDELETE
CASE CHOICE=5
DO PAYSLIP
CASE CHOICE=6
USE SALARY
BROW
CASE CHOICE=7
DO LOANDADD
CASE CHOICE=8
USE LOAN
BROW
CLOSE DATABASE
CASE CHOICE=9
USE LOANMASTER
BROW
CLOSE DATABASE
ENDCASE
ENDO

OUTPUT:

MAIN MENU OF PAYROLL SYSTEM


CLOSE DATA BASES
ENDCASE
ENDDO

OUTPUT:

MAIN MENU OF PAYROLL SYSTEM

Program 2: Eadd.prg
Purpose : Interacts with the user and adds new employee details to the database

Code Begin:

CLEAR
*GETTING NEW ID
USE EMPLOYEE
GO BOTTOM
EID=0
EID=EMP_ID
CLOSE DATABASES

*INITALIZING VARIABLES
EID=EID+1
ENAME=SPACE(20)
EADDR=SPACE(30)
EDOB=DATE()
EDOJ=DATE()
EDESIG=SPACE(10)
EDEPT=SPACE(10)
ELEVEL=0
EBASIC=0
EQUALIF=SPACE(10)

*GETTING INPUTS
@1,8 TO 15,64
@2,10 SAY ‘NEW EMPLOYEE ADDITION SCREEN’
@2,10 SAY ‘EMPLOYEE ID ‘+STR(EID)
@3,10 SAY ‘EMPLOYEE NAME’
@4,10 SAY ‘ADDRESS’
@5,10 SAY ‘DATE OF BIRTH’
@6,10 SAY ‘DATE OF JOINING’
@7,10 SAY ‘DEPARTMENT’
@8,10 SAY ‘DESIGNATION’
@10,10 SAY ‘LEVEL’
@11,10 SAY ‘BASIC PAY’
@12.10 SAY ‘QUALIFICATION’
@15,10 SAY ‘SAVE[Y/N]’
@4,30 GET ENAME VALID LEN(TRIM(ENAME))>0
@5,30 GET EADDR VALID LEN(TRIM(EADDR))>0
@6,30 GET EDOB
@7,30 GET EDOJ
@8,30 GET EDEPT VALID LEN(TRIM(EDESIG))>0
@9,30 GET EDEPT VALID ELEVEL > 400
@10,30 GET ELEVEL VALID ELEVEL > 0 .AND. ELEVEL < 9
@11,30 GET EBASIC VALID EBASIC > 400
@12,30 GET EQUALIF VALID LEN(TRIM(EQUALIF)>0
READ
CONFSAVE=’Y’
@15,30 GET CONFSAVE VALID CONFSAVE=’Y’ .OR. CONFSAVE=’N’
READ
IF CONFSAVE=’Y’
USE EMPLOYEE
REPLACE EMP_ID WITH EID
REPLACE EMP_NAME WITH ENAME
REPLACE EMP_ADDR WITH EADDDR
REPLACE EMP_DOB WITH EDOB
REPLACE EMP_DOJ WITH EDOJ
REPLACE EMP_DEPT WITH EDEPT
REPLACE EMP_TITLE WITH EDESIG
REPLACE EMP_GRADE WITH ELEVEL
REPLACE EMP_BASIC WITH EBASIC
REPLACE EMP_QUALIF WITH EQUALIF
ENDIF
USE
RETURN

ADDING NEW EMPLOYEE DETAILS


SAVE[Y/N]……:?

PROGRAM 3: ECHANGE.PRG
PURPOSE : Interacts with the user and modifies employee details in the database

Code Begin:

CLEAR
EID=1
RECFOUND=0

*GETTING INPUTS
@1,8 TO 15,64
@2,10 SAY ‘EMPLOYEE MODIFICATION SCREEN’
@3,10 SAY ‘EMPLOYEE ID’
@3,30 GET EID VALID EID > 0
READ

USE EMPLOYEE
GO TOP
DO WHILE NOT EOF()
IF EMP_ID=EID
SCATTER MEMVAR
RECFOUND=1
EXIT
ENDIF
IF RECNO()+1 <= RECCOUNT()
GOTO RECNO()+1
ELSE
EXIT
ENDIF
ENDDO
IF RECFOUND=1
@4,10 SAY ‘EMPLOYEE NAME’
@5,10 SAY ‘ADDRSS’
@610 SAY ‘DATE OF BIRTH’
@7,10 SAY ‘DATE OF JOINING’
@8,10 SAY ‘DEPARTMENT’
@9,10 SAY ‘DESIGNATION’
@10,10 SAY ‘LEVEL’
@11,10 SAY ‘BSIC PAY’
@12,10 SAY ‘QUALIFICATION’
@15,10 SAY ‘MODIFY[T/N]’
@4,30 SAY M.EMP_NAME
@5,30 SAY M.EMP_ADDR
@6,30 SAY M.EMP_DOB
@7,30 SAY M.EMP_DOJ
@8,30 SAY M.EMP_DEPT
@9,30 SAY M.EMP_TITLE
@10,30 SAY M.EMP_GRADE
@11,30 SAY M.EMP_BASIC
@12,30 SAY M.EMP_QUALIF
@15,30 GET CONFSAVE VALID CONFSAVE=’Y’ .OR. CONFSAVE=’N’
READ
IF CONFSAVE=’Y’
@15,10 SAY ‘SAVE[Y/N]’
@4,30 SAY GET M.EMP_NAME VALID LEN(TRIM(M.EMP_NAME))>0
@5,30 SAY GET M.EMP_ADDR VALID LEN(TRIM(M.EMP_ADDR))>0
@6,30 SAY GET M.EMP_DOB
@7,30 SAY GET M.EMP_DOJ
@8,30 SAY GET M.EMP_DEPT VALID LEN(TRIM(M.EMP_DEPT))>0
@9,30 SAY GET M.EMP_TITLE VALID LEN(TRIM(M.EMP_TITLE))>0
@10,30 SAY GET M.EMP_GRADE VALID M.EMP_BASIC > 400
@12,30 SAY GET M.EMP_QUALIF VALID LEN(TRIM(M.EMP_QUALIF))>0
READ
IF CONFSAVE=’Y’
GATHER MEMVAR
ENDIF
ENDIF
ELSE
@12,10 SAY “RECOD NOT FOUND” &&GET CONFSAVE
READ
ENDIF
USE
RETURN

MIDIFYING EMPLOYEE DETAILS

PROGRAM 4: EDELETE.PRG
PURPOSE “ Removes the details of an employee from the employee.dbf when he is resigning and adds the information to the employeearchive.dbf


Code Begin:

CLEAR
EID=1
RECFOUND=0
CONFSAVE=’Y’
*GETTING INPUTS
@1,8 TO 15,64
@2,10 SAY ‘EMPLOYEE DELETION SCREEN’
@3,10 SAY ‘EMPLOYEE ID’
@3.30 GET EID VALID EID > 0
READ

USE EMPLOYEE
GO TOP
DO WHILE NOT EOF()
IF EMP_ID=EID
SCATTER MEMVAR
RECFOUND=1
EXIT
ENDIF
IF RECNO()+1 <= RECCOUNT()
GOTO RECNO()+1
ELSE
EXIT
ENDIF
ENDDO

IF RECFOUNT=1
@4,10 SAY ‘EMPLOYEE NAME’
@5,10 SAY ‘ADDRESS’
@6,10 SAY ‘DATE OF BIRTH’
@7,10 SAY ‘DATE OF JOINING’
@8,10 SAY ‘DEPARTMENT’
@9,10 SAY ‘DESIGNATION’
@10,10 SAY ‘LEVEL’
@11,10 SAY ‘BASIC PAY’
@12,10 SAY ‘QUALIFICATION’
@13,10 SAY ‘DELETE [Y/N]’
@4,30 SAY ‘M.EMP_NAME’
@5,30 SAY ‘M.EMP_EDDR’
@6,30 SAY ‘M.EMP_DOB’
@7,30 SAY ‘M.EMP_DOJ’
@8,30 SAY ‘M.EMP_DEPT’
@9,30 SAY ‘M.EMP_TITLE’
@10,30 SAY ‘M.EMP_GRADE’
@11,30 SAY ‘M.EMP_BASIC’
@12,30 SAY ‘M.EMP_QUALIF’
@15,30 GET CONFSAVE VALID CONFSAVE=’Y’ .OR.. CONFSAVE=’N’
READ
IF CONFSAVE=’Y’
DELETE
PACK
USE EMPLOYEEARCHIVE
APPEND BLANK
M.UPDATED=DATE()
GATHER MEMVAR
ENDIF
ELSE
@12,10 SAY “RECORD NOT FOUND” &&GET CONFSAVE
READ
ENDIF
USE
RETURN

REMOVING DETAILS OF AN RESIGNED EMPLOYEE


DELETE [Y/N] Y


PROGRAM 5: PAYSLIP.PRG
PURPOSE : Prepares monthly pay slips for all the working for all the working employee. Gets month as an input and prints the pay slip. Does necessary calculation for net salary. If it finds that any employee has covered his due. The detail is removed from loan account and archieved to loan master.
Code Begin:

CLEAR
ENAME=” “
EID=” “
EDEPT=” “
ETITLE=” “
EGRADE=” “
EBASIC=0
EDA=0
EHRA=0
EDEDUCT=0
ELOANCODE=0
EMONTH=0
EYEAR=YEAR(DATE())
EGROSS=0
EDRAFT=’Y’

@1,18 TO 15,64
@2,10 SAY ‘PREPARE PAY SLIP’
@4,10 SAY “YEAR “+STR(EYER)
@6,10 SAY “MONTH”
@8,10 SAY “DRAFT[Y/N]”
@6,25 GET EMONTH VALID EMONTH > 0 .AND. EMONTH < 13
@8,25 GET EDRAFT VALID EDRAFT = ‘N’ .OR. EDRAFT=’Y’
READ

SELECT A
USE EMPLOYEE
GO TOP
SELECT B
USE ALLOWANCE
GO TOP
SELECT C
USE SALARY
GO BOTTOM
SELECT A

DO WHILE NOT EOF()
SCATTER MEMVAR
ENAME=EMP_NAME
EID=EMP_ID
EDEPT=EMP_DEPT
ETITLE=EMP_TITLE
EBASIC=EMP_EBASIC
EGRADE=EMP_GRADE
SELECT B
GO TOP
DO WHILE NOT EOF()
IF EGRADE=GRADE
EDA=(DA*EBASIC)/100
EHRA=(HRA*EBASIC)/100
EGROSS=EDA+EHRA
EXIT
ENDIF
IF RECNO()+1
ENDDO
SELECT C
GO TOP
DO WHILE NOT EOF()
IF EID-EMP_ID
IF PAID_AMT<LOAN_AMT
EDEDUCT=DEDUCT

ELOANCODE=LOAN_CODE
IF EDRAFT=’N’
PAID_AMT=PAID_AMT+DEDUCT
ENDIF
EXIT
ENDIF
ENDIF
IF RECONO()+1 > RECCOUNT()
EXIT
ENDIF
GO RECNO()+1
ENDDO
SELECT A
ENET=EGROSS-EDEDUCT
?’-----------------------X CUT HERE X------------------------------------‘
?’--------------------------------------------------------------------------------‘
?’ XYZ COMPANY (I) LTD.
?’ CHENNAI’
?’ PAY SLIP FOR’ + ENAME + ‘(EID:’ +STR(EID) + ‘)’
?’ ‘
?’ BASIC DA HRA GROSS DEDUCTIONS NET
?’ ‘ + STR(EBASIC) + ‘ ‘ +STR(EDA) + ‘ ‘ + STR(EHRA) + ‘ ‘+
STR(EGROSS) +’ ‘ +STR(EDEDUCT) +’ ‘ + STR(ENET)
?’ ‘
?’---------------------------------------------------------------------------------‘
?’ ‘
IF EDRAFT=’N’
SELECT D
APPEND BLANK
GATHER MEMVAR
REPLACE EMP_ID WITH EID
REPLACE EMP_DEPT WITH EDEPT
REPLACE EMP_TITLE WITH ETITLE
REPLACE GRADE WITH EGRADE
REPLACE DA WITH EHRA
REPLACE HRA WITH EHRA
REPLACE DEDUCT WITH EDEDUCT
REPLACE LOAN_CODE WITH ELOANCODE
REPLACE MONTH WITH EMONTH
REPLACE YEAR WITH EYEAR
ENDIF
IF RECNO()+ > RECCOUNT()
EXIT
ENDIF
GO RECNO()+1
ENDOD


OUTPUT
PAY SLIP INITIATION SCREEN


PROGRAM 6: Loanadd.prg
Purpose : Allows user to sanctions loan for an employee check if the employee hold a loan due. If found, loan details are displayed on request. If the employee has no open account, loan is sanctioned.


Code Begin:

CLEAR
EID=1
RECFOUND=0
CONFSAVE=’Y’
@1,8 TO 15,64
@2,10 SAY ‘LOAN SACTIONING SCREEN’
@3,30 GET EID VALID EDIT > 0
READ
USE EMPLOYEE
GO TOP
DO WHILE NOT EOF()
IF EMP_ID=EID

RECFOUND=1
EXIT
ENDIF
IF RECONO()+1 <= RECCOUNT()
GOTO RECNO()+1
ELSE
EXIT
ENDIF
ENDDO

IF RECFOUND=1
USE LOAN
GO BOTTOM
LID=0
LID=LOAN_COADE+1
RECFOUND=0
GO TOP
DO WHILE NOT EOF()
IF EMP_ID=EID
IF LOAN_AMT > PAID_AMT
RECFOUND=1
EXIT
ENDIF
ENDIF
IF RECON()+ 1 <= RECCOUNT()
GOTO RECNO()+1
ELSE
EXIT
ENDIF
ENDDO
CLOSE DATABSE
IF RECFOUND=0
LDATE=DATE()
LAMT=0
LDEDUCT=0
CLEAR
@1,8 TO 15,64
@2,10 SAY ‘LOAN SACTIONING SCREEN’
@4,10 SAY ‘LOAN’
@5,10 SAY ‘EMPLOYEE ID’
@6,10 SAY ‘SANCTION DATE’
@7,10 SAY ‘LOAN AMOUNT’
@8,10 SAY ‘DEDUCTION’
@4,30 SAY STR(LID)
@5,30 SAY STR(EID)
@6,30 GET LDATE
@7,30 GET LAMT VALID LAMT > 0
@8,30 GET LDEDUCT VALID LDEDUCT > 0 AND LDEDUCT <= LAMT
READ
USE LOAN
APPEND BLANK
REPLACE LOAN_CODE WITH LID
REPLACE EMP_ID WITH LID EID
REPLACE STDATE WITH LDATE
REPLACE LOAN_AMT WITH LAMT
REPLACE PAID_AMT WITH 0
REPLACE DEDUCT WITH LDEDUCT
CLOSE DATABASES
ELSE
@10,10 SAY “CANNOT SANCTION LAON.”
@11,10 SAY “EMPLOYEE ALREADY HAS AN OPEN ACCOUNT”
@12,10 SAY “WANT TO VIEW HIS RECORD [Y/N]”
@15,30 GET CONFSAVE VALID CONFSAVE=’Y’ .OR. CONFSAVE=’N’
READ
IF CONFSAVE=’Y’ THEN
USE LOAN
GO TOP
DO WHILE NOT EOF()
IF EMP_ID=EID
IF LOAN_AMT > PAID_AMT
LDATE=STDATE
LAMT=LOAN_AMT
LPAID=PAID_AMT
LDEDUCT=DEDUCT
EXIT
ENDIF
ENDIF
IF RECNO()+1 <= RECCOUNT()
GOTO RECNO()+1
ELSE
EXIT
ENDIF
ENDDO
CLEAR
@1,8 TO 15,64
@2,10 SAY ‘LOAN DETAILS SCREEN’
@4,10 SAY ‘LOAN CODE’
@5,10 SAY ‘EMPLOYEE ID’
@6,10 SAY ‘SANCTION DATE’
@7,10 SAY ‘LOAN AMOUNT’
@8,10 SAY ‘PAID AMOUNT’
@9,10 SAY ‘DEDUCTION’
@15,10 SAY ‘MODIFY [Y/N]’
@4,30 SAY STR(LID)
@5,30 SAY STR(EDI)
@6,30 SAY LDATE
@7,30 SAY LAMT
@8,30 SAY LPAID
@9,30 SAY LDEDUCT
@15,30 GET CONFSAVE VALID CONFSAVE=’Y’ .OR. CONFSAVE=’N’
READ
IF CONFSAVE=’Y’
@6,30 GET LDATE
@7,30 GET LAMT VALID LAMT > 0
@8,30 GET LPAD VALID LPAID > 0 AND LPAID <=LAMT
@9,30 GET LDEDUCT VALID LDEDUCT > 0 AND LDEDUCT <= LAMT
@15,10 SAY ‘SAVE CHANGES[Y/N]’
@15,30 GET CONFSAVE VALID CONFSAVE=’Y’ .OR. CONFSAVE=’N’
READ
IF CONFSAVE=’Y’
REPLACE LOAN_CODE WITH LID
REPLACE EMP_ID WITH EID
REPLACE STDATE WITH LDATE
REPLACE LOAN_AMT WITH LAMT
REPLACE PAID_AMT WITH 0
REPLACE DEDUCT WITH LDEDUCT
ENDIF
ENDIF
ENDIF
ENDIF
ELSE
@12,10 SAY ‘INVALID EMPLOYEE IS’
READ
ENDIF
CLOSE DATABASE

OUTPUT
ENTERING LOAN DETAILS FOR AN EMPLOYEE


PAYROLL SYSTEM WILL SHOW ERROR IF EMPLOYEE HAS AN OPEN ACCOUNT


PAYROOL SYSTEM DISPLAYING LOAN DETAILS OF AN EMPLOYEE


MODIFY[Y/N] Y

End of Project


Back(Analysis)

FDDI Frequently Asked Questions (FAQ), The function and frame format of FDDI,Aloha,Comparative analysis between two types of ATM Switches,Knockout Switch,Barcher-Banyan Switch,Various popular standards for compressing multimedia data,Distributed Multimedia Survey: Standards, ASCII to hex value chart,Comparative analysis - TCP - UDP, Addressing Formats and QoS parameters, Bellman Ford's Algorithm Lay networks, free, java, java script, asp, vb, linux, ignou, tutorial, Unix commands, System Analysis, System Design, Ipv6, quiz, download, free, Computer Architecture, Object Oriented System, Relational Database Management Systems, Object Oriented System, Operating Systems, Software Engineering, Communications and Networks, Discrete Mathematics, Intelligent Systems, Operations Research, Accounting and Finance on Computersmca, networking, protocols, glossary, assignment, project, tma, programming source code, programming, source code, unix, free
 
Book Mark/Share this site at BlinkBits BlinkList Blogmarks co.mments Delicious Digg Fark Furl it! Google Ma.gnolia Netvouz NewsVine RawSugar Reddit Shadows Simpy Stumble Technorati YahooMyWeb

Copyright © 2000- 2007 Lay Networks All rights reserved. 
This website is best viewed in Firefox 1.0.1 above.

Web Hosting sponsored by Customized Software Company India
Web Site Designed by Web Designing, Flash Animation, Multimedia Presentations, Broacher/catalogue designing, Web Promotion 
Refer to your freind About Us Legal IGNOU Contact Us Feedback Donate to laynetworks.com Download Management Tutorials Tutorials History Search here