You are on page 1of 52

MOBILE BANKING SYSTEM

A PROJECT REPORT

Submitted by A. JAGADEESH ARUMUGAM (41501104028)

in partial fulfillment for the award of the degree of BACHELOR OF ENGINEERING in COMPUTER SCIENCE AND ENGINEERING

S.R.M. ENGINEERING COLLEGE, KATTANKULATHUR-603 203, KANCHEEPURAM DISTRICT.

ANNA UNIVERSITY : CHENNAI - 600 025

MAY 2005 BONAFIDE CERTIFICATE

Certified that this project report " MOBILE BANKING SYSTEM " is the bonafide work of "A. JAGADEESH ARUMUGAM (41501104028)" who carried out the project work under my supervision.

-1-

Prof. S.S. SRIDHAR, M.S., (Ph.D) HEAD OF THE DEPARTMENT COMPUTER SCINECE AND ENGG S.R.M.Engineering College Kattankulathur - 603 203 Kancheepuram District

Ms. P. GIRIJA, B.E, SUPERVISOR Lecturer COMPUTER SCINECE AND ENGG. S.R.M.Engineering College Kattankulathur - 603 203 Kancheepuram District

ACKNOWLEDGEMENT Our foremost and profound gratitude to our Director Dr.T.P.Ganesan and our Principal Prof.RVenkataramani for making available to us state-of-art laboratories and a highly equipped library for our research and the successful implementation of our project.

Our sincere thanks and respects to Prof.S.S.Sridhar, M.S.,(Ph.D),Head of the Department of Computer Science and Engineering Department for giving us the freedom to explore and for providing us with a highly qualified team for guiding us in our project.

-2-

Our heartfelt gratitude to our Project coordinators Mrs.M.Pushpalatha, M.E. and Mrs.C.Lakshmi, M.E., (Ph.D). for guiding us in choosing our area of interest and enabling an in-depth research of the project by sharing their expertise.

We would like to thank our Project guide Ms.P. Girija, B.E. for her constant guidance and encouragement in helping us to overcome the obstacles in our project and for putting us on the right track whenever necessary.

ABSTRACT Now a days, the bank customer who is everything based on the bank and cant able to involve in the bank process. This Problem can be solved through Mobile System. The title of the project is MOBILE BANKING SYSTEM. The main aim of my project is to computerize the Bank Process, which is used to reduce the customer transaction time as well as user can able to access from anywhere. It provides a system for the user to access his bank account through his Mobile. The system also enables the user to pay his bill through the Mobile as well as pay for some other services, which he has availed. The Mobile banking system is not just for payment but a user of the system can also transfer money through the system. He can receive from his bank or from his business associates or friend or other person who is also connected to the system. TABLE OF CONTENTS CHAPTER NO. TITLE ABSTRACT LIST OF TABLES LIST OF FIGURES 1. INTRODUCTION 1.1About the Project 2. SYSTEM REQUIREMENTS 2 1 PAGE NO. i xv xi

-3-

2.1 2.2 2.3

Hardware Requirements 2 Software Requirements Required tools 3 2.4.Installation procedure SYSTEM ANALYSIS 6

3. 3.1 3.2 4. 4.1 4.2 4.3 5.

Existing System Proposed System SYSTEM DESIGN 7

6 6

Project description 8 Data Flow Diagram 11 Table Structure 15 SYSTEM TESTING AND IMPLEMENTATION Testing Fundamentals Implementation 18 21

18

5.1 5.2

6. 6.1 6.2 6.3 7. 7.1 7.2 8.

MAINTENANCE 22 Corrective Maintenance Adaptive Maintenance Enhance Maintenance APPENDIX 24 List of forms List of codings USES 53

22 23 23

24 39

9.

CONCLUSION 53 REFERENCES 54

10.

-4-

1.INTRODUCTION

1.1 ABOUT THE PROJECT Mobile banking enable customer to access the information from his personal mobile and can able to view his account details. This system also used to transact money to another client through the keypad of the mobile itself. The user can also verify his Cheque and demand draft details if another person may pass a demand draft or Cheque.

The Mobile Banking System runs in a Mobile Browser (Nokia Simulator). The software consists of two parts viz, the server part and the client part. The server part is present in Mobile Banking server in the form of Downloaded Application module. The client part is present at each clients mobile the server and the client are connected to each other over the Internet using WAP technology.

Mobile Banking provides a system for the user to access his bank account through his Mobile. The system also enables the user to pay his EB Bill, Telephone Bill through his mobile as well as pay for some other services, which he has availed. The Mobile banking system is not just for payment but a user of the system can also transfer money to another account holder through this system. He can receive from his bank or from his business associates or friend or other person who is also connected to the system.

2.SYSTEM REQUIREMENTS

2.1 HARDWARE REQUIREMENTS: Processor Clock Speed PENTIUM III 667 MHz

-5-

RAM Hard Disk Cache Memory Virtual Memory Display Card Mouse Keyboard

128 MB 4 GB 11,011,968 Bytes 32 MB Super Video Graphics (SVGA) Logitech Serial Mouse Adapter

