Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DEVELOPED BYPARESH H.VARDE (1220200025) & MUMTAZ S. GHATA (1220200015) D.E. (SEM-V)
GUIDED BYMr. S.S. GHATA DR. S & S.S. GHANDY COLLEGE OF ENGG. & TECH. ,SURAT 2002-2003
CERTIFICATE
This is to corroborate that Mr. Paresh Varde (1220200025) & Ms. Mumtaz Ghata (1220200015) of DE I.T. Have satisfactorily completed their full-time project work At Span Diagnostics LTD. Sachin. On Enterprise Resource Package For the term ending in April 30,2003
Date:Head of the Department (Mr. K.H. Patel)
I.T. Department Dr. S. & S.S. Ghandhy College of Eng. & Tech., Surat.
Acknowledgement
We are appreciative to our project guide Mr. Shabdar Ghata for giving us good supervision and support during the training. We are able to complete our project successfully in time due to his Team spirit. We are also appreciative to all other staff members of computer department of Span Diagnostics for giving us guidance and encourage during the training period, they are all very mutual. We have learned a lot from them. We are also appreciative to our college for giving us chance in such a good company.
INDEX
1. 2. 3. 4. 5. 6. System Definition Company Profile Introduction to Visual Basic Introduction to SQL Server Introduction to ODBC System Development life-cycle 6.1 6.2 6.3 6.4 6.5 6.6 7. 8. 9. 10. Initial Investigation Feasibility Study Analysis Design Coding Post Implementation & Maintenance
CHAPTER-1
System Definition
System Definition
The company manufactures various types of products related to pharmaceutical laboratory. This company purchase raw material from India as well as from abroad. The product manufactured by company is distribute to various distributor located in different city for sale. This company doing repairing of pharmaceutical instrument also. The system assists into the determination about purchase of products. It also does analysis of the products lying in the godown, calculates weighted average purchase rates. It also maintains stock by part receipt and dispatch module, and also perseveres record of repairing of instrument received by customers or internal person
CHAPTER-2
Company Profile
CHAPTER-3
Flexibility: You do not have to use VB for only database access. You can use it to
write a text processor, an e-mail listener, or 10,000 other tasks.
Familiarity: Being the most popular language in the world means there is as steady
supply of talented staff for you to add to your development teams. When the general supply is short, you will still be more likely to find development staff then for other language.
Data access features allow you to create databases, front-end applications, and scalable server-side components for most popular database formats, including Microsoft SQL Server and other enterprise-level databases. ActiveX technologies allow you to use the functionality provided by other applications, such as Microsoft Word word processor, Microsoft Excel spreadsheet, and other Windows applications. You can even automate applications and objects created using the Professional or Enterprise editions of Visual Basic. Internet capabilities make it easy to provide access to documents and applications across the Internet or Intranet from within your application, or to create Internet server applications. Your finished application is a true .exe file that uses a Visual Basic Virtual Machine that you can freely distribute.
Visual Basic Editions Visual Basic is available in three versions; each geared to meet a specific set of development requirements. The Visual Basic Learning edition allows programmers to easily create powerful applications for Microsoft Windows and Windows NT. It includes all intrinsic controls, plus grid, tab, and data-bound controls. The Professional edition provides computer professionals with a full-featured set of tools for developing solutions for others. It includes all the features of the Learning edition, plus additional ActiveX controls, the Internet Information Server Application Designer, integrated Visual Database Tools and Data Environment, Active Data Objects, and the Dynamic HTML Page Designer. The Enterprise edition allows professionals to create robust distributed applications in a team setting. It includes all the features of the Professional edition, plus Back Office tools such as SQL Server, Microsoft Transaction Server, Internet Information Server, Visual SourceSafe, SNA Server, and more.
CHAPTER-4
Client/Server Architecture
Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multitier client/server database system As a desktop database system
Business and security rules can be defined one time on the server and enforced equally among all users. This can be done in a database through the use of constraints, stored procedures, and triggers. It can also be done in a server application. A relational database server optimizes network traffic by returning only the data an application needs. For example, if an application working with a file server needs to display a list of the names of sales representatives in Oregon, it must retrieve the entire employee file. If the application is working with a relational database server, it sends this command: SELECT first_name, last_name FROM employees WHERE emp_title = 'Sales Representative' AND emp_state = 'OR' The relational database sends back only the names of the sales representatives in Oregon, not all of the information about all employees. Hardware costs can be minimized. Because the data is not stored on each client, clients do not have to dedicate disk space to storing data. The clients also do not need the processing capacity to manage data locally, and the server does not need to dedicate processing power to displaying data. The server can be configured to optimize the disk I/O capacities needed to retrieve data, and clients can be configured to optimize the formatting and display of data retrieved from the server. The server can be stored in a relatively secure location and equipped with devices such as an Uninterruptable Power Supply (UPS) more economically than fully protecting each client. Maintenance tasks such as backing up and restoring data are simplified because they can focus on the central server. In large client/server systems, thousands of users may be connected to a SQL Server installation at the same time. SQL Server has full protection for these environments, with safeguards that prevent problems such as having multiple users trying to update the same piece of data at the same time. SQL Server also allocates the available resources effectively, such as memory, network bandwidth, and disk I/O, among the multiple users.
SQL Server applications can run on the same computer as SQL Server. The application connects to SQL Server using Windows Interprocess Communications (IPC) components, such as shared memory, instead of a network. This allows SQL Server to be used on small systems where an application needs to store its data locally.
Database Architecture:
Microsoft SQL Server data is stored in databases. The data in a database is organized into the logical components visible to users. A database is also physically implemented as two or more files on disk. When using a database, you work primarily with the logical components such as tables, views, procedures, and users. The physical implementation of files is largely transparent. Typically, only the database administrator needs to work with the physical implementation.
CHAPTER-5
Introduction To ODBC
Introduction To ODBC
ODBC is currently the major technique for communicating between Visual Basic and relational database management system such as a SQL Server. ODBC has become an industry standard with most of the database vendors fully supporting it. In fact, failure to produce an ODBC driver can have a decided impact on the financial viability of a product. In addition to providing access to relational databases, there are ODBC interfaces available for a large range of other application from desktop applications, such as Microsoft Access and Excel (which is to be expected), to application you would not normally associate with databases, such as Visio. We discuss following topic of ODBC. The origin of ODBC ODBC Driver ODBC conformance levels Selecting an ODBC driver Setting up an ODBC data source Testing your ODBC connection
The ODBC interface is usually of a set of API calls, but it does standardize more then just that. For example, the data types and error codes are generally standard across RDBMS implementation, though it is surprising how many differences there can be between ODBC drivers. The ODBC API can be used even from Visual Basic, but Microsoft has spent much energy on providing more practical methods of using it. As far as the client machine is concerned there are several layers of software that you unknowingly use, and these are shown is simplified networking view in figure above.
ODBC Driver
One of the more confucing aspects of ODBC is to find out exactly what works with your driver and your database. Lets take a look as what type of features ODBC can present to a developer and then see what applies to SQL Server and why?
ODBC Drievr Categories:Three categories are used to define an ODBC driver. These categories are base upon the architecture that the driver supports. 1. Single Tier Single-tier drivers are built for databases that cannot process SQL statements. These are normally file-based systems, such as Microsoft Access and Foxpro, but also include Excel. These databases are passive: they do not have any actively running software. It is up to your ODBC driver to know how to get data out of database and where and how the locking feature works. The driver takes a SQL command and converts it into a series of API calls appropriate to the database. 2. Two Tier Two-tier ODBC drivers are for true client/server environment: they are designed for active databases that communicate by SQL. There is often some translation and parsing of the SQL commands you send to it before it reaches the database. This is necessary because databases often have their own dialects of SQL. This translation will occur when you pass a query from Visual Basic to SQL Sever. If you want to use any SQL Server specific syntax, then you must bypass this translation and parse and pass the SQL statement straight through to the database. You use the chapters. Atypical two tier ODBC driver sends data from the application to the database. The client machine will run the application, the ODBC driver, and Driver Manager, while the server will be on a separate machine and have the SQL Server running. Both machines will run compatible networking software. 3. Three Tier A much less common type of ODBC driver is the three-tier, or multi-tier driver. This driver is typically used when three kind of gateway between the database server and the client.
ODBC Conformance Levels:In addition to the number of tiers that an ODBC driver is designed for, the drivers are also categorized according to their conformance level. The conformance level is a measure of how much of the ODBC API specification the driver supports. There are three levels to be aware of:
Core Level:The driver must allow you to a database, prepare and execute SQL statements, retrieves results sets from queries, use COMMIT and ROLLBACK statements for transaction control, and retrieve errors. Level 1 The driver should allow everything at the core level as well as provide driverspecific dialog boxes for connecting the database, the ability to get and set connection, and the ability to obtain driver and data source information. Level 2 The driver should allow everything at the previous two levels as well as allow you to list and browse the capabilities of data sources, retrieves result sets in different formats, and provide scrollbar cursors. It should also allow you to retrieve extra catalog information from the database. If an ODBC driver is advertised at a specific level, then it must provide all the features of that level. This does not mean that a level 1 driver, for example , cannot provide some level 2 features. In fact, most do provide a scrollbar cursor. Because of this, level 1 drivers have been used for some complicated development and should not be ruled out. Although the conformance levels are quit specific, this conformance does not always translate into practice. This was not a problem until developers were given tools, such as Remote Data Objects (RDO), that require a level 2 driver for their more advanced features. If you select the wrong driver, you are likely to see the dreaded Driver not capable message.
run this you should use the following steps: 1. Click the start button, and select Settings Control Panel. 2. Double click 32 bit ODBC.
You will now see a window such as the one shown in figure below. You will notice several tabs. These tabs are described in following table.
Tab Heading User DNS System DNS File DNS ODBC Drivers Tracing About
Description This heading lists the data source names Set up for the current user. This heading lists the Data Source Names set up for the system rather than individual user. This heading lists the file-based Data Source This heading lists the ODBC drivers that are installed on the local machine. This heading controls whether the ODBC driver manager races the SQL calls. This heading lists the version and file name for all the keys ODBC DLLs. You should not down this information for your documentation because other software can overwrite drivers.
To add a new DNS for SQL Server, we must first make sure that SQL Server driver is installed. You can see the drivers that have been installed on the ODBC Drivers tab. If it is not installed, you will have to get the driver software from your vendor of choice and install it. When youve installed the driver , then you should select the User DNS tab and click the Add button. This button allows you to add a new Data Source Name. When you click the Add button, you will see a list of all the available drivers. Select one you want, and double-click it. Now you must fill in a description of the DNS you want to set up.
There are usually three or four fields you have to fill in. Data Source Name: You can give the data source name (DNS) you want: though you should obviously make it meaningful. You can set up any number of DNSs for the same ODBC driver. In practice, it is simplest to use the same name you used for the SQL Server database service name. Description: Use any description that you want here. Your users will hopefully never see this field, so you can leave it blank if you want, though it might help you to differentiate if you have set up many DNSs. Server: This is the name of your server to which you want to connect, it might be a local server or a server on network.
OLE-DB
The latest alternative to ODBC from Microsoft has come about for two major reason. The first is the need for a Component Object Model-Based, Data-access technology, which will make it possible for the technology to become cross-platform rather than being confined to a Window environment. To make your data-access method useable across platforms. The distributed version of COM (DCOM) is currently in competition with CORBA (Common Object Request Broker Architecture) from a consortium of vendors. Only time will how these two products fare or whether they will merge in some form. The second desire for movement away from ODBC is that, although ODBC was designed, as an access method for relational databases (such as Oracle and SQL Server) there is need to be able to access data sources other than relational sources. Each source, whether it is an e-mail system, an object-oriented database, HTML files, or an office workflow system requires its own access method and new ways to link the various data sources together plans to phase it out and gradually replace it with a Universal Data Access technology (UDA) as part of the distributed network Architecture plans for the next few years. There are two fundamentally different approaches to accessing different types of data sources. One approach is to bring all the data into the database, which requires the database be extensible with a large variety of tools for accessing and processing the data. This naturally is SQL servers approach, and the database is already capable of handling spatial, graphics, video, and audio data as well as advanced text-handling capabilities. This universal approach fits in well with a data-warehouse environment in which your enterprise data is completely pulled into the database periodically. The alternative approach is to build a toolset that provides the same capability of universality but is external to the individual data sources. This approach needs to be a layered one with interoperable components that provides an interface to the data sources as well as allow processing and querying of the data once it is presented in a unified manner. Microsoft has taken this approach. Although these are two completing techniques, this does not rule out the possibility of them working together. In fact, the component approach can complement the database approach and provide any missing capabilities you feel you need. As an SQL Server user, you can get the best of both worlds. The UDA is designed for improved performance and scalability as well as flexibility and the improved stability of a simpler system with less parts to fail. The important part of the UDA to us as SQL Server and VB developer is that ODBC layer will be replaced with OLE-DB, an architecture consisting of a set of system-level data-access interfaces. OLE-DB is not conductive to access from VB, but then it is not really intended to be. Though they were available with MDAC 1.5, VB 6.0 provides us with the new models of ActiveX Data Objects (ADO) and Remote Data Services (RDS). VB 6.0 also provides a native OLE-DB provider. OLE-DB is a set of components-based interfaces for data management shows following figure. These are based on COM and consist of three categories of interface:
Data Providers: These are the interface to the actual data source; for example, they will expose the rows and columns of your SQL Server tables. Whatever data source use, the will be exposed as roust to the components that use them. The data providers take
over the role of both ODBC Driver Manager and database-specific drivers.
Data Consumers: Any components that accesses the data from a data provider is considered a data consumer. In this case, ActiveX Data Objects fulfills that role. Service components: These are components that provide some kind of processing capability to the system. A query processor would not normally be required if you were only accessing data from a SQL Server database because the native query processor would be much efficient. However, when using data sources without their own query processor or when linking data from SQL Server and another data sources, then this capability becomes more important. Visual Basic ActiveX Data Objects OLE-DB
Network Software
CHAPTER-6
The concept of life cycle model for software development is based on the idea of making projects more manageable and effective by breaking the work down into simpler and more controllable units. The project is broken down into several phases or stages. Each stage requires different plans, resources, methods, procedures and standards. Life-cycle model is useful for developer as well as user. From the developers point of view, it outlines the development strategy, whereas from the users point of view, it outlines the testing and acceptable testing phases and indicates to him, as to where his intervention is required. Life-cycle are basically of two-types: Sequential Cyclic In real life, a project may require mixture of several methods. E.G., a sequential approach to the low risk and stable requirement, and a cyclic approach for the high risk of unstable parts. Model I follow: I have followed the waterfall model (Sequential in nature) for my system, which have a series of phases, each of which is self contained mini project with defined endproducts.
WATERFALL DIAGRAM
Fact Finding
Following methods are used to collect relevant information: Initial guideline from Project Guide: After I was assigned this project my project guide initialized me to the system. He provided me general information about the organization, the general flow of the ERP and its functioning. He is already working on that project and he has given small part of his project. Who is computer engineer in Span Diagnostics LTD. Visit to user departments: After getting the initial information about ERP system, I obtained detailed information from various persons concerned. I also discussed their requirements and collected suggestion from them about the system. Continued interaction with Project Guide and people from other department: Through the duration of my project work I remained in continuous touch with both project guide and various person from the other department. They provided me with
additional information about the working and various issues involved in implementing new ideas. After investigation we concluded that the users proposal is valid and proposed system is feasible.
Develop the system in such a way that user has to feed minimum data. To built in proper security check in the system so that there is no unauthorized data access. To incorporate proper validation, so that there is no invalid data entered. Develop the system in such a way that it can manage large amount of data (VLDB). Keeping history data of last few years in generating trend analysis report. The Questions for feasibility analysis are: 1. What are the users demonstrable needs and how does a candidate system meet them? User wanted the computerized system as explain in previous topic. The candidate system will enable user to enter all receipt/dispatch detail of product, purchase detail, & Instrument Record card directly in pc rather than doing manually. That will too less frustrate work than to do it manually, system will also enable them to generate report about all transaction done by the company. So that the worker do not have to count stock manually by counting receipt & dispatch one by one transaction. Simply they have generate report through system and match the stock at store. 2. What resources are available for given system? Is the problem worth solving? As explain in previous topic that companys most of the work is done by computerized system, so company have already their center database for their Customers, Suppliers, Products, Employees etc. So I did not have to generate them again, I had to use that database for the system that I have generated. 3. What are the likely impact of the candidate system on the organization?
This system will save time of employee, that they spent on doing all that things manually. And this system will be more user friendly. The computerized invoice, purchase order, Stock report of the system will make good impact of company on the outside world.
6.3 Analysis
Analysis is the detailed study of the various operation performed by a system and their relationship within and outside of the system.
Structured Analysis:
Structure analysis is a set of technique and graphical tool that helps the analyst to develop a new kind of system specification that are easily understandable to the user.
The main objective of structure analysis is to organize the tasks associate with requirement determination so as to give accurate and complete development of a new or modified system.
Receipt Purchas e
Stock At HO
QC
Indent
Other Purchase2
Other Purchase1
Purchase
Data Dictionary:
I have developed 9 master table for this system and 13 transaction table, they all are normalized. The list below describes the name of field, their type and size occupy for field.
Master Table
(1) Instrument Assignment Master
Size 6 12
12 12 datetime varchar 4 12 8
City PinCode State Country Phone Email ClosedFlag FirstName MiddleName LastName DepotCode SiteCode MakerID DtmCreated
varchar varchar varchar varchar varchar varchar bit varchar varchar varchar varchar varchar varchar datetime 1
20 10 30 30 15 30 19 1 18 12 12 12 8
MakerId DtmCreated
varchar datetime
12 8
Upper_PackSize PackingUnit ShelfLife StdRate StdBatchSize StdBatchUnit MinimumQty OpeningQty OpeningFree ReceivedQty ReceivedFree BookedQty BookedFree DispatchQty DispatchFree CTaxable LTaxable CSTaxRate LSTaxRate TurnoverTaxRate SurchargeRate StorageDescription LaunchDate Intermediate Manufactured Traded ConversionFactor ClosedFlag MakerID DtmCreated ItemNo DrAccountNo FinishingOpeningQty FinishingInQty FinishingOutQty SalesTaxYN BOMBatchSize ConversionCost ProcessLoss DirectLabour MinimumOverhead MaximumOverhead LastPurchaseDate LastPurchaseRate LastImportDate LastImportRate
float varchar smallint money float varchar int int int int int int int int int bit bit money money money money varchar datetime bit bit bit int bit varchar datetime int int int int int bit float money int money money money datetime money datetime money
8 5 2 8 8 5 4 4 4 4 4 4 4 4 4 1 1 8 8 8 8 12 8 1 1 1 4 1 12 8 4 4 4 4 4 1 8 8 4 8 8 8 8 8 8 8
30 50 30 8
Transaction Table
(1) Instrument_History
Code Date1 CardNo SerialNo Accesories ComplaintBySender ActualComplaint Reason Action PartsReplaced Charges AttendedBy1 AttendedBy2 AttendedBy3 AttendedBy4 QCDoneBy1 QCDoneBy2 QCDoneBy3 QCDoneBy4 Time1 FinalStatus Remarks ToFrom1 EmployeeCode1 Mode1 Place1 ReceivingDate DispatchDate ToFrom2 EmployeeCode2 Mode2 Place2 Field varchar datetime varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar datetime datetime varchar varchar varchar varchar Type 15 8 15 15 80 80 80 100 180 60 10 20 20 20 20 20 20 20 20 10 40 50 50 20 50 20 8 8 50 20 50 20 Size
1 1 1 1 20 15 8
(2)
Part_Receipt_Parent
TransactionNo Engineer HeadQuater Date1 Remarks MakerID DtmCreated varchar varchar varchar datetime varchar varchar datetime 10 25 20 8 100 50 8
(3)
Part_Receipt_Child
SrNo TransactionNo ReceiptDate ProductCode Schedule Quantity InstrumentCode SerialNo CustomerCode SupplierCode Invoice InvoiceNo Warranty SpecialRemarks MakerID DtmCreated int varchar datetime varchar char real varchar varchar varchar varchar char varchar varchar varchar varchar datetime 4 12 8 20 10 4 20 10 20 20 10 20 10 100 50 8
(4)
IndentParent
IndentNo IndentDate GivenTo PreparedBy Closed Remark MakerId CreatedDT TransactionNo varchar datetime varchar varchar bit varchar varchar smalldatetime real 15 8 20 30 1 50 12 4 4
(5)
IndentChild
Field IndentNo ProductCode Quantity DeliverySchedule SpecialRemarks SupplierCode MakerId CreatedDT TransactionNo
Type varchar varchar float float varchar varchar varchar smalldatetime real
Size 15 12 8 8 30 12 12 4 4
(6)
POParent
PONo PODate Category Import SupplierCode Closed Remarks PRNo PRDate EnqNo EnqDate QtnNo QtnDate IndDept CapitalItem ProductionItem ConsumableStores PackingMaterials PrintingMaterials Other Transport TradeDiscount Excise1 Excise2 CST ST PaymentTerms DeliverySchedule FaxNo FaxTo FaxCountry Attn From1 Currency Price Documentation5 Field varchar smalldatetime varchar bit varchar bit nvarchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar real varchar Type 18 4 12 1 12 1 50 15 10 15 10 15 10 15 10 10 10 10 10 10 30 10 10 10 10 10 50 40 15 25 20 25 25 5 4 20 Size
Documentation6 Documentation7 Labelling5 Labelling6 Labelling7 Instruction1 Instruction2 Instruction3 Instruction4 Instruction5 MakerId CreatedDT TransactionNo
varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar smalldatetime real
20 20 20 20 20 20 20 20 20 20 12 4 4
(7)
POChild
PONo IndentNo ProductCode CategoryNo Unit POQuantity Rate Per Currency SupplierCode MakerID CreatedDT TransactionNo varchar varchar varchar varchar varchar float float varchar varchar nvarchar varchar smalldatetime real 18 15 12 12 7 8 8 5 2 12 12 4 4
(8)
ReceiptParent
ReceiptNo ReceiptDate Remarks MakerID CreatedDT TransactionNo varchar datetime varchar varchar smalldatetime real 12 8 50 12 4 4
(9)
ReceiptChild
ReceiptNo PONo ProductCode ReceiptQuantity ReceiptRate SerialNo DeliveryChallanNo DeliveryChallanDate ExpiryDate Field varchar varchar varchar float float varchar varchar datetime datetime Type 12 18 12 8 8 15 15 8 8 Size
4 12 1 4 12 4 4
(10) OTIParent
OTINo OTIDate Reason CustomerCode Remarks OtherChargeRemark OtherCharges Debit TotalAmount BranchCode TransactionNo varchar datetime varchar varchar varchar varchar real bit real varchar real 12 8 50 12 50 50 4 1 4 1 4
(11) OTIChild
OTINo ProductCode IssuedQuantity IssuedRate SerialNo AvailableQuantity MakerID CreatedDT TransactionNo varchar varchar real real varchar real varchar datetime real 12 12 4 4 15 4 12 8 4
(12) OTRParent
OTRNo OTRDate CustomerCode TotalAmount Reason Remarks BranchCode Credit MakerID CreatedDT TransactionNo varchar datetime varchar real varchar varchar varchar bit varchar smalldatetime real 10 8 12 4 50 50 1 1 12 4 4
(13) OTRChild
Field Type Size
OTRNo PONo ProductCode ReceiptQuantity ReceiptRate SerialNo DeliveryChallanNo DeliveryChallanDate ExpiryDate WarrantyPeriod SupplierCode CreatedDT MakerID TransactionNo
varchar varchar varchar float float varchar varchar datetime datetime int varchar smalldatetime varchar real
12 12 12 8 8 15 15 8 8 4 12 4 12 4
Information gathering:
I have collected all the required information about user staff, the work- flow of system. Work-flow focuses on what happens to the data thorough various points in a system. This have been shown by data flow diagram. I have used various information tools for gathering information about firm. That are review of literature, procedure, and forms that are used by the company. I have done on site observation many times for information. It is process of recognizing and noting people, objects, and occurrence to obtain information. I have used direct observation type of observation, in this type observation takes place when the analyst actually observe the subject or the system at work place. On site observation has limitation when we need to learn about people's perceptions, feelings, or motivation, however. Therefor I have also done the questionnaires to the various employee of the company.
6.4 Design
logical and physical design:
system design goes thorough two phases of development: logical and physical design. A data flow diagram shows the logical design of system and defines the boundaries of the system. When analyst prepare the logical system design, they specify user needs at a level of detail that virtually determines the information flow into and out of the system and the required data resources
Input Design:
I have initially captured all original paper related to the system. That are used to design the input design, the sequence of field, the type of field, their size etc. Input media for the system is keyboard, and the data entry in the system is done online, that make use of a processor that accepts commands and data from the operator thorough keyboard. I have design the menu form for the system that simplifies computer data entry or access.
Output Design:
Computer output is the most important and direct source of information to the user. Printers are used for the output for this system. I have design the output form in three different application and that are Microsoft Excel, Crystal Report as well as in DOS-Editor. The output describe the various detail about companys transaction regarding to users requirement.
Form design:
A form is generally classified by what it does in the system, and that are Action form, memory form, and Report form. I have used all three types of form in System form design. The characteristics of the form are as follows. 1. the form title clarify clearly what it does in the system. 2. The form is easy to use. 3. Physical factors are also considered. 4. Order of data entry is maintained. 5. The size of field for data entry is maintained, to make data entry easy. 6. The instruction is used wherever required.
Master
Transaction
Reports
Instrument Assignment
Purchase
Instrument
Purchase
Employees
Customers
Part
Receipt
Currency
Receipt QC
Products
Other Issue
Other Receipt
6.5
Code
As I have prepare my self for generate the system as per the requirement, so have started to implement the code. I have try my level best to generate extreme programming for this system. I will discuss only the View used by the system, no code at all!
(1) CREATE VIEW dbo.BalanceQty AS SELECT TempDispatch.Engineer, TempDispatch.ProductName, SUM(ISNULL(TempDispatch.qty, 0) - ISNULL(TempReceive.qty, 0)) AS balanceqty FROM TempDispatch FULL OUTER JOIN TempReceive ON TempDispatch.Engineer = TempReceive.Engineer AND TempDispatch.ProductCode = TempReceive.ProductCode GROUP BY TempDispatch.Engineer, TempDispatch.ProductName (2) CREATE VIEW dbo.[City] AS SELECT CityName AS City FROM CCData.dbo.City (3) CREATE VIEW dbo.Competitors AS SELECT * FROM InstERPSachin.dbo.Competitors (4) CREATE VIEW dbo.Customers AS SELECT InstERPSachin.dbo.Customers.* FROM InstERPSachin.dbo.Customers (5) CREATE VIEW dbo.Employees AS SELECT InstERPSachin.dbo.Employees.* FROM InstERPSachin.dbo.Employees (6) CREATE VIEW dbo.ExcelReport AS SELECT DISTINCT OpeningStock, Part_Master.ProductCode, QtyStock FROM Part_Master, Part_Receipt_Child WHERE Part_Master.ProductCode = Part_Receipt_Child.ProductCode (7) CREATE VIEW dbo.Fill_Customers AS SELECT Employees1.EmployeeName AS ManagerName, Customers.*, Employees.EmployeeName AS EmployeeName FROM Customers LEFT OUTER JOIN Employees ON Customers.EmployeeCode = Employees.EmployeeCode LEFT OUTER JOIN Employees Employees1 ON Customers.ManagerCode = Employees1.EmployeeCode
(8)
CREATE VIEW dbo.Fill_Instrument_Assignment AS SELECT InstrumentAssignment.*, Products.ProductName AS ProductName, Employees.EmployeeName AS EmployeeName, Customers.CustomerName AS CustomerName FROM InstrumentAssignment LEFT OUTER JOIN Customers ON InstrumentAssignment.CustomerCode = Customers.CustomerCode LEFT OUTER JOIN Employees ON InstrumentAssignment.EmployeeCode = Employees.EmployeeCode LEFT OUTER JOIN Products ON InstrumentAssignment.ProductCode = Products.ProductCode
(9) CREATE VIEW dbo.Fill_Instrument_History AS SELECT Products.ProductName, Customers.CustomerName, Customers.Address1, Customers.City, Customers.State, Customers.Country, Customers.Phone1, Customers.Fax, InstrumentAssignment.ProductCode, InstrumentAssignment.CustomerCode, Customers.Address2, Customers.Address3, Customers.Phone2, Instrument_History.* FROM Products RIGHT OUTER JOIN InstrumentAssignment ON Products.ProductCode = InstrumentAssignment.ProductCode LEFT OUTER JOIN Customers ON InstrumentAssignment.CustomerCode = Customers.CustomerCode RIGHT OUTER JOIN Instrument_History ON InstrumentAssignment.SerialNo = Instrument_History.SerialNo (10) CREATE VIEW dbo.Fill_Part_Master AS SELECT Part_Master.*, Products.ProductName AS Productname, Products1.ProductName AS Instrumentname, Competitors.CompanyName AS companyname FROM Part_Master LEFT OUTER JOIN Products ON Part_Master.ProductCode = Products.ProductCode LEFT OUTER JOIN Products Products1 ON Part_Master.InstrumentCode = Products1.ProductCode LEFT OUTER JOIN Competitors ON Part_Master.ParentCompanyCode = Competitors.CompanyCode (11) CREATE VIEW dbo.Fill_Part_Received_Child
AS SELECT Products.ProductName, Suppliers.SupplierName, Products1.ProductName AS InstrumentName, Part_Receipt_Child.*, Customers.CustomerName AS CustomerName, Customers.City AS Place FROM Part_Receipt_Child LEFT OUTER JOIN Suppliers ON Part_Receipt_Child.SupplierCode = Suppliers.SupplierCode LEFT OUTER JOIN Customers ON Part_Receipt_Child.CustomerCode = Customers.CustomerCode LEFT OUTER JOIN Products ON Part_Receipt_Child.ProductCode = Products.ProductCode LEFT OUTER JOIN Products Products1 ON Part_Receipt_Child.InstrumentCode = Products1.ProductCode (12) CREATE VIEW dbo.Instrument_History_Search AS SELECT Code, CONVERT(varchar(12), Date1, 3) AS Date1, CardNo, SerialNo, Accesories, ComplaintBySender, ActualComplaint, Reason, Action, PartsReplaced, Charges, AttendedBy1, AttendedBy2, AttendedBy3, AttendedBy4, QCDoneBy1, QCDoneBy2, QCDoneBy3, QCDoneBy4, Time1, FinalStatus, Remarks, ToFrom1, EmployeeCode1, Mode1, Place1, CONVERT(varchar(12), ReceivingDate, 3) AS ReceivingDate, CONVERT(varchar(12), DispatchDate, 3) AS DispatchDate, ToFrom2, EmployeeCode2, Mode2, Place2, Warranty, AMC, ChargedService, Stock, RGS, MakerID, DtCreated FROM Instrument_History (13) CREATE VIEW dbo.InstrumentAssignment AS SELECT * FROM InstERPSachin.dbo.InstrumentAssignment (14) CREATE VIEW dbo.Part_Receipt_Dispatch_Search AS SELECT TOP 100 PERCENT Part_Receipt_Parent.TransactionNo, Part_Receipt_Parent.Engineer, Part_Receipt_Parent.HeadQuater, CONVERT(varchar(12), Part_Receipt_Parent.Date1, 3) AS Date1, Part_Receipt_Parent.Remarks, Fill_Part_Received_Child.ProductName, Fill_Part_Received_Child.SupplierName, Fill_Part_Received_Child.InstrumentName, Fill_Part_Received_Child.SrNo, CONVERT(Varchar(12), Fill_Part_Received_Child.ReceiptDate, 3) AS ReceiptDate,
Fill_Part_Received_Child.ProductCode, Fill_Part_Received_Child.Schedule, Fill_Part_Received_Child.Quantity, Fill_Part_Received_Child.InstrumentCode, Fill_Part_Received_Child.SerialNo, Fill_Part_Received_Child.CustomerCode, Fill_Part_Received_Child.SupplierCode, Fill_Part_Received_Child.Invoice, Fill_Part_Received_Child.InvoiceNo, Fill_Part_Received_Child.Warranty, Fill_Part_Received_Child.SpecialRemarks, Fill_Part_Received_Child.CustomerName, Fill_Part_Received_Child.Place FROM Part_Receipt_Parent LEFT OUTER JOIN Fill_Part_Received_Child ON Part_Receipt_Parent.TransactionNo = Fill_Part_Received_Child.TransactionNo (15) CREATE VIEW dbo.PendingIndents AS SELECT TotalIndentQuantity.IndentNo, TotalIndentQuantity.ProductCode, TotalIndentQuantity.IndentQuantity, ISNULL(qryTotalPOQuantityAgainstIndent.TotalPOQuantity, 0) AS POQuantity, products.ProductName, products.StdRate, TotalIndentQuantity.SupplierCode, Suppliers.SupplierName, products.PackingUnit, TotalIndentQuantity.GivenTo FROM TotalIndentQuantity INNER JOIN products ON TotalIndentQuantity.ProductCode = products.ProductCode LEFT OUTER JOIN Suppliers ON TotalIndentQuantity.SupplierCode = Suppliers.SupplierCode LEFT OUTER JOIN QryTotalPOQuantityAgainstIndent ON TotalIndentQuantity.SupplierCode = qryTotalPOQuantityAgainstIndent.SupplierCode AND TotalIndentQuantity.ProductCode = qryTotalPOQuantityAgainstIndent.ProductCode AND TotalIndentQuantity.IndentNo = qryTotalPOQuantityAgainstIndent.IndentNo WHERE (TotalIndentQuantity.IndentQuantity ISNULL(qryTotalPOQuantityAgainstIndent.TotalPOQuantity, 0) > 0) (16) CREATE VIEW dbo.PendingPOs AS SELECT TotalPOQuantity.POQuantity, SUM(ISNULL(ReceiptChild.ReceiptQuantity, 0)) AS ReceiptQuantity, TotalPOQuantity.PONo,
TotalPOQuantity.SupplierCode, Suppliers.SupplierName, TotalPOQuantity.ProductCode, products.ProductName, Products.StdRate FROM Suppliers INNER JOIN TotalPOQuantity ON Suppliers.SupplierCode = TotalPOQuantity.SupplierCode INNER JOIN Products ON TotalPOQuantity.ProductCode = products.ProductCode LEFT OUTER JOIN ReceiptChild ON TotalPOQuantity.PONo = ReceiptChild.PONo AND TotalPOQuantity.ProductCode = ReceiptChild.ProductCode AND TotalPOQuantity.SupplierCode = ReceiptChild.SupplierCode GROUP BY TotalPOQuantity.POQuantity, TotalPOQuantity.PONo, TotalPOQuantity.SupplierCode, Suppliers.SupplierName, TotalPOQuantity.ProductCode, products.ProductName, Products.StdRate HAVING (TotalPOQuantity.POQuantity SUM(ISNULL(ReceiptChild.ReceiptQuantity, 0)) > 0) (17) CREATE VIEW dbo.[ProductCategories] AS SELECT * FROM CCData.dbo.ProductCategories (18) CREATE VIEW dbo.Products1 AS SELECT * FROM CCData.dbo.Products (19) CREATE VIEW dbo.QryAvilableProductStock AS SELECT qryTotalReceiptProductStock.ProductCode, qryTotalReceiptProductStock.SerialNo, qryTotalReceiptProductStock.ExpiryDate, qryTotalReceiptProductStock.ReceiptQuantity, ISNULL(qryTotalIssuedProductStock.IssuedQuantity, 0) AS IssuedQuantity, qryTotalReceiptProductStock.ReceiptQuantity ISNULL(qryTotalIssuedProductStock.IssuedQuantity, 0) AS AvailableQuantity FROM qryTotalReceiptProductStock LEFT OUTER JOIN qryTotalIssuedProductStock ON qryTotalReceiptProductStock.ProductCode = qryTotalIssuedProductStock.ProductCode AND qryTotalReceiptProductStock.SerialNo = qryTotalIssuedProductStock.SerialNo
(20) CREATE VIEW dbo.qryIndentReceiptSummaryDetail AS SELECT IndentParent.IndentNo, IndentParent.IndentDate, IndentChild.ProductCode, products.ProductName, IndentChild.Quantity, IndentChild.DeliverySchedule, IndentParent.GivenTo, IndentParent.PreparedBy, IndentParent.Closed AS IndentClosed, POChild.PONo, POParent.PODate, POParent.Closed AS POClosed, POChild.POQuantity, POChild.Rate, POChild.SupplierCode, ReceiptParent.ReceiptNo, ReceiptParent.ReceiptDate, ReceiptChild.ReceiptQuantity, ReceiptChild.ReceiptRate, ReceiptChild.SerialNo, ReceiptChild.QC, ReceiptChild.QCAttempt, Suppliers.SupplierName FROM POParent INNER JOIN POChild ON POParent.PONo = POChild.PONo INNER JOIN Suppliers ON POChild.SupplierCode = Suppliers.SupplierCode RIGHT OUTER JOIN IndentParent INNER JOIN IndentChild ON IndentParent.IndentNo = IndentChild.IndentNo INNER JOIN products ON IndentChild.ProductCode = products.ProductCode ON POChild.SupplierCode = IndentChild.SupplierCode AND POChild.IndentNo = IndentChild.IndentNo AND POChild.ProductCode = IndentChild.ProductCode AND POChild.IndentNo = IndentParent.IndentNo LEFT OUTER JOIN ReceiptChild INNER JOIN ReceiptParent ON ReceiptChild.ReceiptNo = ReceiptParent.ReceiptNo ON POChild.ProductCode = ReceiptChild.ProductCode AND POParent.PONo = ReceiptChild.PONo (21) CREATE VIEW dbo.qryQuantityWiseIndentSummary AS SELECT TOP 100 PERCENT IndentNo, IndentDate, ProductCode, ProductName, Quantity, SUM(ISNULL(POQuantity, 0)) AS POQuantity, SUM(ISNULL(ReceiptQuantity, 0)) AS ReceiptQuantity FROM dbo.qryReportIndentReceiptSummary GROUP BY IndentNo, IndentDate, ProductCode,
ProductName, Quantity HAVING (Quantity - SUM(ISNULL(ReceiptQuantity, 0)) > 0) ORDER BY IndentNo (22) CREATE VIEW dbo.QryReportIndent AS SELECT IndentParent.IndentNo, IndentParent.IndentDate, IndentParent.GivenTo, IndentParent.PreparedBy, IndentParent.Remark, IndentChild.ProductCode, products.ProductName, IndentChild.Quantity, IndentChild.DeliverySchedule, IndentChild.SpecialRemarks FROM IndentParent INNER JOIN IndentChild ON IndentParent.IndentNo = IndentChild.IndentNo INNER JOIN products ON IndentChild.ProductCode = products.ProductCode (23) CREATE VIEW dbo.qryReportIndentReceiptSummary AS SELECT IndentParent.IndentNo, IndentParent.IndentDate, IndentChild.ProductCode, products.ProductName, IndentChild.Quantity, IndentChild.DeliverySchedule, IndentParent.GivenTo, IndentParent.PreparedBy, POChild.PONo, POParent.PODate, POChild.POQuantity, POChild.Rate, POChild.SupplierCode, ReceiptParent.ReceiptNo, ReceiptParent.ReceiptDate, SUM(ReceiptChild.ReceiptQuantity) AS ReceiptQuantity FROM POParent INNER JOIN POChild ON POParent.PONo = POChild.PONo INNER JOIN Suppliers ON POChild.SupplierCode = Suppliers.SupplierCode RIGHT OUTER JOIN IndentParent INNER JOIN IndentChild ON IndentParent.IndentNo = IndentChild.IndentNo INNER JOIN products ON IndentChild.ProductCode = products.ProductCode ON POChild.SupplierCode = IndentChild.SupplierCode AND POChild.IndentNo = IndentChild.IndentNo AND POChild.ProductCode = IndentChild.ProductCode AND POChild.IndentNo = IndentParent.IndentNo LEFT OUTER JOIN ReceiptChild INNER JOIN ReceiptParent ON ReceiptChild.ReceiptNo = ReceiptParent.ReceiptNo
ON POChild.ProductCode = ReceiptChild.ProductCode AND POParent.PONo = ReceiptChild.PONo GROUP BY IndentParent.IndentNo, IndentParent.IndentDate, IndentChild.ProductCode, products.ProductName, IndentChild.Quantity, IndentChild.DeliverySchedule, IndentParent.GivenTo, IndentParent.PreparedBy, POChild.PONo, POParent.PODate, POChild.POQuantity, POChild.Rate, POChild.SupplierCode, ReceiptParent.ReceiptNo, ReceiptParent.ReceiptDate (24) CREATE VIEW dbo.qryTotalIssuedProductStock AS SELECT ProductCode, SerialNo, SUM(IssuedQuantity) AS IssuedQuantity FROM dbo.OTIChild GROUP BY ProductCode, SerialNo UNION SELECT ProductCode, SerialNo, SUM(DispatchQty + DispatchFree) AS IssuedQuantity FROM dbo.AdviseChild GROUP BY ProductCode, SerialNo (25) CREATE VIEW dbo.qryTotalPOQuantityAgainstIndent AS SELECT IndentNo, ProductCode, SUM(POQuantity) AS TotalPOQuantity, SupplierCode FROM POChild GROUP BY IndentNo, ProductCode, SupplierCode (26) CREATE VIEW dbo.QryTotalReceiptProductStock AS SELECT ProductCode, SerialNo, SUM(ReceiptQuantity) AS ReceiptQuantity, ExpiryDate FROM qryTotalReceiptProductStockUnion GROUP BY ProductCode, SerialNo, ExpiryDate CREATE VIEW dbo.qryTotalReceiptProductStockUnion AS SELECT ProductCode, SerialNo, ReceiptQuantity, ExpiryDate FROM ReceiptChild WHERE QC = 'P' UNION SELECT ProductCode, SerialNo, ReceiptQuantity, ExpiryDate FROM OTRChild
(27) CREATE VIEW dbo.ReportAvailableStock AS SELECT ISNULL(ReportAvailableStockReceipt.Receipt, 0) - ISNULL(ReportAvailableStockDispatch.Dispatch, 0) AS AvailableStcok, Part_Master.OpeningStock, Products.ProductName, ReportAvailableStockReceipt.ProductCode FROM ReportAvailableStockReceipt LEFT OUTER JOIN Products ON ReportAvailableStockReceipt.ProductCode = Products.ProductCode LEFT OUTER JOIN ReportAvailableStockDispatch LEFT OUTER JOIN Part_Master ON ReportAvailableStockDispatch.ProductCode = Part_Master.ProductCode ON ReportAvailableStockReceipt.ProductCode = ReportAvailableStockDispatch.ProductCode (28) create view ReportAvailableStockDispatch as SELECT ProductName, ProductCode, SUM(Quantity) AS Dispatch From Fill_Part_Received_Child GROUP BY ProductName, ProductCode, Schedule HAVING (Schedule = 'dispatch') (29) create view ReportAvailableStockReceipt as SELECT ProductCode, SUM(Quantity) AS Receipt From Part_Receipt_Child GROUP BY ProductCode, Schedule HAVING (Schedule = 'Receive') (30) CREATE VIEW dbo.ReportPartReceiptDispatch AS SELECT TOP 100 PERCENT Part_Receipt_Parent.TransactionNo, Part_Receipt_Parent.Engineer, Part_Receipt_Parent.HeadQuater, Part_Receipt_Parent.Date1, Part_Receipt_Parent.Remarks, Fill_Part_Received_Child.ProductName, Fill_Part_Received_Child.SupplierName, Fill_Part_Received_Child.InstrumentName, Fill_Part_Received_Child.SrNo, Fill_Part_Received_Child.ReceiptDate, Fill_Part_Received_Child.ProductCode, Fill_Part_Received_Child.Schedule, Fill_Part_Received_Child.Quantity, Fill_Part_Received_Child.InstrumentCode, Fill_Part_Received_Child.SerialNo, Fill_Part_Received_Child.CustomerCode, Fill_Part_Received_Child.SupplierCode, Fill_Part_Received_Child.Invoice, Fill_Part_Received_Child.InvoiceNo, Fill_Part_Received_Child.Warranty, Fill_Part_Received_Child.SpecialRemarks, Fill_Part_Received_Child.CustomerName, Fill_Part_Received_Child.Place FROM Part_Receipt_Parent LEFT OUTER JOIN
Fill_Part_Received_Child ON Part_Receipt_Parent.TransactionNo = Fill_Part_Received_Child.TransactionNo (31) CREATE VIEW dbo.[Suppliers] AS SELECT * FROM ccdata.dbo.suppliers (32) create view TempDispatch as (SELECT Part_Receipt_Parent.Engineer,SUM(Part_Receipt_Child.Quantity) AS qty,Products.ProductName, Part_Receipt_Child.Schedule,Products.ProductCode FROM Products RIGHT OUTER JOIN Part_Receipt_Child ON Products.ProductCode = Part_Receipt_Child.ProductCode RIGHT OUTER JOIN Part_Receipt_Parent ON Part_Receipt_Child.TransactionNo = Part_Receipt_Parent.TransactionNo GROUP BY Part_Receipt_Parent.Engineer, Products.ProductName, Part_Receipt_Child.Schedule, Products.ProductCode HAVING (Part_Receipt_Child.Schedule = 'DISPATCH')) (33) create view TempReceive as (SELECT Part_Receipt_Parent.Engineer,SUM(Part_Receipt_Child.Quantity) AS qty,Products.ProductName, Part_Receipt_Child.Schedule,Products.ProductCode FROM Products RIGHT OUTER JOIN Part_Receipt_Child ON Products.ProductCode = Part_Receipt_Child.ProductCode RIGHT OUTER JOIN Part_Receipt_Parent ON Part_Receipt_Child.TransactionNo = Part_Receipt_Parent.TransactionNo GROUP BY Part_Receipt_Parent.Engineer, Products.ProductName, Part_Receipt_Child.Schedule, Products.ProductCode HAVING (Part_Receipt_Child.Schedule = 'RECEIVE')) (34)CREATE VIEW dbo.TotalDispatch AS SELECT ProductCode, SUM(Quantity) AS Quantity2 FROM Part_Receipt_Child GROUP BY ProductCode, Schedule HAVING (Schedule = 'dispatch') (35) CREATE VIEW dbo.TotalIndentQuantity AS SELECT IndentChild.IndentNo, IndentChild.ProductCode, SUM(IndentChild.Quantity) AS IndentQuantity, IndentChild.SupplierCode, IndentParent.GivenTo FROM IndentChild INNER JOIN IndentParent ON IndentChild.IndentNo = IndentParent.IndentNo WHERE (IndentParent.Closed = 0) GROUP BY IndentChild.IndentNo, IndentChild.ProductCode, IndentChild.SupplierCode, IndentParent.GivenTo (36) CREATE VIEW dbo.TotalParts AS SELECT ISNULL(TotalReceipt.Quantity1, 0)
- ISNULL(TotalDispatch.Quantity2, 0) AS TotalStock, TotalReceipt.ProductCode, Part_Master.OpeningStock FROM TotalDispatch LEFT OUTER JOIN Part_Master ON TotalDispatch.ProductCode = Part_Master.ProductCode RIGHT OUTER JOIN TotalReceipt ON TotalDispatch.ProductCode = TotalReceipt.ProductCode GROUP BY ISNULL(TotalReceipt.Quantity1, 0) - ISNULL(TotalDispatch.Quantity2, 0), TotalReceipt.ProductCode, Part_Master.OpeningStock, TotalDispatch.ProductCode (37) CREATE VIEW dbo.TotalPOQuantity AS SELECT POChild.PONo, POChild.ProductCode, SUM(POChild.POQuantity) AS POQuantity, POChild.SupplierCode FROM POChild INNER JOIN POParent ON POChild.PONo = POParent.PONo WHERE (POParent.Closed = 0) GROUP BY POChild.PONo, POChild.ProductCode, POChild.Rate, POChild.SupplierCode (38) CREATE VIEW dbo.TotalReceipt AS SELECT ProductCode, SUM(Quantity) AS Quantity1 FROM Part_Receipt_Child GROUP BY ProductCode, Schedule, ReceiptDate HAVING (Schedule = 'RECEIVE')
6.6
Testing:
No program or system is perfect; communication between the user and the designer is not always complete or clear, and time is usually short. The result is error and more errors. The number and nature of errors in new design depend on many factors. 1. I have done unit testing of system to check whether the particular unit is functioning as requirement or not, if any error occurred them it was resolved at a moment. 2. I have also done the sequential testing. 3. After that I have also done the system testing by running the system entirely. 4. Acceptance testing is also done by running the system with live data by the actual user.
6.7
Maintenance
I have done the maintenance of the system as per the users requirement, and will do.
CHAPTER-7
Working of System
Now we will move from the development issue to practical use of the system, means how to use the system Here we will first Main menu and then master form and how to use them
Main Menu:
This main menu contains the shortcut to all the application form. This menu has 5 Tabs that are as follow: 1. Master Tab: that contains all the master form used in the system
2. User Tab: that contains the user master from where you can create the new user for the application and as well as you can change the existing password. 3. Transaction Tab: contains the part receipt/dispatch and instrument history record card forms. 4. Purchase Tab: contains all the form related to the purchase. 5. Skin Tab: from which you can change the screen layout of the system.
(2) (3)
(4) (5)
If you want to add new record then click on add new button, then form will clear for you. Now add all necessary detail in the form, and click on the save button. Record will be stored and will give you a message that record is saved. After clicking add new button if you dont want to add new record then click on cancel button. If you want to edit any record then you will have to directly makes change on the form, the save button will visible for you, and making changes click on the save button the edited record will be updated in the database. If you want to search for particular record then click on search button that is displayed at upper-top corner of the form. The new frame will be visible for you, now you have to select field in left side combo by clicking it. Search will be performed regarding to that field. Now enter the value for which you want to search in the right side textbox in the form. The data grid at the bottom of that frame will filled up by searched result, if search not found then it would be blank. Now click on searched result to bring it on the main form. To close the search frame click again on search button you can also use ESC key. If you want to move through the records then click on any four button having caption of <<, <, >, >>. If you want to delete the record just click on the delete button, the current record displayed on the form will be deleted. Note: you cannot delete the record in master form because the Transaction regarding to that record wills loss, means loss of data. You cannot delete record from transaction form for which transaction is held in the another form. For Example-you cannot delete indent entry on which PO is released, to delete that record you have to delete other related records in the another forms. To exit form the form click on Exit button displayed at the right-bottom of the form
(6)
Master Forms
(1) Instrument Assignment
This form stores all the information about the instrument assignment. Figure:
(2)
Supplier Master
This form contains all the information about the Suppliers; this form has two tabs you have to enter all the required information in both tabs.
(3)
Employees Master
This form contains all the information about the employees of the company
(4)
Customers Master
This form contains all the information about the customers of the company.
(5)
Part Master
This form contains information about the various part produced by the company. The related value automatically changes when you enter value in its
related field. It automatically counts the quantity in stock when you select product code
(6)
Currency Master
This form contains the currency used by the company and its related value.
(7)
User Master:
This form is used to create new user for the application, and also specify the permissions for the various users of application. If you specify the YES in front of particular option then that user are authorized for access that form otherwise not.
(8)
Change Password
This form is used to change the password of the user who has currently logon. For that you have enter your old password, and two times new password and then click on OK button. Your password will be changed. The password is case sensitive, so be careful
Transaction Forms
(1) Instrument History Record Card
This form contains all the information about the instrument that received at instrument division for repairing purpose. Here you have to enter just serial no of instrument and it will display all the information about the customer and its warranty, AMC Period etc. You have to enter the process, which is done, on the instrument at instrument division.
(3) Indent
This form contains information about the indent generated by various employees (Department).
(4) Purchase(Local)
This form contains information about the purchase order against Indent if the purchase is local
(5) Purchase(Import)
This form contains information about the purchase order against Indent if the purchase is from abroad
(6) Receipt
This form contains detail of receipt of goods against the purchase order.
(7) Receipt QC
After the goods are received against the purchase order, the QC will done on the received goods, this form contains all detail of QC of products.
Reports
This system is produce report as per the requirement. I have developed the report in the three different applications. For the printing of the screen display you have just click on print view or print button on the screen. The print view will be generated.
Figure:
CHAPTER-8
Installation of System
This Section describes the installation part of the ERP. You must run the setup.exe to install the ERP. When you double click on the setup.exe file of ERP, setup shows the following dialog box.
Now, setup asks you to change the default path of the installation file of the stock information system? If you want to change the path of ERP system in another drive/directory the press the button Change Directory and then enter the path. If you dont want to change the path then setup automatically install the ERP system file in default directory C:\Program files\ERP\. Now press the button given in the dialog box for further process of installation. Shows the following figure.
Now setup will ask you to choose the program group. If you press continue button without any change setup put the ERP.exe file in group as StartProgramERP. Then setup shows that the file is installing at
specified directory/drive. At last it shows dialog box indicating that setup is installed successfully.
CHAPTER-9
Features
CHAPTER-10
References
REFRENCES
1. Visual Basic 6 in 21 Days -By Nathan Gurewich & Ori Gurewich 2. DataBase Programming with Visual Basic 6 in 21 Days -By Curtis Smith & Michael Amundsen 3. Mastering SQL Server 2000 -By Mike Gunderloy & Josheph Jorden