"An ERP system supports most of the business system that maintains in a single database the data needed for a variety of business functions such as Manufacturing, Supply Chain Management, Financials, Projects, Human Resources and Customer Relationship Management. An ERP system is based on a common database and a modular software design. The common database can allow every department of a business to store and retrieve information in real-time. The information should be reliable, accessible, and easily shared. The modular software design should mean a business can select the modules they need, mix and match modules from different vendors, and add new modules of their own to improve business performance. Ideally, the data for the various business functions are integrated. In practice the ERP system may comprise a set of discrete applications, each maintaining a discrete data store within one physical database. There are two main scenarios an ERP developer is likely to face. In the first, your company is implementing a huge ERP software system from one of the big vendors, with canned applications and database table structures. In the second, you're being asked to create an ERP environment to encompass existing application systems and facilitate the development of new ones. In either case, your number-one task as a developer is configuration, which means a great deal of thought and planning regarding the redesign of your business processes. In a canned ERP world, you'll do a lot of embedded procedures in database tables, and configure a great many application links. In an ERP development environment, you're going to be writing a lot of app components and data transport containers to move information tier-to-tier"