Standard 104 Enhanced Keyboard

2.2 SOFTWARE REQUIREMENTS: Web Server Browser Database Language Client side scripting Apache Tomcat Server 4.1.30 Nokia Simulator 4.0 MS Sql-Server J2EE HTML,WML,WML-Script

Server side scripting JSP,Servlets

2.3 REQUIRED TOOLS: Nokia Mobile Internet Toolkit 4.0 Nokia Browser4.0 Nokia 5100 Sdk Nokia WAP Gateway SOFTWARE DESCRIPTION SOFTWARE ARCHITECTURE

-6-

The following diagram illustrates the links between various components involved in this system:

CLIENT

SERVER

HTML AND JAVASCRIPT

SEVLETS
JAVA

DATABASE

In the following sections the salient features of each of their components are discussed:

Java JavaScript HTML Servlets JDBC 2.4 INSTALATION PROCEDURE: Install soft wares such as Public Web Server, MS-SQL SERVER, and Win98 or Windows NT environment. Create a Virtual directory named as bank in Public Web Server. Create Data Source Name as bank in ODBC connectivity. Copy and paste all the html and asp files into the folder Net Bank.

-7-

Open the browser and type http://localhost/bank/Myhome.html in the address bar and follow the page accordingly. ABOUT THE NOKIA SIMULATOR: Nokia Simulator: Nokia Mobile Internet Toolkit 4.0 Nokia 5100 SDK Nokia Mobile Internet Toolkit 4.0 Nokia Mobile Internet Toolkit (NMIT) consists of a set of editors for creating various types of mobile Internet content. NMIT enables the display of this content on Multiple supported phone SDKs, such as the Nokia 5100 content authoring SDK as well As the Nokia Mobile Browser Simulator (NMB)concept phone SDK. Phone SDKs are installed separately. NMIT detects installed, supported phone SDKs at startup and lists these in its SDK Control Panel. You can display Content you Author on any supported phone SDK by simply clicking a Show button within an editor.

Most NMIT editors are used for creating XML-based content types defined by Document type definitions (DTDs). These editors employ content validation to check Content against a DTD, and they provide futures for easily selecting elements and Attributions for insertion based on current cursor position. In addition, NMIT provides a DTD manager through which you can import new DTDs for use by NMIT editors. Nokia Mobile Internet Toolkit (NMIT) 4.0, which has been newly redesigned to Focus primarily on content authoring futures and to support multiple active phone SDKs.

NMIT 4.0 defers considerably from the previous NMIT 3.1 versions in that the following NMIT 3.1 components are no longer included with NMIT and are now available as Separate downloads from forum Nokia. WAP Server Simulator, newly renamed Nokia WAP Gateway Simulator (NWGS)

-8-

Nokia Mobile Browser (NMB) 3.01 device simulator, Newly renamed Nokia Mobile Browser (NMB) Simulator 4.0. In additional, the NMIT 3.1

Set of tab views for viewing current, session, Bookmarks, WTLS, and WIM information is not included in NMIT 4.0. These views, which are Used for

diagnostic monitoring of the interaction of phone SDKs with the Network, have been integrated within each phone SDK and made accessible through a window attached to each running SDK instance.

This redesign of NMIT provides several benefits such as the ability to: Launch multiple phone SDKs and multiple instances of most individual phone SDKs. Send content simultaneously to multiple instances of running phone SDKs. Launch diagnostic views from running individual phone SDKs with targeted individually to phone SDKs capability; for Example, View panels

WIM and WTLS views are absent from the diagnostic views of Phone SDKs that do not support these functions.

Associate file types with NMIT editors during

NMIT installation so that

doublechecking a file of That type opens the file in an NMIT editor NMIT enables you to launch the following tools: SDK control panel. This tool for managing phone SDKs is an integral part of NMIT. DTD manager. This tool for supplementing the DTDs used by NMITs XML-based editors is an integral part of NMIT. DRM (Digital Rights Management). This tool, a single user WAP gateway, is a separate application, not integrated with NMIT.

-9-

3. SYSTEM ANALYSIS System analysis focuses on specifying for what the system or the application is required to do. It allows the individuals to see the logical elements (what the system should do) apart from the physical components it uses (computers, terminals and storage system). It is the process of gathering and interpreting facts, diagnosing problems and using the information to recommend improvements to the system.

3.1 EXISTING SYSTEM: The existing system is the manual system. The manual system is prone to error. It is time consuming. It is very difficult for a person to produce the report. There are chances for changing the scheme report and do malpractice. This system involves a lot of manual entries with the applications to perform the desired task.

Usage of papers in the payment process leads to less efficiency, less accuracy and less productivity.

Increasing expenditure for papers shuffling and storage. Increasing labors and hence errors. Less control of funds Time delay between the payment and its receipt. Persons who are present in different part of the world cannot transact efficiently. 3.2 PROPOSED SYSTEM:

- 10 -

The proposed system is designed to eliminate the drawbacks of the existing system. It is designed by keeping to eliminate the drawbacks of the present system in order to provide a permanent solution to the problems. The primary aim of the new system is to speedup transactions. The report is prepared for the schemes and implemented by the concerned officials. Since the advent of banking services in the Middle Ages bank customers have used paper-based instrument to move money between accounts. In the past few years, electronics messages moving through private networks have largely replaced paper for most of the messages exchanged among banks each day MOBILE BANKING is the first step in electronic replacements for traditional forms of payments in the banks and among users. It comes as no surprise to one that when everything is being converted to electronics then how business and banking can be left behind. Already the business have to global with the coming of Internet. Now, no more the individual aims at the local market is also just a click of button away. Dozens of companies are in the race to convince bankers and merchants that a pot of gold awaits those who conduct their business on the Internet. In this fast race of business and moneymaking, no country, no company and no individual want to fall back. Everyone wants to lead the group. Hence, everyone is trying to make the best use of Internet. 4. SYSTEM DESIGN

The word system is possibly the most overused and abused term in the technical lexicon. System can be defined as the a set of fact, principles, rules etc., classified and arranged in an orderly form so as to show a logical plan linking the various parts here the system design defines the computer based information system. The primary objective is to identify user requirements and to build a system that satisfies these requirements.

Design is much more creative process than analysis. Design is the first step in the development of any system or product. Design can be defined as the process of

- 11 -

applying various techniques and principles for the purpose of defining a device, a process or a system in sufficient detail to permit its physical realization.

It involves four major steps they are: 1. Understanding how the system is working now; 2. Finding out what the system does now; 3. Understanding what the new system will do; and 4. Understanding how the new system will work. In Banking System, when it was maintained manually, it involves lot of inconveniences to customer when transact the money from one person to another person. Customer does not view his account details such that what is the closing balance and the statements of transactions. Account Balance Inquiry, Account Statement Inquiry, Cheque Status Inquiry, Demand Draft Request, Bankers Cheque Request, Cheque Book Requests, Fund Transfer, and Bill Payments are done only in offline with the help of bank staffs.

So as to avoid these difficulties, a new system was designed to keep these requirements in mind. Therefore the manual process operation has been changed into GUI based environment, such that the user can retrieve the records in a user-friendly manner and it is very easy to navigate to the corresponding information.

4.1 PROJECT DESCRIPTION: INPUT DESIGN: Input design is the bridge between users and information system. It specifies the manner in which data enters the system for processing it can ensure the reliability of the system and produce reports from accurate data or it may results in output of error information. In Net Bank, forms which has inputs in the system is discussed below:

- 12 -

Registration Login Fund transfer Bill payment Deposit Withdraw Account statement inquiry DD, Banker cheque requests Registration form: New customer gives their information like, custid, password, accbranch, name, age, sex, address, e-mail id etc.

Login form:

The customer gives the inputs for their login into the system. Inputs are customer id and password. If they are valid, he enters into the system.

Fund transfer: The user must enter the account number to whom he transfers the amount and the amount to be transferred is entered.

Bill Payment:

The customer must enter account no, city, consumer no for EB, phone, cellular, insurance and amount to be paid. After giving these inputs the amount will be subtracted from his account.

Account Statement Inquiry:

- 13 -

This form is used to display the account details of current or specific period. The user must enter the starting date and ending state, then it will display the account details of that specific period.

DD, Bankers Cheque Request: This form is used to the customers for their corresponding requests. The user must enter the accno, beneficiary name, and dd or bc amount. Then Mobile banking system checks the minimum balance of the customer. If valid, it accepts the requests and provides the dd or banker cheque.

OUTPUT DESIGN: Outputs from the computer system are rewired primary to communicate the results of processing to the uses. They also used to provide a permanent copy of these results for later consultation / verification. The main points on designing an output are deciding the media, designing layout and report to be printed. The outputs are designed from the system, are simple to read and interpret.

According the requirements of the system, various types of outputs are as desired and designed as follows.

Account Statement Inquiry which is used to display the account details such as account holder name, accno, transdate, narration, valdate, chddno. Account Balance Inquiry, which is used to display the account balance such as total balance, unclear funds, and overdraft and credit balance.

Bank account closing, which is used to display the bank details of the current day. It displays the current date, opening balance, current date transactions and closing balance. Funds transfer, Bill payments, DD, Bankers cheque, cheque Book requests are used to display whether the customers requests are accepted or denied after checking the validations. - 14 -

REPORT DESIGN: Mobile Banking System supports and improves many of the core functionality of the organization ie. Banks and also helps in quick easy monitoring of the reports that have been automatically generated as and when the user performs some transactions in the system.

The appraisal reports are prepared for the customers and bank, according to the periods like current period, specific period, day wise, month wise and year wise.

Customer Reports: Current period report gives only the last 10 transactions details from the current date to a particular customer. Specific period report gives the transactions details between the starting date and ending date, which are specified as inputs.

Bank Reports: Day report provides the opening balance, transactions details and closing balance for all the customers to a specific date that is given as input. Month report provides the opening balance, transactions details and closing balance for all the customers to a specific month and year that are given as inputs.

Year report provides the opening balance, transactions details and closing balance for all the customers to a specific year that is given as input.

4.2 DATA FLOW DIAGRAM: A DFD is a logical model of the system. The model does not depend on the hardware, software and data structures of file organization. It tends to be easy for even non-technical users to understand and thus serves as an excellent communication tool.

- 15 -

DFD can be used to suggest automatic boundaries for proposed system at pa very high level; the entire system is shown as a single logical process clearly identifying the sources and destination of data. This is often referred to as zero level DFD.

Then the processing is exploded into major processes and the same is depicted as level one DFD. Personal Details: Field Name Data Type Accno Cid Pass Fname Lname Dob Sex Madd Pin1 Con1 Toff Tres Fax Pager Mob Padd Pin2 Con2 Tele Mstatus Dep Edu Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Description Account number Customer id Password First name Last name Date of Birth Sex Mail address Pincode1 Country1 Telephone office Telephone residence Fax no Pager no Mobile no Permanent Address Pincode2 Country2 Telephone Maritial Status Dependents Education

Constraints Primary key Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null Not null -----Not null Not null Not null Not null Not null Not null Not null Not null Not null

- 16 -

Occu Proff Emp Grade Income Asset Vech Res

Text Text Text Text Text Text Text Text

Occupation Profession Employed with Grade Income Assets Vechicles Residence

Not null Not null Not null Not null Not null Not null Not null Not null

Introducer Details: Field Name Accno Cid Inname Inacc Copy Data Type Number Number Text Number Text Description Account number Customer id1 Introducers name Introducers account no Attachments Constraints Reference Key Not null Not null Not null Not null

Account Type: Field Name Accno Acctype Openamt Data Type Number Text Text Description Account number Savings / current account Opening Amount Constraint Reference key Not null Not null

Transaction Details: Field Name Encode Accno Data Type Number Number Description Entry code Account number Constraints Not null Reference key

- 17 -

Acctype Transdate Transtype Chddno Valdate Payer Depoamt Payee Withamt Balance

Text Text Text Number Text Text Number Text Number Number

Account type Transaction date Transaction type Cheque / DD number Value date Payer Deposit amount Payee Withdraw amount balance

Not null Not null Not null ------Not null ------------------------Not null

Cheque Details: Field Name Encode Accno Acctype Transdate Transtype Chddno Valdate Payer Depoamt Payee Withamt Status Data Type Number Number Text Text Text Number Text Text Number Text Number Text Description Entry code Account number Account type Transaction date Transaction type Cheque / DD number Value date Payer Deposit amount Payee Withdraw amount Cheque status Constraints Not null Reference key Not null Not null Not null Not null Not null ------------------------Not null

Demand Draft Details: Field Name Fraccno Ddno Data Type Number Number Description From account number Demand draft number Constraints Reference key Not null

- 18 -

Bename Ddamt Appdate City State

Text Number Text Text Text

Beneficiary name Demand draft number Application date City State

Not null Not null Not null Not null Not null

Bankers Cheque Details: Field Name Fraccno Ddno Bename Ddamt Appdate Data Type Number Number Text Number Text Description From account number Demand draft number Beneficiary name Demand draft number Application date Constraints Reference key Not null Not null Not null Not null

Cheque Book Details: Field Name Accno Reqdate Chbookno Stno Endno Refno Data Type Number Text Number Number Number Number Description Account number Requested date Cheque book number Starting number Ending number Reference number Constraints Reference key Not null Not null Not null Not null Not null

5.SYSTEM TESTING AND IMPLEMENTATION 5.1.TESTING FUNDAMENTALS

- 19 -

Software testing is an important element of S/W quality assurance and represents the ultimate review of specification, design and coding. The increasing visibility of S/W as a system element and the costs associated with a S/W failure are motivating forces for well planned, through testing.

Though the test phase is often thought of as separate and distinct from the development effort--first develop, and then test--testing is a concurrent process that provides valuable information for the development team.

There are at least three options for integrating Project Builder into the test phase:

Testers do not install Project Builder, use Project Builder functionality to compile and source-control the modules to be tested and hand them off to the testers, whose process remains unchanged.

The testers import the same project or projects that the developers use. Create a project based on the development project but customized for the testers (for example, it does not include support documents, specs, or source), who import it. A combination of the second and third options works best. Associating the

application with a project can be useful during the testing phase, as well. We can create actions to automatically run test scripts or add script types and make them dependent on the modules to test.

Testing objectives: There are several rules that can serve as testing objectives. They are: Testing is a process of executing a program with the intent of finding an error. - 20 -

A good test case is one that has a high probability of finding an undiscovered error.

A successful test is one that uncovers an undiscovered error. If testing is conducted successfully according to the objectives stated above, it will uncover errors in the software. Also, testing demonstrates that software functions appear to the working according to specification, that performance requirements appear to have been met.

OBJECT ORIENTED TESTING: UNIT TESTING: Unit testing focuses the verification effort on the smallest unit of S/W design i.e., the module. The unit testing is always white-box oriented and the step can be conducted in parallel for modules.

During unit test, testers can use the same project or projects as the developers, if functional units organize the project, or separate projects have been created for functional units. The project or projects can also be exported, so unit test can take place in a variety of environments and on a variety of platforms.

Unit test considerations: The tests that occur as part of unit testing. The module interface is tested to ensure that information properly flows into and out of the program unit under test. The

- 21 -

local data structures are examined to ensure that data stored temporarily maintains its integrity during all steps in an algorithms execution. Boundary Conditions are tested to ensure that the module operates properly at boundaries established to limit or restrict processing. All independent paths through the control structures are exercised to ensure that all statements in a module have been executed at least once. Finally, all error-handling paths are tested.

Unit test procedures:

Unit testing is considered an equivalent to the coding step. After the source level code has been developed, reviewed and verified for correct syntax, unit test case design begins since a module is not a stand alone program, driver and/or stub S/W must be developed for each unit test.

In most applications, a driver is nothing more than a main program that accepts test case data, passes such data to the module to be tested, and prints the relevant results. The stubs serve to replace modules that are subordinates called by the modules to be tested. A stub or a dummy stub or a dummy subprogram uses the subordinate modules interface, may do minimal data manipulation, prints verification of entry, and returns. The drivers and scrubs represent overhead i.e., both are S/W that must be written but that is not delivered with the final S/W product. If the drivers and the stub are kept simple, then the overhead is low.

The Unit Test is carried out in this project, and is found successful. The data is flowing correctly to all part of the project.

INTEGRATION TESTING: Integration testing is a systematic technique for constructing the program structure while at the same time conducting test to uncover errors associated with interfacing. The objective is to take unit-tested modules and build a program structure that has been dictated by design. - 22 -

Top-down integration: This method is an incremental approach to the construction of program structure. Modules are integrated by moving downward through the control hierarchy, beginning with the main program module.

Importing the test project and setting up the testing environment: The process of importing a test project and setting up a testing environment is the same as the process for importing a project and setting up the environment for development.

Adding test scripts and test data to the project: You may need to add some items, such as test scripts, to the project. In addition, you may need to add connection strings to database accounts containing test data. Remember that you can automate the running of test scripts just as you can automate actions associated with the modules in your application.

Modifying actions and macros to facilitate testing: If actions specifying "run with debugging" have not already been provided, you can either modify existing actions to include a debug flag, or create new actions.

5.2.IMPLEMENTATION:

Once the system has been designed, the next step is to convert the designed one in to actual code, so as to satisfy the user requirements as excepted. If the system is approved to be error free it can be implemented.

- 23 -

When the initial design was done for the system, the department was consulted for acceptance of the design so that further proceedings of the system development can be carried on. After the development of the system a demonstration was given to them about working of the system. The aim of the system illustration was to identify any malfunctioning of the system.

Implementation includes proper training to end-users. The implemented software should be maintained for prolonged running of the software. Initially the system was run parallel with manual system. The system has been tested with data and has proved to be error-free and user-friendly. Training was given to end -user about the software and its features.

6. MAINTENANCE : The term software maintenance is used to describe the software engineering activities that occur following delivery of a software product to the customer. The maintenance phase of the software life cycle is the time period in which a software product performs useful work.

Maintenance activities involve making enhancement to software products, adapting products to new environments and correcting problems. Software product enhancement may involve providing new functional capabilities, improving user display and modes of interaction, and upgrading external documents. Adaptation of software to a new environment may involve moving the software to a different machine. Problem correction involves modification and revalidation of software to correct errors.

The enhancement of this project can be accomplished easily. That is, any new functional capabilities can be added to the project by simply including the new module in the homepage and giving a hyperlink to that module. Adaptation of this project to a new environment is also performed easily.

6.1. CORRECTIVE MAINTENANCE: - 24 -

Even with the best quality assurance activities, it is likely that they customer will uncover defects in the software. Corrective maintenance changes the software to correct defects. 6.2. ADAPTIVE MAINTENANCE: An activity that modifies the software to properly interface with a changing environment. The system has been modified so that various change include to the new system.

In case of Fund Transfer, adoptive maintenance has been performed, that is in earlier system (character based UNIX system) changes are fixed and if any new changes are to be included, was a difficult task. Now provisions are given so that the user can define various changes. Such as it designed to accommodate the new change in further.

6.3. ENHANCEMENT MAINTENANCE: As software is used, the customer/user will recognize additional functions that will provide benefit. Perceptive maintenance extends the software beyond its original functional requirements.

In the case of MOBILE BANKING system can be added new functions such that the user can able to retrieve the information in a user friendly and it will be very helpful for future development.

7.APPENDIX 7.1 LIST OF FORMS:

- 25 -

- 26 -

- 27 -

- 28 -

- 29 -

- 30 -

- 31 -

- 32 -

- 33 -

- 34 -

- 35 -

7.2 LIST OF CODING:

- 36 -

Fund Transfer: <%@ page language="java" session="true" import="java.sql.*" %> <%@ include file="date1.jsp" %> <html> <body background="indtextb.jpg" bgcolor="#FFFFFF" text="#000000" link="#3366CC" vlink="#666666" alink="#996600"> <% try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(ClassNotFoundException try{ int

ex){}

en=0,balance=0,i=0,auto=0,no=0,depamt=0,n=0,balance1=0,check=0; int f=0,f1=0,f2=0,f3=0; int

en1=0,balance2=0,tobalance=0,todepamt=0,check1=0; String atype="",type="fund transfer",y="",paye=""; String toatype="",topaye=""; String fraccno=(String)session.getValue("ano"); String toaccno=request.getParameter("T1"); famt=request.getParameter("T2"); famt1=Integer.parseInt(famt); cc=null; cc=DriverManager.getConnection("jdbc:odbc:wallet","sa",""); Statement s=cc.createStatement(); /* from */ PreparedStatement p=cc.prepareStatement("select encode,bal from trans where accno=? "); p.setString(1,fraccno); ResultSet rs=p.executeQuery(); - 37 int Connection String

int ent=0; while(rs.next()) { en=rs.getInt("encode"); if(ent<en) { ent=en; balance=rs.getInt("bal"); } } ent=ent+1; PreparedStatement p1=cc.prepareStatement("select acctype,damt,payee from trans where accno=? "); while(rs1.next()) { atype=rs1.getString("acctype"); //depamt=rs1.getInt("damt"); paye=rs1.getString("payee"); } /* toaccno */ PreparedStatement p5=cc.prepareStatement("select encode,bal from trans where accno=? "); p5.setString(1,toaccno); ResultSet rs5=p5.executeQuery(); int ent1=0; while(rs5.next()) { check1=1; p1.setString(1,fraccno);

ResultSet rs1=p1.executeQuery();

- 38 -

en1=rs5.getInt("encode"); if(ent1<en1) { ent1=en1; tobalance=rs5.getInt("bal"); } } ent1=ent1+1; PreparedStatement p6=cc.prepareStatement("select acctype,damt,payee from trans where accno=? "); while(rs6.next()) { toatype=rs6.getString("acctype"); //todepamt=rs6.getInt("damt"); topaye=rs6.getString("payee"); } p6.setString(1,toaccno);

ResultSet rs6=p6.executeQuery();

if(check1==1) { if(famt1>balance) { check=1; out.println("cannot pass.ur bal is"+ balance); } else { balance1=balance-famt1; balance2=tobalance+famt1; //todepamt=todepamt+famt1; - 39 -

} } if(check!=1) { /* Inserting Trans FROM*/ String sq2=("insert into trans values(?,?,?,?,?,?,?,?,?,?,?,?,?)"); PreparedStatement p2=cc.prepareStatement(sq2); p2.setInt(1,ent); p2.setInt(2,Integer.parseInt(fraccno)); p2.setString(3,atype); p2.setString(4,x); p2.setString(5,type); p2.setString(7,x); p2.setString(6,y); p2.setString(8,y);

p2.setInt(9,n); p2.setString(10,paye); p2.setString(11,toaccno); p2.setInt(13,balance1); int if(j>0) { f=1; } String sq3=("insert into wdraw values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); PreparedStatement p4=cc.prepareStatement(sq3); p4.setInt(1,ent); p4.setInt(2,Integer.parseInt(fraccno)); p4.setString(3,atype); p4.setString(4,x); p4.setString(5,type); p4.setString(7,x); p4.setString(6,y); p4.setString(8,paye); j=p2.executeUpdate(); p2.setInt(12,famt1);

p4.setInt(9,n); p4.setString(10,y); p4.setString(11,y); p4.setInt(13,balance1); p4.setInt(12,famt1);

- 40 -

p4.setString(14,y); int jj=p4.executeUpdate(); if(jj>0) { f1=1; } /* Inserting trans TO */ String sq4=("insert into trans values(?,?,?,?,?,?,?,?,?,?,?,?,?)"); PreparedStatement p7=cc.prepareStatement(sq4); p7.setInt(1,ent1); p7.setInt(2,Integer.parseInt(toaccno)); p7.setString(3,toatype); p7.setString(5,type); p7.setString(7,x); p7.setInt(9,famt1); p7.setString(11,y); p7.setString(4,x);

p7.setString(6,y); p7.setString(8,y); p7.setString(10,topaye); p7.setInt(12,n);

p7.setInt(13,balance2); int j1=p7.executeUpdate(); if(j1>0) { f2=1; } String sq5=("insert into deposit values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); PreparedStatement p8.setInt(1,ent1); p8=cc.prepareStatement(sq5);

p8.setInt(2,Integer.parseInt(toaccno)); p8.setString(3,toatype); p8.setString(4,x); p8.setString(6,y); p8.setString(8,topaye); p8.setInt(9,famt1); p8.setString(11,y); p8.setString(10,y); p8.setInt(12,n); p8.setString(5,type); p8.setString(7,x);

- 41 -

p8.setInt(13,balance2); p8.setString(14,fraccno); int jj1=p8.executeUpdate(); if(jj1>0) { f3=1; } if(f==1 && f1==1 && f2==1 && f3==1) { response.sendRedirect("http://localhost:8080/examples/jsp/frames/final.htm"); } } }catch(SQLException ex){} %>

</BODY> </HTML>

Demand Draft <%@ page language="java" session="true" import="java.sql.*" %> <%@ include file="date1.jsp" %> <html> <body background="indtextb.jpg" bgcolor="#FFFFFF" text="#000000"

link="#3366CC" vlink="#666666" alink="#996600"> <% try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

- 42 -

}catch(ClassNotFoundException try{ int f=0,f1=0,f2=0;

ex){}

int en=0,balance=0,i=0,auto=0,no=0,depamt=0,n=0,balance1=0,check=0; String atype="",type="dd",y="",paye=""; String accno=(String)session.getValue("ano"); //out.println(accno); String bename=request.getParameter("T1"); String ddamt=request.getParameter("T2"); String appdate=request.getParameter("T3"); String city=request.getParameter("T4"); String state=request.getParameter("T5"); ddamt1=Integer.parseInt(ddamt); cc=null; cc=DriverManager.getConnection("jdbc:odbc:wallet","sa",""); Statement s=cc.createStatement(); PreparedStatement p=cc.prepareStatement("select encode,bal from trans where accno=? "); p.setString(1,accno); ResultSet rs=p.executeQuery(); int ent=0; while(rs.next()) { en=rs.getInt("encode"); if(ent<en) { ent=en; balance=rs.getInt("bal"); } } ent=ent+1; - 43 int

Connection

PreparedStatement p1=cc.prepareStatement("select acctype,damt,payee from trans where accno=? "); while(rs1.next()) { atype=rs1.getString("acctype"); depamt=rs1.getInt("damt"); paye=rs1.getString("payee"); } if(ddamt1>balance) { check=1; out.println("cannot pass.ur bal is"+ balance); } else { balance1=balance-ddamt1; } p1.setString(1,accno);

ResultSet rs1=p1.executeQuery();

/*

ddno

increment*/

if(check!=1) { ResultSet rs2=s.executeQuery("select * from dd"); while(rs2.next()) { no=rs2.getInt("ddno"); if(auto<no) { auto=no; } - 44 -

} auto=auto+1; /* Inserting dd*/ String sq=("insert into dd values(?,?,?,?,?,?,?)"); PreparedStatement p3=cc.prepareStatement(sq); p3.setInt(1,Integer.parseInt(accno)); p3.setString(2,bename); p3.setInt(3,auto); p3.setInt(4,ddamt1); p3.setString(5,appdate); p3.setString(6,city); p3.setString(7,state); i=p3.executeUpdate(); if(i>0) {

f=1; } /* Inserting Trans*/ String sq2=("insert into trans values(?,?,?,?,?,?,?,?,?,?,?,?,?)"); PreparedStatement p2=cc.prepareStatement(sq2); p2.setInt(1,ent); p2.setInt(2,Integer.parseInt(accno)); p2.setString(3,atype); p2.setString(4,x); p2.setString(5,type); p2.setString(7,x); p2.setString(6,y); p2.setString(8,y);

p2.setInt(9,n); p2.setString(10,paye); p2.setString(11,y); p2.setInt(12,ddamt1);

p2.setInt(13,balance1); int j=p2.executeUpdate(); if(j>0)

- 45 -

{ f1=1; } String sq3=("insert into wdraw values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); PreparedStatement p4=cc.prepareStatement(sq3); p4.setInt(1,ent); p4.setInt(2,Integer.parseInt(accno)); p4.setString(3,atype); p4.setString(4,x); p4.setString(5,type); p4.setString(6,y);

p4.setString(7,x); p4.setString(8,paye); p4.setString(10,y); p4.setString(11,y); p4.setInt(12,ddamt1); p4.setInt(13,balance1); p4.setString(14,y); int jj=p4.executeUpdate(); if(jj>0) { f2=1; } if(f==1 && f1==1 && f2==1) { response.sendRedirect("http://localhost:8080/examples/jsp/frames/final.htm"); } } }catch(SQLException ex){} %> </body> </html> p4.setInt(9,n);

- 46 -

Specific Period: <%@ page language="java" session="true" import="java.sql.*" %> <%@ include file="date1.jsp" %> <html> <body background="indtextb.jpg" <% try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); }catch(ClassNotFoundException try{ String d="",tdat="";int debit=0; int j=0,i=0,balance=0,ii=0,jj=0,check=0,k=0,K1=0,amt=0,wdamt=0,deamt=0,amt1=0; String d1=" ",typ1="",typ2="",d2="",tdat1=""; String st=request.getParameter("T1"); String en=request.getParameter("T2"); String typ=request.getParameter("D1"); String accno=(String)session.getValue("ano"); if(typ.equals("Demand Draft")) {typ1="dd";j=1;k=1; } if(typ.equals("Bankers Cheque")) {typ1="cheque";j=1;k=1; } if(typ.equals("Fund Transfer")) {typ1="fund transfer";j=1;k=1; } - 47 ex){} bgcolor="#FFFFFF" text="#000000" link="#3366CC" vlink="#666666" alink="#996600">

if(typ.equals("Bill Pay")) {typ1="billpay";j=1;k=1; } Connection cc=null; cc=DriverManager.getConnection("jdbc:odbc:wallet","sa",""); Statement s=cc.createStatement(); PreparedStatement p=cc.prepareStatement("select accno=? "); p.setString(1,accno); ResultSet rs=p.executeQuery(); while(rs.next()) { amt=rs.getInt("amount"); } PreparedStatement p3=cc.prepareStatement("select bal from trans where accno=? "); p3.setString(1,accno); ResultSet rs3=p3.executeQuery(); while(rs3.next()) { amt1=rs3.getInt("bal"); } out.println("<b>"+"<pre>"+" Date: "+x+" Balance:"+amt+"</pre>"+"</b>"); out.println("<b>"+"<pre>"+" Balance:"+amt1+"</pre>"+"</b>"); if(j==1) { out.println("<BLOCKQUOTE>"+"<table border=2 bordercolorlight='#008000' bordercolordark='#008000' cellspacing='0' bgcolor='#FFFFCC' bordercolor='#000000' Current Opening amount from curr where

cellpadding='2'>"+"</BLOCKQUOTE>"); of

out.println("<th>Date</th>"+"<th>Narration</th>"+"<th>Date

- 48 -

Transaction</th>"+"<th>Debit</th>"+"<th>Credit</th>"+"<th>Balance</th>"); PreparedStatement p1=cc.prepareStatement("select tdate,type,damt,wamt,bal from trans where accno=? and tdate>=? and tdate<=? and type=? "); p1.setString(1,accno); p1.setString(2,st); p1.setString(3,en); p1.setString(4,typ1); ResultSet rs1=p1.executeQuery(); while(rs1.next()) { tdat=rs1.getString("tdate"); deamt=rs1.getInt("damt"); wdamt=rs1.getInt("wamt"); balance=rs1.getInt("bal"); jj=tdat.indexOf(" "); tdat1=tdat.substring(0,jj); out.println("<tr>"); out.println("<td>"+tdat1+"</td>"); out.println("<td>"+typ1+"</td>"); out.println("<td>"+tdat1+"</td>"); out.println("<td>"+deamt+"</td>"); out.println("<td>"+wdamt+"</td>"); out.println("<td>"+balance+"</td>"); out.println("</tr>"); check=1; } out.println("</table>"); } else {

- 49 -

out.println("<BLOCKQUOTE>"+"<table border=2 bordercolorlight='#008000' bordercolordark='#008000' cellspacing='0' bgcolor='#FFFFCC' bordercolor='#000000'

cellpadding='2'>"+"</BLOCKQUOTE>");

out.println("<th>Date</th>"+"<th>Narration</th>"+"<th>Date of Transaction</th>"+"<th>Debit</th>"+"<th>Credit</th>"+"<th>Balance</th>"); PreparedStatement p2=cc.prepareStatement("select tdate,type,damt,wamt,bal from trans where accno=? and tdate>=? and tdate<=?"); p2.setString(1,accno); p2.setString(2,st); p2.setString(3,en); ResultSet rs2=p2.executeQuery(); while(rs2.next()) { tdat=rs2.getString("tdate"); typ2=rs2.getString("type"); deamt=rs2.getInt("damt"); wdamt=rs2.getInt("wamt"); balance=rs2.getInt("bal"); jj=tdat.indexOf(" "); tdat1=tdat.substring(0,jj); out.println("<tr>"); out.println("<td>"+tdat1+"</td>"); out.println("<td>"+typ2+"</td>"); out.println("<td>"+tdat1+"</td>"); out.println("<td>"+deamt+"</td>"); out.println("<td>"+wdamt+"</td>"); out.println("<td>"+balance+"</td>"); out.println("</tr>"); } out.println("</table>"); } check=1;

- 50 -

if(k==1 && check==0) { out.println("NO"+typ1+" TRANSACTION IS DONE "); K1=1; } if(check==0 && K1==0) { out.println("NO TRANSACTION IS DONE IN THE SPECIFIED DATE "); } } catch(SQLException es){} %> </body> </html>

8.USES OF THIS MOBILE BANKING SYSTEM: Balance Enquiry Statement Enquiry Fund Transfer EB, Telephone Bill Payment DD/Cheque Request 9. CONCLUSION In the present situation where the technology is the buzzword and has revolutionized the way we work and live, we would be the losers if we do not keep up with the changing world. Moreover, it makes a world of difference and a whole of sense to break-up from the age old work culture and embrace the effective, cost, and time saving ways of looking and working at things.

- 51 -

This is precisely where the E-MONEY SYSTEM fit into place. E-MONEY SYSTEM supports and improves many of the core functionality of the organization i.e. Banks and also helps in quick easy monitoring of the reports that have been automatically generated as and when the user performs some transactions in the system. Using such a system helps the organization in minimizing the time consumed in fulfilling the day-to-day functionalitys and cutting down the expenses incurred on the same.

10.REFERENCES

Herbert , JAVA2 The Complete Reference J.Arnold , An Introduction to HTML James Jaworski , Mastering JavaScript John December and Mark Ginsburg, HTML 3.2 UNLEASED JAVA handbook, TATA InfoTech P.C. Nanda , Credit Card Banking

- 52 -

You might also like