Method for facilitating pricing, sale and distribution of fuel to a customer

Abstract
New and improved systems and methods for facilitating sale and distribution of fuel to a fuel customer. Such systems and methods include and involve a server facility configured to store fuel deal data and to process such fuel deal data to automatically generate pricing data based on the fuel deal data and in accordance with a pre-determined pricing technique. The system and method also include and involve a client facility that is coupled to the server facility via an electronic data network and which is configured to permit a user to enter such fuel deal data and to cause the server facility to store and process the fuel deal data to generate the pricing data. As such, fuel may be sold and distributed to a fuel customer via a fuel distribution system based on the fuel deal data and the automatically generated pricing data.
Description


[0001] Attached hereto is a compact disc containing computer software and data including executable programs, scripts, and database management system tables that are used to implement the systems and methods provided by the present invention. More particularly, the attached compact disc contains software and data used to implement at least two distinct applications comprising the systems and methods provided by the present invention; such two distinct applications include a broad-based, general use energy management system (referred to as the Energy Management System “EMS”), and a limited user/function restricted application (referred to as the Producer Control Center “PCC”) intended for use by fuel producers needing access to centrally stored and managed fuel deal data. Such material is protected by the Copyright Laws of the United States (17 U.S.C. § 101, et seq.) and may not be copied without the express, written authorization of the copyright holder (Highland Energy Corporation). Copyright © 2001, Highland Energy Corporation. All Rights Reserved.


BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention


[0003] The present invention relates to systems and methods used to facilitate pricing, sale, and distribution of fuel to a customer. More particularly, the present invention is directed to automated systems and methods that are used to price fuels such as natural gas, oil, gas, other petroleum based fuels, etc., to facilitate commodity sales of such fuels, and to distribute such fuels to customers, and to track and report sales and distribution related data.


[0004] 2. Description of the Related Art


[0005] Fuel sales and distribution systems and techniques are well known. Everyday millions of fuel sale contracts are completed in the U.S. and abroad. Fuels produced by a range of producers are transported over many modes of transportation (e.g., gas pipelines, etc.) to ultimately arrive at an intended destination. The steps involved in pricing fuel, selling a reserve, storing reserves, and ultimately transporting purchased fuel involve many parties including producers, agents, brokers, other middlemen and, ultimately, end customers. All of these parties have their own unique ways of doing business, reporting sale and purchase data, and collecting and paying against agreed upon contracts.


[0006] Unfortunately, many of the steps and processes carried out to facilitate fuel sales and distribution are archaic, inefficient, and, often, paper-based. Such inefficient ways of doing business cause many parties to engage large teams of personnel to manage the intricate details often involved in fuel sale and distribution. Fuel deal pricing provides a good example of the inefficiencies involved in moving large volumes of natural gas and other fuels.


[0007] Typically, pricing fuel deals in the natural gas arena involves manual processes related to gathering fuel index rates, manually computing sales prices across a multitude of fuel sales deals, laboriously factoring in transportation and other tangential costs, and managing for fuel overages and short falls often associated with transportation anomalies, etc. These processes typically involve the efforts of large teams of personnel within organizations who are required to constantly monitor sales deals, set pricing limits for sales people, and track and record fuel deal progress.


[0008] While many systems have been developed to facilitate sale and distribution of fuel and other products, commodities, and services in general, no systems developed to date can effectively management the volume of transactions among a wide array of parties to efficiently and effectively get fuel from one place to another. Moreover, existing systems have heretofore not been able to facilitate pricing practices that factor in past fuel deal data across a multitude of prior fuel deals to better drive profit margins in the commodities and brokerage fields.


[0009] Accordingly, there exists a serious need to provide systems and methods that enable centralized location and management of fuel deal data, provide for application of pre-determined pricing techniques based on such fuel deal data, facilitate broad-based reporting based on such centrally stored fuel deal data to drive better business practices for parties to fuel deals, and increase productivity and make more efficient fuel sale and distribution practices. The present invention squarely addresses such a need and provides a new and improved systems and methods for facilitating fuel sale and distribution.



SUMMARY OF THE INVENTION

[0010] The present invention solves the problems mentioned above with regard to prior systems and methods used to facilitate sale and distribution of fuel to a customer. By squarely addressing the limitations of prior systems and methods, the present invention provides new and improved systems and methods that permit a wide array of users to broadly access a central data store to create and manage fuel deal data. Such new and improved systems and methods further permit the inclusion of pricing processes into existing business processes that are based on prior fuel deal data and which take into account prior prices charged across collections of prior fuel deal contracts.


[0011] Accordingly, the present invention provides new and improved systems and methods for facilitating sale and distribution of fuel to a fuel customer. Such systems and methods include and involve a server facility configured to store fuel deal data and to process such fuel deal data to automatically generate pricing data based on the fuel deal data and in accordance with a pre-determined pricing technique. The system and method also include and involve a client facility that is coupled to the server facility via an electronic data network and which is configured to permit a user to enter such fuel deal data and to cause the server facility to store and process the fuel deal data to generate the pricing data. As such, fuel may be sold and distributed to a fuel customer via a fuel distribution system based on the fuel deal data and the automatically generated pricing data.







BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The present invention is described in detail below with reference to the following drawing figures, of which:


[0013]
FIG. 1 is a timing diagram that depicts process flows within a business process that facilitates sale and distribution of fuel to customers in accordance with a preferred embodiment of the present invention;


[0014]
FIG. 2 is a system diagram in which client systems can access server system(s) to facilitate sale and distribution of fuel to customers in accordance with the business process illustrated in FIG. 1;


[0015]
FIG. 3A is an entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0016]
FIG. 3B is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0017]
FIG. 3C is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0018]
FIG. 3D is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0019]
FIG. 3E is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0020]
FIG. 3F is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0021]
FIG. 3G is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0022]
FIG. 3H is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0023]
FIG. 3I is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0024]
FIG. 3J is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0025]
FIG. 3K is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0026]
FIG. 3L is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0027]
FIG. 3M is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0028]
FIG. 3N is another entity relationship diagram that depicts data relationships among tables and corresponding table entries used to implement the systems that carry out the business process illustrated in FIG. 1;


[0029]
FIG. 4A is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0030]
FIG. 4B is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0031]
FIG. 4C is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0032]
FIG. 4D is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0033]
FIG. 4E is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0034]
FIG. 4F is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0035]
FIG. 4G is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0036]
FIG. 4H is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0037]
FIG. 4I is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0038]
FIG. 4J is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0039]
FIG. 4K is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0040]
FIG. 4L is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0041]
FIG. 4M is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0042]
FIG. 4N is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0043]
FIG. 4O is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0044]
FIG. 4P is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0045]
FIG. 4Q is another screen shot of a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1;


[0046]
FIG. 5A is a flow chart that illustrates the operations carried out to effect a pricing technique and, in particular, one that effectuates a weighted average sales price for fuel deals in accordance with a preferred embodiment of present invention; and


[0047]
FIG. 5B is the conclusion of the flowchart started in FIG. 5A.







DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0048] The present invention is now described in detail with regard to the drawing figures that were briefly described above. The systems and methods described herein are illustrative of the exemplary system implemented by way of computer software within a networked data processing environment and which is contained within multiple files housed on the compact disc that is appended to this patent document. Accordingly, the discussion that follows refers to such an exemplary system and those skilled in the art are encouraged to review such appended software in the context of fuel deal management for a complete understanding of the present invention. As noted at the beginning of this patent document, the material contained on the attached compact disc is protected by the Copyright Laws of the United States (17 U.S.C. § 101, et seq.) and may not be copied without the express, written authorization of the copyright holder (Highland Energy Corporation). Copyright © 2001, Highland Energy Corporation. All Rights Reserved.


[0049] Referring now to FIG. 1, depicted therein is a timing diagram corresponding to the business process carried out within an organization to facilitate sale and distribution of fuel to a customer and which may be set up to utilize the systems and methods provided by the present invention. In particular, FIG. 1, illustrates a monthly or periodic business process involving several phases of operation that are carried out by the systems and methods provided by the present invention including, but not limited to: an availability phase, a bidding phase, a nominating (e.g., gas pipeline nominations, etc.) and routing phase, a third party and sanctioned sales period, a pricing period, an invoicing period, and an accounting period. Together, these periods make up what is referred to herein as a MONTH OF FLOW PROCESS (MFP). The MFP is described next to further illustrate the business operations that are handled by the systems and methods provided by the present invention.



THE MONTH OF FLOW PROCESS (MFP)


Availability Period

[0050] During the availability period of the month of flow process, equity contracts for sale and distribution of fuel (those that need to roll from month to month) are established for the next month. These purchase deals define the anticipated volumes by well/meter for each producer. The status for the production month needs are set to ‘Availability’ at this point. Then, correspondence is transferred (via fax, email and phone conversations) to the various operators/producers in order to confirm the anticipated volumes to be produced.


[0051] The anticipated production volume for an entire well/meter is then entered into the system. An entitlement and makeup percentage is used to indicate how much of this volume is actually available to be marketed (represents the owner interest in the production of the well/meter). New deals are setup on the system to represent the new month's purchases. The package description is utilized to assist with easy recognition of volumes, price, etc. (used for identification purposes only). There is a process built within the system to automate the propagation of new deals to the next month (first time into a new month will automatically generate entries for the new month with zero volume amounts). The actual volume stored on the system (at this point) is zero. Only the nominated volumes contain the expected volumes for the production month. These “nominated” volumes are equal to the estimates provided by the producers and entered into the system during this part of the month of flow. The primary area of the system utilized is the ‘Availability’ functions (off the system's main menu.)



Bid Week Period

[0052] During the bid week of the month of flow process, buyers are found for the volumes that were made available through the availability step described above. The status of the production month of the system needs is set to “Sales” at this point. By setting the status to ‘Sales’ all of the price indices will be initially populated and ‘seeded’ with zero values. Each of the sales is confirmed by a dealmaker and is written up on a deal log sheet. These deal log sheets reflect the pipe/field, meter/well, company, contract, volume, and pricing instructions to support the sale. Prior to completing a deal, the dealmaker will work closely with the volume control group to ensure that appropriate volumes will be available at the well/meter of sale. The dealmakers then complete the deal log sheet entries for the sale and they are transferred to the volume control group for deal creation and entry into the system. Most of the volumes sold during this particular phase are for the equity purchase deals created during the availability period.



Nominating and Routing

[0053] During the nominating and routing period of the month of flow process, the volumes to support the sales are routed from the producer's well/meters to the sales wells/meters (primarily to pooling points or field tanks). This process occurs throughout the entire month. When the volumes are routed to specific pool wells/meters, allowances are automatically made by the system for fuel, gathering and transport costs. These costs will net down the actual available volumes that can be applied to the sales deals. When volumes are routed to a pool/tank then these volumes reflect as ‘Transport Out volumes’. The volumes then show up as “Transported In” (net fuel) on the receiving meter/well within the system. The primary area with the System utilized during this process is the “Route Volume” menu option within the Routing module (main menu selection of ‘Routing’ on the System.



Third Party Deals and Sanctioned Sales

[0054] During the Third Party Deals and Sanctioned Sales of the month of flow process, the dealmakers complete the third party deals. These deals are typically setup where a specific purchase deal (non equity type) is made to support a specific sales deal. These types of deals will usually have a specific price agreement and volume associated with them. Sanctioned sales represent sales from equity volumes with specific terms (prices, volumes, etc.) to specific sales meters. A sales price for a specific volume is set in advance of the production month with these types of deals. All third party deals are excluded from Weighted Average Sales Price (WASP) calculations as discussed below with regard to FIGS. 5A and 5B (each third party purchase volume exists within its own WASP pool (‘None’)). All sanction sales deals are included within the WASP calculation but EACH combination sanction sales (purchase-to-sale) will utilize a ‘Dedicated’ WASP pool during the calculation. In this way, sanction sale costs etc. PLUS netback percentages can be applied. All equity deals combined with the ‘Common’ WASP pool where costs and prices are aggregated by meter/well based on volume weightings. All deals actually go through the calculation in order determine margins. However, the calculation has been setup to ensure that third party, sanctioned sale and equity pools are calculated without interfering with each other.



Pricing

[0055] During the pricing period of the month of flow process, all monthly index based prices are entered immediately when published. These are usually entered just before the beginning of the production month. Daily prices are keyed or otherwise entered throughout the month as they are received. When deals are setup the ‘Pricing’ function within the System is used to actually calculate a price for the deal (‘Price’ tab on deal detail screen). Each evening, for example, the ‘Price All Deals’ function of the System is started. This particular function will re-price all deals for the entire month (Price+WASP calculations). For months in the ‘Sales’ phase, the nominations are re-priced and recalculated. For months in the ‘invoiced’ phase, the pipe/field actuals are re-priced and recalculated. In addition, to this periodic process, an option exists within the System to price production months throughout a day, for example. Below, with reference to FIGS. 5A and 5B, the details related to fuel deal pricing are described. The ability of the present invention to incorporate a pricing technique such as one that is predetermined and implemented as a modular component of a larger software system, represents a significant point of novelty to which the present invention is directed.



Invoicing

[0056] During the invoicing period of the month of flow process, invoices for all of the sales for the previous month are produced. This represents the final step of the month within the system. All marketing individuals directly involved with the system for the month (controllers, dealmakers, etc.) are informed that the month is closing out and that invoices are now being produced. The status for the production month is changed to ‘Invoiced’. A final nomination calculation is automatically done with the status updated. Accounting is then notified that the month has been completed. Invoicing reports are then run for the month and sent to the buyers by an accounting group, for example. Additional reports may be run (Sales By Pipe/Field, Purchase By Producer, Balancing Reports, Pipeline Statement Comparison Reports, etc.) by the accounting group for historical reference and reconciliation.



Accounting

[0057] During the accounting period of the month of flow process, an accounting group creates a revenue and journal entry feed to track receivables within an automated accounting system. This feed is created directly out of the system. Pipe/Field statements begin appearing beginning as early as the 15th of the month. These statements represent volumes (by well/meter) for the previous month. Each accounting analyst is responsible for a specific set of pipe/fields. The volumes from these statements are entered as actuals into the system. A copy of the Pipe/Field statements are sent to the controllers for sign off. Accounting analysts then balance all of the purchase meter routing information for their respective pipe/fields. Accounting analysts then balance all of the sales meters for their respective pipe/fields. Accounting analysts then adjust any route volumes that cross pipe/fields to ensure interconnect balances are synchronized with pipe/field statements. Reconciliation and voucher reports can be run immediately after the production month is promoted to ‘Accounting’ phase (meaning accounting is finished with the month). These reports can then be sent to producers and/or entered into to accounting system.



AN EXEMPLARY SYSTEM

[0058] Referring now to FIG. 2, depicted therein is a diagram of an exemplary system in which client systems can access server system(s) to facilitate sale and distribution of fuel to customers in accordance with the business process (MFP) illustrated in FIG. 1. In particular, system 100 includes both server(s) 102 and client systems 104. Additionally, a database management system and corresponding data store 106 (hereinafter data store 106) is used to store fuel deal data and programs. Servers 102 are configured to be accessed via wide area network connections such as those facilitated via the Internet using open standards based protocols. Client systems 106 are configured with software contained on the appended compact disc to access servers 102 to engage in fuel deal operations such as those described with reference to the month of flow process (MFP) discussed above with regard to FIG. 1.


[0059] In FIG. 2, client systems 104 may be configured as desktop computing systems, wireless computing clients, etc. to access servers 102. Such access may be made possible via applications and technology such as dbOvernet TCP/IP Socket Connection Middleware. Furthermore, servers 102 execute common SEServer applications and routines utilizing dbOvernet middleware technology.


[0060] Within the processing space of servers 102, a database server system such as Microsoft's SQLServer V.7.03 (a DBMS engine) may be instantiated. Such a database management system may control data store 106 and may be configured in accordance with the present invention to maintain all fuel deal data in accordance with the present invention.


[0061] The following discussion further defines an exemplary arrangement for a client-server system implemented in accordance with the present invention:



SERVERS

[0062] MS Windows NT 4.0 (SP6) may be chosen as a Network Operating System.


[0063] The DBMS may be Microsoft's SQL-Server (V7.0x)—Service Pack 3. All data generated and processed within the context of the present invention is stored in MS SQL-Server database tables. Such data is accessed via direct SQL statements (embedded in Windows applications, stored procedures, forms, and reports). There are several database views that have been setup to access aggregated information (for performance and consistency). In addition, all of the critical calculations and time consuming procedures such as pricing calculations, routing and rollover processes, etc. are written as Transact-SQL stored procedures and are contained on the attached compact disc and are discussed in further detail below in the embedded description-tables found herein.


[0064] The SEServer may be a Middleware Server Application. The system database is accessed via middleware software that uses TCP/IP (SEServer/dbOvernet). All databases queried through the system come through this middleware component.


[0065] SECrystal (Crystal Reporting Engine Server Application) may be used for server side reporting functions, etc. All reports for the system utilizes a remote Crystal Reporting engine (SECrystal) server. These reports are run and saved on the server for electronic distribution. Crystal Report (V8.0) from Seagate Software is used for this function.


[0066] The SEFax (Fax Server Application) may be used for Fax distribution. This server application is responsible for sending out reports via a fax device. This software monitors a specific directory and when a fax file ‘shows up’ in the directory it will be faxed.


[0067] The MAPI Mail Client Software provides Email (like Microsoft Outlook or Outlook Express). The MAPI compliant email service needs to be running on the same machine as the report engine server (SECrystal). This provides the ability to email reports (Correspondence) automatically. Options should be set on this client to automatically check (send/receive) at periodic intervals.


[0068] The Adobe Acrobat Reader (Free PDF Viewer) is used to view reports, etc. The server machine that runs the SECrystal reporting server application needs to also have the PDF viewer installed. This is used in order to ‘spool’ to paper the print jobs.



WEB ACCESS—NETWORK CONNECTIVITY

[0069] All functions within the System are available over the Internet (with appropriate security). An individual wishing to log in to the system over the Internet will need to have appropriate application security to log in, the current application executable program (as contained on the attached compact disc) and an ISP account. System administrators will need to furnish access site addresses (e.g., IP addresses, domain names, etc.) to users to address the systems provided by the present invention.



CLIENT SYSTEMS

[0070] Client systems may utilize a Client Operating System such as MS-Windows 95/98/Me; MS-Windows NT 4.0/2000. TCP/IP network protocol is required. Access to the server TCP/IP address (either LOCAL address or REMOTE address is required.)


[0071] The system typically includes a single .EXE file(s) (plus approximately 8 disk compression and graphics DLL's). The system application require only a single executable with a few DLL's to reside on the client machine. No other client configuration software is required. Upgrades to the client software are automatically done when a user first connects (logs in) through the Internet (on application startup). A version number check will be made if necessary and a new installation program and script are automatically downloaded.


[0072] The Adobe Acrobat Reader (FREE PDF view) is used as a reporting system for files saved in the PDF 1.2 format. The default output for all reports on the system is the standard PDF format. This provides for email/electronic storage. In order to view reports this software (or other third party viewer with a file association to .pdf files) needs to exist on the client machine.


[0073] The MAPI Mail Client Software is used for electronic mail communications. A MAPI compliant email service needs to be running on the client machine to be able to highlight a report and email it using the client email address list. This software is not required to run the but is required to take advantage of the system's ability to attach reports automatically within an email client.


[0074] All client applications are written using DELPHI (V5+) including Delphi 3rd party tools and procedures. Such applications and stored procedures and identified 3rd party tools are further described in the description-tables found below.



DATABASES, AND CORRESPONDING ENTITY RELATIONSHIPS

[0075] The various database tables that make up the system have been divided into nine (9) database subject areas. A subject area within this context is simply a logical aggregation of tables that support a particular business or system function. All of the database tables physically reside in the same database, but are not required to so reside. Only the documentation (as described below) has been constructed to illustrate these subject areas. It is also important to note that there are linkages (not documented here) between the various subject areas.


[0076] These database subject areas and a description include:


[0077] Companies: All company related tables (including company name, contact name, addresses functions, etc.).


[0078] Contracts: All contract related tables (including contract provisions, notes, default standard reporting, etc.).


[0079] Deals: All deal related tables (includes other costs, deal classes, correspondence, etc.).


[0080] Volume Inventory: All volume inventory tables (includes production interests, daily monthly, calculated values, etc.).


[0081] Operational: All tables that were created to support the system (software application). These tables include fax queue tables, printer definition tables, system logs, system messages, reporting tables, etc.


[0082] Pipes/Fields: All pipe/field and meter/well related tables.


[0083] Pricing: All tables within the system that are related to pricing (indices, price descriptions, baskets, etc.).


[0084] Routing: All tables within the system that define routes (leg definitions, daily leg rates, monthly leg rates, nom and actual volume routing instructions, etc.).


[0085] Security: All security related tables within the system (includes user, logins, passwords, business functions, etc.).


[0086] The above-described nine (9) logical database subject areas are next broken down into the actual tables that reside on the attached compact disc. For purposes of brevity, such database subject areas are broken down in the following tables:


[0087] Table Descriptions


[0088] Below is an inventory of the various database tables that are utilized by the Energy Management System. This particular inventory indicates the current number of rows (through January 2001), the database (MS SQL Server) and the database subject areas (logical grouping of tables).
1SubjectRef #Table NameRowsDatabaseAreaDescription/CommentsCompaniesSubject Area1.0Address1,384SQL ServerCompaniesContains record entries for each address for allcompanies and contacts within companies(multiple address types per company and/orcontact).2.0Company1,242SQL ServerCompaniesContains a record entry for each company inthe database. Information on this tableincludes company name, fax, phone andprimary address reference identifier.3.0Contact_Group908SQL ServerCompaniesContains a record entry for each contact grouprelationship. This is the mechanism forgrouping company contact individuals..4.0Contact_GroupNames8SQL ServerCompaniesContains a record entry for each contact groupname.5.0ContactFunction997SQL ServerCompaniesContains a record entry showing the contact tofunction relationships for a given company.6.0Contacts3,347SQL ServerCompaniesContains a record entry for each individualcontact in the database. Includes full name,phone, fax, email, title, etc.ContractsSubject Area10.0K1,414SQL ServerContractsThis table contains a record entry for eachcontract within the system. Bank information(ABA), Evergreen indicators, termination date,fixed pricing, etc. type data attributes are storedon these records. Each contract on the systemhas an associated parent ‘company’ (on theCompany table).11.0KNetBack334SQL ServerContractsThis table contains the netback pricing tiersassociated with a given contract. The parenttable for this entity is the contract table (K).The netback pricing tiers are volume and dateinfluenced.12.0Knotes589SQL ServerContractsThis table contains an optional record entry foreach contract on the system. If there are nonotes associated with a contract then therecords are not inserted on the database. Thisprovides the users with a free form area forkeeping notes about a contract.13.0Kproducts1,049SQL ServerThis table contains a reference to the productsthat are available (oil, gas, liquids, etc.) for agiven contract. A product has to be associatedto a contract before a deal can be setup usingthat contract for that product.14.0KreportDefaults48SQL ServerThis table contains the entire standardreporting defaults for a particular entity. Thesereports include invoices, remittance, vouchers,deal confirmations, etc.15.0KreportOverrides0SQL ServerIf a particular contract has its own uniquestandard reports then a reference to theseunique reports is stored in this table for thecontract in question.16.0Kservices1,068SQL ServerThis table contains a reference to the servicesthat are available (marketing, end user, passthru, etc.) for a given contract. A service has tobe associated to a contract before a deal canbe setup using that contract for that service.DealsSubject Area20.0RdealClass6SQL ServerDealsThis table is a reference table that indicates thetypes of deal class options that are available.The context of each class is 0 = Purchases,1 = Sales and 2 = Both. The description fieldindicates the possible answers (but therDealClassA table contains the actual answersthat can be applied).21.0RdealClassA23SQL ServerDealsThis table is a reference table that indicates thepossible deal classification options for each ofthe classifications defined in the rDealClasstable.22.0RdealClassRules448SQL ServerDealsThis table contains record entries for everycombination of deal classification answers(rDealClassA table). Each of theseclassification options can have its own set ofcalculation rules/etc associated with it.23.0Engine_Master39,149SQL ServerDealsThis table contains a record entry for each priceentry effective date (header record).24.0Engine_MasterPrice79,244SQL ServerDealsThis particular table contains the individualpricing components associated to a given dealon a given effective date (parent record is onthe Engine_Master table). When the user ofthe Energy Management System enters aprice, this is the table that gets updated.25.0Package65,351SQL ServerDealsThis table contains a record for each deal thathas been setup on the system. Start Date, EndDate, Deal Name, Contract, Company, etc. arespecified on this table.26.0PackageCosts381SQL ServerDealsThis table contains entries for all ‘other costs’associated with a given deal. Each of these‘other costs’ will have unique STID's (deal ormeter level) and have calculated ‘Engine’records automatically generated (when acalculation runs).27.0PackageCorrespondence3,447SQL ServerDealsThis table contains entries for all of theelectronic correspondence between the partiesto the deal (deal confirmations, availabilityreports, remittance detail, vouchers, etc.).28.0PriceComponents19SQL ServerDealsThis table contain record entries for eachcomponent that can be set aside for pricingpurposes (on a deal). Examples include‘DAILY INDEX’, ‘MONTHLY INDEX’,‘GATHERING’, etc. These tags will beassociated to each component of the price toallow for future queries and reporting. Inaddition, these tags will provide an audit trail ofall pricing related information.29.0PriceDesc33,877SQL ServerDealsThis table contains a record for each dealdescription (or comments) within the system.These price description records (only 1 perdeal) provide the users with a place to put freeform text to help describe the price of the deal.Volume InventorySubject Area30.0Engine280,970SQL ServerVolumeThis table contains record entries for eachInventorycalculated transaction that the system attachesto volume inventory items. Each transactionhas a unique STID (transaction id) that aredefined in the Engine_TransactionList table.Indicators on this table determine thedisposition of the transaction.31.0Engine_TransactionList36SQL ServerVolumeThis table contains record entries that define allInventoryof the transactions that can be calculated andstored in the Engine table. The STID field isthe unique transaction identifier.32.0GasInv159,501SQL ServerVolumeThis is the primary table were all volumesInventory(nominated and actual) are maintained Thistable contains the header record entries thatshows by month, company, transaction,pipe/field & meter/well the nominated volumeand the estimated actual volumes. Referencesto price types, contracts, etc. are stored oneach record.33.0GasInvD4,145,617SQL ServerVolumeThis table contains the detail (DAILY)Inventorynominated and estimated actual volumes forthe GasInv table.34.0ProdInterest7,999SQL ServerVolumeThis table contains a record that lists theInventoryproduction interests that are held for a givenmeter/well and contract (with dateeffectiveness).35.0ProdPkg4,080SQL ServerVolumeThis table contains a record that indicates (byInventorymonth) the contract and the deal ID of a dealthat was generated automatically within the‘Availability’ (equity purchase deal creation)area of the system.36.0ProdSum39,296SQL ServerVolumeThis table contains records that indicate (byInventorymonth and meter/well) the gross mmbtu's andthe Btu factors.37.0ProdVol44,187SQL ServerVolumeThis table contains record entries (by monthInventoryand meter/well) which show the receipt anddelivery mmbtu's per day.OperationalSubject Area40ApplicationMessages55,882SQL ServerOperationalThis table contains a ‘rolling’ 7 day listing of allapplication messages (such as those that aredisplayed to the console during a calculation).41.0ExceptionCategories8SQL ServerOperationalThis table contains record entries to hold all ofthe exception ‘reasons’ that will be usedwhenever an exception even occurs. Therecan be multiple types of exception categories.42.0ExceptionList2,171SQL ServerOperationalThis table contains entries for the actualexception events that get logged by the system.These represent an audit trail of non-normal orerror type information. This table is linked tothe ExceptionCategories table because eachexception event (in this table) requires a reasoncategory.43.0LogTable4SQL ServerOperationalThis table is used for debugging purposes onlyand is not used in any screens or reports.44.0PrinterDef6SQL ServerOperationalThis table contains a record for each availableprinter (including driver and port).45.0RgasMonth1,440SQL ServerOperationalThis is a reference table that contains a recordfor each month from 1/1980 thru 12/2099. Inaddition, this table also contains the status andstatus update sequence number for theparticular month. This status is used in order toenable/disable certain functions within theEnergy Management System throughout themonth.46.0RGasMonthStatus1,873SQL ServerOperationalThis represents a historical audit table that willbe updated every time the monthly status for agiven production month is modified (via triggerson the RgasMonth table). This provides amechanism of identifying who & when thechanges were for the status, over time.47.0SEMessages1,251SQL ServerOperationalAll system messages are stored in this table.48.0SEAuditSQL ServerOperationalThis table contains record entries for thoseevents that are deemed ‘auditable’. Someexamples include ‘Login’ events, Actualizationbalancing events, standard report submissionevents, etc.49.0SEImages2SQL ServerOperationalThis table contains record entries that containgraphic images for the screen and reports usedthroughout the system.50.0SELocations3SQL ServerOperationalThis table contains record entries that definethe server paths (network folder locations)where certain key correspondence items arefound. For example (report location, dealcorrespondence, etc).51.0SEProcessingCodeTypes15SQL ServerOperationalThis table contains the ‘Type’ codes to thereference table ‘SEProcessingCodes’. Anexample is the type code of ‘CONTRCTPRD’which describes a reference code for contractproducts.52.0SEProcessingCodes143SQL ServerOperationalThis table contains reference codes for variousfields used throughout the Energy ManagementSystem.53.0SERptsExecutedStats19,117SQL ServerOperationalThis table contains record entries that lists thestart and end date and times for all reports thatwere submitted. This provides statistics onhow long to execute/etc.54.0SERptsGroupItems218SQL ServerOperationalThis table contains entries of each specificreport that exists within a reporting tab (group)within a specific reporting folder (category).55.0SERptsGroups36SQL ServerOperationalThis table contains a list of all availablereporting tabs (groups) within each reportingfolder (category).56.0SERptsItemDetail123SQL ServerOperationalThis table contains the list of all availablereports within the system.57.0SERptsItemParms657SQL ServerOperationalThis table contains record entries for eachreport parameter for each report defined to thesystem. Options exist for substituting adifferent label name than actual parameter fieldname.58.0SERptsQueue5,667SQL ServerOperationalThis table contains record entries for all‘submitted’ reports (report queue). Whenreports are automatically removed from thesystem the record is removed from this queue.59.0SERptsQueueDistribute7,855SQL ServerOperationalThis table contains entries that dictate how todistribute the output of reports from the queue(fax, email, printer, etc.).60.0SERptsQueueNotify276SQL ServerOperationalThis table contains entries that indicate who(and if) individuals or groups have been notifiedthat the report has finished.61.0SERptsSchedule0SQL ServerOperationalThis table contains records that define specificschedules for the running of scheduled reports.62.0SERptsScheduledReports0SQL ServerOperationalThis table contains record entries that definewhich reports to run as part of specificschedules.63.0SERptsScheduledGroups0SQL ServerOperationalThis table contains ‘groups’ for scheduling.This provides the ability to assign multipleindividuals to a specific group and have thegroup belong to the schedule.64.0SERptsScheduledUserGroup0SQL ServerOperationalThis is the actual table that contains themembers within a schedule group. Each entryin this table defines the group.65.0SERptsTablesUsed896SQL ServerOperationalThis table contains documentation on whattables, views or stored procedures are usedwithin each report.Pipes & FieldsSubject Area80.0Meter4,335SQL ServerPipes andThis table contains a record entry for eachFieldswell/meter that has been setup on the system.The pipe/field, name, county and state arestored here.81.0MeterNotes935SQL ServerPipes andThis table contains a record for notes pertainingFieldsto meters/wells.82.0PipeField372SQL ServerPipes andThis table contains a record entry for eachFieldspip/field defined on the system. The companyand the pipe/field description are stored here.83.0MeterRates3,980SQL ServerPipes andThis table contains the entire pressure base.FieldsBtu factors by effective date for specificmeters/wells.84.0MeterAllocations551SQL ServerPipes andThis table contains entries for the allocationFieldsinformation on the meter/well. This includesaccounting cross-reference codes (id anddeck).PricingSubject Area90.0GCIndex142,268SQL ServerPricingThis table contains record entries by Day fordaily index prices AND/OR a single entry formonthly index prices (1st day of month formonthly indices).91.0IndexRef228SQL ServerPricingThis represents the master table of all definedprice indices within the Energy ManagementSystem. One record entry per index existswithin this table.92.0IndexBaskets14SQL ServerPricingThis table contains a record entry for eachindex basket established on the system. Theseindex baskets can be associated to sales orpurchase deals just as normal indexes areassociated to them. Simple averages arecalculated with all index items within an indexbasket.93.0IndexBasketLink36SQL ServerPricingThis table contains the actual indices that arecurrently associated with an index basket. Anunlimited number of indices can exist in abasket. A simple average of all the priceswithin the basket is used.RoutingSubject Area101.0LegRef4,226SQL ServerRoutingThis table contains record for each uniquetransportation leg (meter-to-meter) on theEnergy Management System.102.0Leg57,830SQL ServerRoutingThis table contains a record for each active legwithin a given month. Nomination and actualrates that the leg utilizes during the month areposted on each record. These rates are usedwith the actual routing instructions (LegDetailtable).103.0LegD0SQL ServerRoutingThis table contains OPTIONAL entries for anydaily leg rates that need to be utilized within agiven month. Daily rates are checked PRIORto the monthly rates (on the Leg table) whensetting up the actual routing instructions(LegDetail table).104.0LegDetail1,716,695SQL ServerRoutingThis table contains the detail routinginstructions for all volumes purchased all theway through the sales points for that particularvolume. Nomination AND actual routinginstructions are stored for each meter/well thathad volume activity during the month. Allvolumes sold can be tracked back to originatingpurchase points.105.0WASPResovedRouting34,304SQL ServerRoutingThis table contains record entries that show thepool level calculated totals for all receipt anddelivery points within the system. ‘Common’,‘Dedicated’ and ‘None’ pools are aggregatedand the total numbers stored here. Only‘Common’ pool volumes and dollars representthe totals from more than one purchase point(shows weighted average pricing based onvolumes purchased and/or transported).SecuritySubject Area110.0GCUser27SQL ServerSecurityThis table contains a single record entry perunique user (employee) on the system. Thecharacter based (up to 12 character) login IDAND an internal user id (integer) are uniquekeys to this table.111.0GCButton58SQL ServerSecurityThis table contains records that represent thesystem functions that have specific securityrules associated with them on the system. Forexample a system function of ‘DEALS’ hasbeen setup in order to define securityrelationships between users (GCUser table)and this function.112.0GCSecurity1,548SQL ServerSecurityThis table stores the relationships betweenusers on the system (GCUser table) and thesystem function that they have access too(GCButton table). A specific access privilege isstored for each of these relationships (likeREAD ONLY, READ/UPDATE,READ/UPDATE/DELETE or SUPER).


[0089] Referring now to FIGS. 3A-3N, depicted therein are entity relationship diagrams that illustrate data relationships among tables and corresponding table entries used to implement the systems and methods that carry out the business process illustrated in FIG. 1. The database tables used logically categorized above into the above-identified nine (9) subject areas are maintained within data store 106 (FIG. 1), and are included among the files present on the attached compact disc, and are further defined in detail in FIGS. 3A-3N. Those skilled in the art will readily understand the data relationships among relational database tables as shown in FIGS. 3A-3N. Accordingly, for purposes of brevity, further comments about FIGS. 3A-3N have been omitted.


[0090] In addition to the tables described and specified in the tables listed above, the following table illustrates an inventory of the various database views that utilized by the systems and methods provided by the present invention.


[0091] View Descriptions


[0092] Below is an inventory of the various database views that are utilized by the Energy Management System:
2Ref #View NameDescription/Comments1.0V_SearchDBProvides a view to search the database stored procedures and triggers for specific text items.Used for assessing the impact of system changes.2.0VAccountingRevenueFeedDatabase view (3 select UNION) used for creating OGSYS journal and revenue receivable data.3.0VCompanyDisplay of company information (name, address, etc.)4.0Vcontact_AccountingDisplay the accounting contact for a given company.5.0Vcontact_AdminDisplay the administrative contact for a given company.6.0Vcontact_ControlDisplay the control contact for a given company.7.0Vcontact_ProductionDisplay the production contact for a given company. This is the contact used for-Availabilityestimates/etc.8.0Vcontact_volconfirmDisplay the contact responsible for confirming volumes within a given company. This is thecontact used for volume confirmations in the ‘Availability’ phase.9.0VcontactFunctionDisplay a list of all contacts for a given company along with their respective functions (accounting,volume confirmations, etc.)10.0VContactsDisplay name and addresses for contacts.11.0VETID_DatesDisplay the engine start, effective and end dates for a given engine transaction id (based onpackage). This view is used VERY LITTLE because of performance issues.16.0VgasInvD_NomChgDisplay list of daily volumes where the nomination volumes are different between two successivedays.17.0VKTerminationDisplays specific contract termination information.18.0VlegDetail_MeterTotalsDisplay routing information summarized by meter.19.0VlegDetail_PipelineComparisonDisplay routing information in a format that is used for the pipe/field comparison report. Used forreconciling fuel, gathering, transport, pvr, etc to pipe/field statements.20.0VlegDetail_PurchasePointTotalsDisplay routing information that shows total routing costs/etc for given purchase points (hop 0's).21.0VlegDetail_SummaryDisplays routing information (summarized) for reporting purposes (purchase meters/wells only).22.0VlegDetail_SummarySalesDisplays routing information (summarized) for reporting purposes (sales meters/wells only).23.0VMeterAllocationsThis view is used to list the current meter/well allocations (based on effective date) for each givenmeter/well. These allocations are the accounting deck and purchaser id information, which can bedifferent from month to month.24.0VMeterRatesThis view is used to list the current meter/well rates (standard pressure base, pipe/field pressurebase, Btu factor, etc.) for each given meter/well. These rates can be different from month tomonth.25.0VOurContact_AcctingDisplay the current HEC contact for accounting information.26.0VOurContact_ProdDisplay the current HEC contact for production information.27.0VPackage_InfoDisplay detail list of information concerning a package (includes contacts, names, phones, etc.).28.0VPrevGasMonthStuffDisplays current month volume totals versus previous month volume totals.29.0VprodConfirmLettersDisplay contact information for use with correspondence on production volumes. Specifically usedin the confirmation process in the ‘Availability’ production month phase.30.0VprodInterestDisplay a list of contracts and meters to confirm the production interests. This is used primarily inthe ‘Availability’ production month phase.31.0VRequestProductionDisplay list of production interest volume and meter information. This is used primarily in the‘Availability’ production month phase and is used when sending out estimate reports to producers.


[0093] Once all software and data as described above has been properly installed on one or more server systems 102 and within one or more coupled (networked) client systems 104 as illustrated in FIG. 1, use and operation of the systems and methods provided by the present invention may be commenced. Such operations may be in relation to the general use application (Energy Management System—EMS) or the limited use/user/function application (Producer Control Console—PCC) provided on the attached compact disc. In either case, the present invention facilitates a client-server application environment that includes, among other things, a user interface that is pleasing to users and which permits easy and ready access to system functions and operations. Such a user interface may be a graphical user interface or GUI that is configured to permit a user to engage in window-operations to bring about database operations that affect fuel deal data and the like in accordance with the present invention. Such a GUI is illustrated by way of screen shots (images of computer monitor screens) that are used to permit generation of, manipulation of, reporting of , and all other system operations relating to fuel deals and corresponding fuel deal data.


[0094] For example, reference is now made to FIGS. 4A-4Q which illustrate a data processing application running within a client system to facilitate at least some of the operations carried out to effect the business process illustrated in FIG. 1. FIG. 1, for example, represents an opening main menu screen through which a user may select “PERSONAL” operations related to setting up a personal profile to affect user-preferred presentation of data (e.g., name, screen colors, etc.). Additionally, a user may select “PRICE-INDEX” to affect fuel pricing and index related data. A user may select “COMPANY” to control lists of producers, and other related company entities. A user may select other options corresponding to the steps involved and described with regard to the MONTH OF FLOW PROCESS illustrated and described with reference to FIG. 1.


[0095] The other screen shots shown in FIGS. 4B-4Q further illustrate specific features of the GUI that has been designed to facilitate the implementation of the systems and methods provided by the present invention. For the purpose brevity, further detailed comments related to such screen shots has been omitted.



SYSTEM IMPLEMENTATION AND FUNCTIONALITY

[0096] As noted above, the present invention utilizes stored procedures in the form of database management system procedures and functions which are executed server-side and client-side to facilitate the present invention's systems and methods. Listed in the following tables, is a detailed break-down of all the stored procedures, tools, and modules used to facilitate such systems and methods. The actual source code and instructions contained with in such procedures, functions, and modules is contained on the attached compact disc.



STORED PROCEDURES

[0097] Below is an inventory of the various database-stored procedures (procedures and functions) that are utilized by the systems and methods provided by the present invention. Each of the stored procedures and functions are written in the Transact-SQL dialect. All of the stored procedures are prefixed with “usp_” which stands for “User Stored Procedure.” This provides an ability to differentiate those procedures bundled with the DBMS versus those created for the systems and methods provided by the present invention:


[0098] Stored Procedures


[0099] Below is an inventory of the various database-stored procedures (procedures and functions) that are utilized by the Energy Management System. Each of these stored procedures and functions are written in the Transact-SQL dialect. All of the stored procedures are prefixed with “usp_” which stands for “User Stored Procedures”. This provides an ability to differentiate those bundled with the DBMS versus those specifically created for the EMS application.
3Ref #Stored Procedure NameDescription/Comments1.0Usp_DailyCleanupThis procedure is run everyday and is responsible for any cleanup activities (likerolling aged messages off the ApplicationMessages table).2.0Usp_fGetCalcIndexRetrieves the weighted average price for a given volume item. This routine isinvoked during the WASP calculation in order to obtain the price for themeter/well and post it to the Engine database table.3.0Usp_fGetIndexRetrieves the daily or monthly price index for a given day. Used during thepricing calculation routine.4.0Usp_fGetIndexBasketRetrieves and calculates the index amounts for the price lines whenever anindex basket price variable has been entered. This particular function will returnthe average price (simple average) of all indices within the basket for a givenmonth/day.5.0Usp_fGetNetbackPercentageThis function will return the actual netback percentage to be used for a givenproduction month and contract. When it calculates the netback it looks atvolumes and tier instructions that have been setup on the contract. The numberit returns is the netback percentage to utilize. In addition, this routine bringsback the specific percentage to use for the product being calculated (gas,liquids, oil, etc.).6.0Usp_fGetProdInterestIDThis routine brings back the production interest information for a particularownership interest.7.0Usp_fGetProdPkgThis procedure brings back the ‘deal id’ (if one already exists) when postingvolumes through the ‘Availability’ screens. If a deal does not already exist (in thecurrent production month) then a new deal is created and that ID is sent back.8.0Usp_fGetWASPIndicatorThis function accepts a deal id (package ID) as it's input. It then reads theDealClass table and the rDealClass table(s) to determine if this particular dealshould be considered WASPable based on its classification scheme. The returnvalues are either ‘None’, ‘Common’ or ‘Dedicated’.9.0Usp_fGetwaspTypeThis procedure will send back the WASP type field (GAS, OIL or LIQUIDS) whenpassed a specific product ID. This procedure is used during the calculation inorder to determine which set of netback rules off a contract to use.10.0Usp_flsLastDayThis procedure accepts a date and sends back the last date in a productionmonth.11.0Usp_fLastDayThis procedure accepts a date and sends back the last date in a productionmonth.12.0Usp_fPipeContactInfoThis procedure, when passed a pipe/field id, will send back the specific contactinformation requested (like accounting contact, volume contact, etc.).13.0USP_GasDayToGasMonthThis function will return the production month to use for a given production day.14.0Usp_GetproductVolumeRoundThis routine will return the rounding precision necessary when calculatingvolume information for specify products (Oil calculates to 2 decimal places. Gasto zero, etc).15.0Usp_LinePriceThis is the actual procedure that will calculate the Engine records for a givendeal (volume related STID 8 or 9 type records).16.0Usp_messageThis routine handles all of the ‘progress’ messages that are issued during thecalculation, rollover, actualization, and etc. type events on the system. Thisroutine will optionally post this information to the ApplicationMessages table forhistorical reference (audit).17.0Usp_pActualize_BalPurchasesThis is the main driver routine for Step 2 of 4 of the actualization process.18.0Usp_pActualize_BalPurchasesCheckThis routine will check to see if all of the meters/wells on a given pipe/field havebeen actualized. If not, then it sends back a bad return code. All meters/wellsare required to be ‘checked’ (actualized) prior to balancing of purchase routingpoints19.0Usp_pActualize_BalPurchasesClearThis routine is the actual routine that will adjust all purchase meter imbalances.These imbalances are adjusted forward THROUGH the sales point based onnomination routing instructions (used as a map).20.0Usp_pActualize_BalSalesThis is the main driver routine for Step 3 of 4 of the actualization process.21.0Usp_pActualize_BalSalesCheckThis routine will check to see if all of the purchase meters/wells routing balances(from step 2 of 4) are balanced. If any meter/well on the pipe/field is out ofbalance then this routine sends back a bad return code. All meters/wells on thepipe/field are required to be ‘balanced’ prior to balancing of the sales points.22.0Usp_pActualize_BalSalesClearThis procedure is the final procedure invoked by the usp_pActualize_BalSalesmain driver procedure. It is responsible for posting imbalance amounts to theinternal clearing purchase or sales deals.23.0Usp_pActualize_BalSalesClearThis procedure attempts to reconcile any outstanding balances that result inOVER supplying of volume to a particular sale. Nomination information is usedby this routine as a ‘road map’ on how to allocate this volume.24.0Usp_pActualize_BalSalesUnderThis procedure attempts to reconcile any outstanding balances that result inUNDER supplying of volume to a particular sale. Nomination information is usedby this routine as a ‘road map’ on how to allocate this volume.25.0Usp_pFillIndexThis procedure will initialize the records within the ‘GCIndex’ table with dailyentries (for daily indices) and monthly entries (for monthly indices). The monthlyrecord entries are only on the first day of the month.26.0Usp_FillIndexSingleThis procedure will populate the ‘GCIndex’ table with a price index entry for aSINGLE index.27.0Usp_pGasInvD_FillThis routine initially populates the daily volumes on the GasInvD table. Theseare initially populated with zeros (anytime a meter/well is added to a deal).28.0Usp_pGasInvD_NomEOMThis routine is used in the ‘Availability’ area of the EMS system and is used totake a given volume amount and propagate that volume amount to all days inthe month.29.0Usp_LogAuditInfoThis routine is used to post record to the audit table within the system.30.0Usp_pPackageRevisionThis routine is used to increment the revision number field on the deal. Certaintypes of changes to a deal will automatically increment the revision number on adeal and this update is done through this routine.31.0Usp_pPostClassificationRulesThis procedure is executed (usually by triggers on the rDealClass andrDealClassA tables). It can be executed stand-alone. This procedure willensure that a record is created in the rDealClassRules table for everycombination of deal classification codes (dcA values on the rDealClassA table).32.0Usp_ProdPushThis routine is used in the ‘Availability’ phase of EMS and is used to initiallypopulate a particular month with ownership interest information, by meter/well.33.0Usp_pPushMeterThis routine is used in the ‘Availability’ phase of EMS and is used to populate asingle meter/well ownership interest to its respective deal (package) and volumeinventory item (GasInv/GasInvD).34.0Usp_pRouteBuildLegHistoryThis routine creates the ‘Leg’ records for a given meter/well. When a new ‘route’(Leg Ref) is defined on the system then this routine will get invoked to initiallyseed the ‘Leg’ table with entries in order to allow routing.35.0Usp_pRouteBuildLegHistoryAllThis routine gets invoked when a production month is initially opened to the‘Sales’ phase. All ACTIVE meters and legs will have their respective ‘Leg’ tablerecords populated for that production month by this routine.36.0Usp_pRouteCopyLegHistoryActualsThis routine gets invoked when the status of a production month changes from‘Sales’ to ‘Invoiced’. All nomination routine instructions (in the ‘LegDetail’ table)are then copied by this routine. This provides the mechanism to have actualsdifferent than noms while preserving the nom instructions.37.0Usp_pRoutePostChangeThis procedure gets invoked whenever a change to a specific route is requested(i.e. modifications of volumes between hops).38.0Usp_pRoutePostDealInfoThis procedure gets invoked to ‘seed’ the ‘LegDetail’ table with routinginformation. This is invoked when new meters/wells are added to deals.39.0Usp_pRoutePostDealInfoVolsThis procedure gets invoked to populate the specific volumes on each of the‘LegDetail’ entries (daily) for deal inventory items.40.0Usp_pRoutePostDeleteThis procedure gets invoked whenever a deletion is requested on the routing(LegDetail) information.41.0Usp_pRoutePostLegRatesThis procedure gets invoked in order to post the rates (fuel, pvr, transport,gathering, etc) to each of the ‘LegDetail’ records in the database. Daily rates(LegD table) overrides monthly rates (Leg table) and this procedure ensures thatpriority. If a rate gets changed for a leg this routine gets invoked to update allexisting routes (LegDetail) records.42.0Usp_pRoutePostSaleThis procedure gets invoked in order to post volume (route it) to a sales item (inthe LegDetail table).43.0Usp_pRoutePostTransportThis procedure gets invoked in order to post volume (route it) to a transportationpoint (in the LegDetail table).44.0Usp_pRouteRemoveLegDetailsThis routine will remove any/all ‘LegDetail’ (routing instructions) when ameter/well for a specific deal is removed.45.0Usp_pSERPT_GetAdditionalReportInfoThis routine is used by all of the ‘standard’ reporting procedures to obtainspecific report fields needed when running a standard report46.0Usp_pSERPT_PostReportToCorrespondenceThis routine will post a ‘PackageCorrespondence’ table record to a particulardeal that is affected by the ‘standard’ report being run. This routine is called byall standard report routines.47.0Usp_pSERPT_PostReportToDistributionThis routine will post a report distribution request to the SERptsQueueDistributetable. This is either a request to ‘PRINTER’, ‘EMAlL’ or ‘FAX’.48.0Usp_pSERPT_PostReportToQueueThis routine is used by all of the standard report routines and will post an actualreport request (queue item) to the SERptsQueue table.49.0Usp_pSERPT_RunReportAvailConfirmsThis routine is responsible for running the ‘Availability’ confirm reports.50.0Usp_pSERPT_RunReportAvailEstimatesThis routine is responsible for running the ‘Availability’ estimate reports.51.0Usp_pSERPT_RunReportDealConfirmThis routine is responsible for running the deal confirmation reports (from thedeal detail screen on EMS).52.0Usp_pSERPT_RunReportInvoiceThis routine is responsible for running all standard invoice reports.53.0Usp_pSERPT_RunReportRemittanceThis routine is responsible for running all standard remittance reports.54.0Usp_pSERPT_RunReportVoucherThis routine is responsible for running all standard voucher reports.55.0Usp_pSERPT_SetAParameterBooleanThis routine is used by the standard reporting routines and converts Booleanparameters for posting on the report queue (SERptsQueue) table.56.0Usp_pSERPT_SetAParameterDateThis routine is used by the standard reporting routines and converts date anddate/time parameters for posting on the report queue (SERptsQueue) table.57.0Usp_pSERPT_SetAParameterDecimalThis routine is used by the standard reporting routines and converts decimal(number) parameters for posting on the report queue (SERptsQueue) table.58.0Usp_pSERPT_SetAParameterIntegerThis routine is used by the standard reporting routines and converts integernumber parameters for posting on the report queue (SERptsQueue) table.59.0Usp_pSERPT_SetAParameterStringThis routine is used by the standard reporting routines and converts stringparameters for posting on the report queue (SERptsQueue) table.60.0Usp_pSERPT_WhichReportThis routine is used by the standard reporting routines and is responsible fordetermining WHICH report to use. The default reports are in KreportDefaultstable. However, any given contract can override the default (KreportOverridestable).61.0Usp_PSPriceThis is the main pricing routine for the volume inventory items (regularpurchases and sales).62.0Usp_PSPriceAllThis is the main procedure for calculating the prices for a given month on a setof deals (volume inventory pricing, STID 8 & 9). Parameters to this storedprocedure dictate the type of price to calculation (Nom of Pipe/Field Actual andSales versus Purchase. etc.).63.0Usp_PSPriceAnyNewInvoicesNeededThis routine is responsible for assigning new invoice and remittance numbers tothe volume inventory table (GasInv). If new meters/wells (volume entries) getentered during the actualization process then this routine will ensure they areassigned unique numbers.64.0Usp_PSPriceAssignInvoiceNoThis routine assigns invoice numbers to all sales deals when the productionmonth is promoted to the ‘Invoiced’ phase.65.0Usp_PSPriceAutoThis procedure run everyday and checks for any production month either in the‘Sales’ or the ‘Invoiced’ phase. If any production months are within thesephases then this procedure will invoke the calculation routine(usp_psAutoMonth) for them.66.0Usp_PSPriceAutoMonthThis is the main driver routine for the calculation of an entire month.67.0Usp_PSPriceComponentsCheckThis procedure will automatically insert system generated price components (likeWASP or Netback Percentage) to the Engine_Master table. It is invoked by theusp_PSPriceI procedure when calculating prices on a deal for a given month.68.0Usp_PSPriceCostThis is the routine that calculates the ‘Other Cost’ entries and posts calculatedresults in the Engine table.69.0Usp_PSPriceCostAllThis is the main driver routine for looping through all of the ‘Other Costs’ in agiven month and invoking the usp_PSPriceCost routine for each one.70.0Usp_PSPriceCreateActualEntriesThis procedure copies the pricing entries setup on each deal(Engine_MasterPrice) from nom to actuals.71.0Usp_PSPriceMarkActualAdjustmentsThis procedure gets invoked by the calculation routine to mark any volumeinventory item (GasInv) whenever a difference is detected between nominationsand actuals.72.0Usp_PSPricePopulateEngineThis procedure will populate the Engine table FROM the Engine_Master table.For daily index price entries this procedure will automatically propagate the dailyindex price to all days of the month where there is a volume (at least until a newpricing entry is found). Only volume entries are populated here (STID 8 & 9).73.0Usp_PSPriceTransportAllThis routine calculates all of the transport costs for a given production month.These transport costs (and volumes) are posted in the GasInv (pricetype=3)table and deals are posted (if needed). These deals are tagged with the specifictransport contract.74.0Usp_PSPriceWASPCalcDetermines and resolves all wasp ‘Common’ and ‘Dedicated’ pools. Dedicatedpools are sanctioned sales. This is the main driver procedure for the waspportion of the calculation. Third party (pool = ‘None’) are also processed withinthis procedure but not for the intent of obtaining a price for them, totals usedprimarily for profit margin reporting75.0Usp_PSPriceWASPCalcResolveDriverThis is the main driver component for driving the WASP calculation.76.0Usp_PSPriceWASPCalcResolveNTraces back sales totals from all sales meters back to their originating purchasepoints. The table updated here is the WASPResolvedRouting table. The‘LegDetail’ table is used extensively in this calculation. This is a highlyITERATIVE process77.0Usp_PSPriceWASPCalcResolveSalesNThis procedure creates the entries in the WASPResolvedRouting table andposts original sales volumes and amounts. This is done just prior to the routinethat resolves these sales totals back to the purchase points.78.0Usp_PSPriceWASPCalcSalesNSums all WASPable sales by sales meter into the WASPSalesMeterTotals table.79.0Usp_PSPriceWASPClearMonthThis routine runs when a production month is promoted to ‘Completed’ phase.Any volume inventory (GasInv andlor GasInvD) or routing items(LegDetail) that contain zeros are removed so that only relevant information isstored in the database for historical purposes.80.0Usp_PSPriceWaspDivieOutProceedsNThis procedure is the main procedure that will distribute the proceeds from thosedeals that have been designated to have their respective proceeds distributedvia the ‘Financial Overrides’ setup on the deal.81.0Usp_ProdVolSetThis routine is used in the ‘Availability’ phase to setup the ownership interest ona particular pipe/field and meter. ProdSum and ProdVol tables for the currentproduction month are populated with this procedure.82.0Usp_ProdVolSetAllThis routine is used in the ‘Availability’ phase to setup the ownership interest onall pipe/fields and meters. This routine invokes the usp_ProdVolSet routine foreach meter/well in the loop.83.0Usp_PSRolloverThis routine gets invoked when a production month goes from ‘Availability’ to‘Sales’ and is responsible for copying deal information month-to-month.84.0Usp_PSRolloverPopActuals3This routine gets invoked by the usp_PSRollover routine and is responsible forpopulating noms with previous 3 months actuals numbers (primarily used forOil).85.0Usp_PSRolloverPopNomsThis routine gets invoked by the usp_PSRollover routine and is responsible forpopulating noms with previous months nom numbers.86.0Usp_pStatusChangedThis routine gets invoked anytime the production month status is changed(Initial,Availability,Sales,Invoiced,Accounting,Completed). Other routines areinvoked depending on the from and to status for the production month.87.0Usp_w.″Any stored procedure that begins with Usp_w_has been setup as a one timeonly procedure that is used to correct any database items/etc. Theseprocedures can be permanently deleted and have no impact on existingfunctions within EMS.


[0100] Application Software


[0101] Technical Skill Set Required


[0102] Support and maintenance of the Energy Management System requires the following technical skill set.
4Ref #Skill SetUsed For . . . 1.0SQL-Server (Transact SQL)All data is stored in MS SQL-Server database tables. This data is accessed via direct SQLstatements (embedded in windows applications, stored procedures and reports). There areseveral database views that have been setup to access aggregated information (for performanceand consistency). In addition all of the critical calculations and time consuming procedures (likethe main EMS calculation, routing and rollover process) are written as Transact-SQL storedprocedures (and documented in this manual).2.0Delphi (V5+)All client applications are written using this particular RAD tool. In addition to knowing the(includes Delphi 3rd party tools)standard components that come with this tool, any of the 3rd party tools (documented in thismanual) are used extensively. See the 3rd party tools listed in the ‘Tools Utilized’ section far moredetails.3.0Crystal Reports (V8.0)All reporting within EMS is done utilizing this tool from Seagate software.


[0103] Client, Server Applications W/Tools Utilized


[0104] This particular section contains the high level documentation relative to the Energy Management System software application. Each item documented is uniquely numbered to aid in reviews and/or future modifications.
5Ref #ItemResponseComments1.0Client ApplicationEnergy ManagementThe Energy Management System is written in Delphi 5System(service pack 3 applied). Third party controls andcomponents were used in the development. See otherareas of this matrix for 3rd party tools utilized.2.0Client ApplicationProducer ControlThe Producer Control Center is written in Delphi 5 (serviceCenterpack 3 applied). Third party controls and components wereused in the development. See other areas of this matrix for3rd party tools utilized. This application provides a restrictedview of information specific to the company/contact that isrunning the application. The data viewed is the same datathat is maintained in the EMS system.3.0Server ApplicationSoftware Experts, Inc.All reporting done within EMS utilizes Crystal reports. ThisSECrystal (V8.00)server application runs and stores all output reports for theSystem. Besides storing an electronic copy of the report.this server can distribute to a printer, fax folder OR an emailaddress if instructed by the EMS application.4.0Server ApplicationSoftware Experts, Inc.Some output reports (from SECrystal) are designated to beSEFax (V2.00)faxed. This software is responsible for faxing all of the(outbound faxing)reports that were designated by EMS to be faxed.5.0Server ApplicationSoftware Experts, Inc.All database requests for the Energy Management SystemSEServer (V2.00 g)AND the Producer Control Center go through this database(database request server)server component. This server application typically runs onthe same machine as the actual database.6.03rd Party Tool/LibraryAdobeThis free tool is used to view reports from EMS. The defaultAcrobat Reader (V4.0+)for all reports is to print them to a PDF format. This outputformat is ‘overrideable’ by the user when the report issubmitted. Other formats like Excel, Word, Text, etc. arealso supported.7.03rd Party Tool/LibrarySeagate SoftwareAll reports are written using the Crystal reporting tool fromCrystal Reports (V8.00)Seagate Software). In addition, the report server(SECrystal) utilizes the main Crystal reporting FREE runtimelibranes to run these reports for all EMS client requests.8.03rd Party Tool/LibraryDalco TechnologiesDelphi VCL components that provide internet (TCP/IP)DbOvernet (V2.00)access. The SEServer application utilizes this middleware.9.03rd Party Tool/LibraryTurboPower SoftwareThe SEFax fax server application utilizes this 3rd partyAsynch Pro (V3.04)Delphi VCL component list for sending and/receiving faxes.The SECrystal reporting server application uses this libraryto write out ‘fax ready’ files.10.03rd Party Tool/LibraryTurboPower SoftwareMany of the online screens for all client and serverOrpheus (V3.08)applications utilize the Orpheus controls for screen grid lists,combo boxes, etc. The server applications were written withthis tool set also.11.03rd Party Tool/LibraryTurboPower SoftwareMany of the online screens for all client and serverSysTools (V3.02)applications utilize the SysTools components for stringmanipulations, spawning tasks, etc.12.03rd Party Tool/LibraryWoll2Woll SoftwareMany of the online screens for all client and serverInfoPower 2000.17applications utilize these controls for screen grid lists.combo boxes, etc. The server applications were written withthis tool set also.13.03rd Party Tool/LibraryInner Media.SoftwareThese are Delphi software components that are forDynazip (V4.00)compression/decompression of files to and from the server.This is used by both the client and server applications.14.03rd Party Tool/LibraryPublic DomainThis is a Delphi software component and is used by theTEmail (V2.10)client and server applications. It is responsible for the emailinterface.15.03rd Party Tool/LibraryTMS SoftwareThis is a Delphi software component that provides for ‘overTwebUpdate (V1.00)the internet’ automatic software upgrades. The clientapplications each utilize this component.16.03rd Party Tool/LibrarySkyline Software, Inc.These are Delphi software components that provide forImageLib Suite (V5.00)graphic images displayed within the application. In addition,this software provides scanner input capabilities.


[0105] Client Applications, Module List/Descriptions


[0106] This particular section Contains the high level documentation relative to each software application module within the Energy Management System. Each item documented is uniquely numbered to aid in reviews and/or future modifications. The application reference listed below will either indicate EMS (Energy Management System) and/or PCC (Producer Control Center). This shows the level of interoperability between these two client applications. All of these modules are written in Delphi (Object Pascal, (Visual)).
6Ref #Module NameModule TypeApplicationDescription/Comments1.0DBAddressData ModuleEMSThis module contains all ot the database communicationPCCcomponents for the Address (‘Company and ContactAddresses’) table.2.0DBCommonDatabaseData ModuleEMSThis module is responsible for setting all of the commonPCCproperties for all other data modules within the system.Prior to invoking a query, all other database modules willinvoke methods within this module to set communicationports, maximum number of records, etc. This module alsostores the actual user id and contains methods foraccessing this field.3.0DBCommonFileOperationsData ModuleEMSThis module handles all of the ‘flat file’ operationsPCC(compressing/decompressing/etc.) that is involved with theapplications. Any temporary files that need to be createdare also controlled by this data module.4.0DBCompanyData ModuleEMSThis module contains all of the database communicationPCCcomponents for the Company (‘Company Information’)table.5.0DBContactFunctionData ModuleEMSThis module contains all of the database communicationPCCcomponents for the ContactFunction (“Roles within theirrespective companies that contacts play”) table.6.0DBContactsData ModuleEMSThis module contains all of the database communicationPCCcomponents for the Contacts (‘Individual contacts withincompanies’) table.7.0DBContactGroupData ModuleEMSThis module contains all of the database communicationPCCcomponents for the ContactGroup (Links contacts togroups they may be affiliated with) table.8.0DBContact_GroupNamesData ModuleEMSThis module contains all of the database communicationcomponents for the Contact_GroupNames (table containsa record for each group within the system) table.9.0DBEngineData ModuleEMSThis module contains all of the database communicationcomponents for the Engine (contains transaction recordsfor each volume inventory transaction item associated withthe deal) table.10.0DBEngine_MasterData ModuleEMSThis module contains all of the database communicationcomponents for the Engine_Master (User enterable pricingarea ‘header’ record) table.11.0DBEngine_MasterPriceData ModuleEMSThis module contains all of the database communicationcomponents for the Engine_MasterPrice (User enterablepricing area ‘detail’ records (price tags)) table.12.0DBEngine_TransactionListData ModuleEMSThis module contains all of the database communicationcomponents for the Engine_TransactionList (transactiondescriptions) table.13.0DBExceptionCategoriesData ModuleEMSThis module contains all of the database communicationPCCcomponents for the ExceptionCategories (‘Reasons forExceptions’) table.14.0DBExceptionListData ModuleEMSThis module contains all of the database communicationPCCcomponents for the ExceptionList (‘Actual ExceptionEvents) table.15.0DBGasInvData ModuleEMSThis module contains all of the database communicationcomponents for the GasInv (Volume Inventory ‘header’)table.16.0DBGasInvDData ModuleEMSThis module contains all of the database communicationcomponents for the GasInvD (Volume Inventory Daily‘detail’) table.17.0DBGCButtonData ModuleEMSThis module contains all of the database communicationPCCcomponents for the GCButton (‘Business Functions’)security table.18.0DBGCIndexData ModuleEMSThis module contains all of the database communicationPCCcomponents for the GCIndex (Daily & Monthly PriceIndices) table.19.0DBGCSecurityData ModuleEMSThis module contains all of the database communicationPCCcomponents for the GCSecurity (Security Authorizations)for the applications.20.0DBGCUserData ModuleEMSThis module contains all of the database communicationPCCcomponents for the GCUser (User Profiles) table within theapplications.21.0DBImagesData ModuleEMSThis module contains all of the database communicationcomponents for the SEImages (company logos, etc.) tablewithin the application.21.0DBIndexBasketLinkData ModuleEMSThis module contains all of the database communicationPCCcomponents for the IndexBasketLink (Links actual indicesto a particular basket) table within the application.22.0DBIndexBasketsData ModuleEMSThis module contains all of the database communicationPCCcomponents for the IndexBaskets (Grouping of indices tobe used in a ‘simple’ averaging calculation) table within theapplication.23.0DBIndexRefData ModuleEMSThis module contains all of the database-communicationPCCcomponents for the IndexRef (Each price index within thesystem contains a record entry here) table within theapplication.24.0DBKData ModuleEMSThis module contains all of the database communicationcomponents for the K (Contracts table within theapplication).25.0DBKNetBackData ModuleEMSThis module contains all of the database communicationcomponents for the KNetBack (Contracts NetbackPercentage Tiers) table within the application.26.0DBKNotesData ModuleEMSThis module contains all of the database communicationcomponents for the KNotes (Contract Notes) table withinthe application.27.0DBKProductsData ModuleEMSThis module contains all of the database communicationcomponents for the KProducts (products that are availablewithin contracts) table within the application.28.0DBKReportDefaultsData ModuleEMSThis module contains all of the database communicationcomponents for the KReportDefaults (standard reportdefaults) table within the application.29.0DBKReportOverridesData ModuleEMSThis module contains all of the database communicationcomponents for the KReportOverrides (standard report)overrides for a contract) table within the application.30.0DBKServicesData ModuleEMSThis module contains all of the database communicationcomponents for the KServices (services that are availablewithin contracts) table within the application.31.0DBLegData ModuleEMSThis module contains all of the database communicationcomponents for the Leg (available routes and rates for theproduction month) table within the application.32.0DBLegDData ModuleEMSThis module contains all of the database communicationcomponents for the LegD (available DAILY routes andrates for the production) table within the application.33.0DBLegDetailData ModuleEMSThis module contains all of the database communicationcomponents for the LegDetail (specific routing instructionsfor all volumes purchased and sold) table within theapplication.34.0DBLegRefData ModuleEMSThis module contains all of the database communicationcomponents for the LegRef (master list of routes and rates)table within the application.35.0DBLocationsData ModuleEMSThis module contains all of the database communicationPCCcomponents for SELocations (locations) table within theapplication.36.0DBMessagesData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SEMessages (system messages) tablewithin the application.37.0DBMeterData ModuleEMSThis module contains all of the database communicationcomponents for the Meter/Well table within the application.38.0DBMeterAllocationsData ModuleEMSThis module contains all of the database communicationcomponents for the MeterAllocations (ownership interestsin volume from a meter/well) table within the application.39.0DBMeterNotesData ModuleEMSThis module contains all of the database communicationcomponents for the MeterNotes table within theapplication.40.0DBMeterRatesData ModuleEMSThis module contains all of the database communicationcomponents for the MeterRates (pressure base, Btu factor,etc. from a meter/well) table within the application.41.0DBMiscQueriesData ModuleEMSThis module contains all of the miscellaneous queries thatPCCwere created to enable views of various tables within theapplication.42.0DBPackageData ModuleEMSThis module contains all of the database communicationcomponents for the Package (Deals) table within theapplication.43.0DBPackageCorrespondenceData ModuleEMSThis module contains all of the database communicationcomponents for the PackageCorrespondence (electroniccopies of documents associated with deals) table withinthe application.44.0DBPackageCostsData ModuleEMSThis module contains all of the database-communicationcomponents for the PackageCosts (‘Other Costs’associated with deals) table within the application.45.0DBPipeFieldData ModuleEMSThis module contains all of the database communicationcomponents for the PipeField (Pipe/Field information) tablewithin the application.46.0DBPriceComponentsData ModuleEMSThis module contains all of the database communicationcomponents for the PriceComponents (tags to associate toeach portion of a price) table within the application.47.0DBPriceDescData ModuleEMSThis module contains all of the database communicationcomponents for the PriceDesc (Deal free form pricedescription) table within the application.48.0DBPrinterDefData ModuleEMSThis module contains all of the database communicationcomponents for the PrinterDef (printer definitions) tablewithin the application.49.0DBProcessingCodesData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SEProcessingCodes (reference codedescription) table within the application.50.0DBProcessingCodeTyesData ModuleEMSThis module contains all of the database communicationcomponents for the SEProcessingCodeTypes (type codesthat classify sets of reference codes) table within theapplication.51.0DBProducerMessageData ModulePCCThis module contains all of the database communicationcomponents for the ProducerMessage (dynamic messagesposted to producers) table within the application.52.0DBProdInterestData ModuleEMSThis module contains all of the database communicationcomponents for the ProdInterest (Availability royaltyinterests) table within the application.53.0DBProdPKGData ModuleEMSThis module contains all of the database communicationcomponents for the ProdPKG (Availability deal ID toProdVol cross reference) table within the application.54.0DBProdSumData ModuleEMSThis module contains all of the database communicationcomponents for the ProdSum (Availability summary totalsby meter/well) table within the application.55.0DBProdVolData ModuleEMSThis module contains all of the database communicationcomponents for the ProdVol (Availability detail ownerinterest totals by meter/well) table within the application.56.0DBrDealClassData ModuleEMSThis module contains all of the database communicationcomponents for the rDealClass (All of the available dealclassifications) table within the application.57.0DBrDealClassAData ModuleEMSThis module contains all of the database communicationcomponents for the rDealClassA (all possible answersavailable to the deal class rules (rDealClass table)) tablewithin the application.58.0DBrDealClassRulesData ModuleEMSThis module contains all of the database communicationcomponents for the rDealClassRules (all rules associatedwith every combination of deal classification) table withinthe application.59.0DBrGasMonthData ModuleEMSThis module contains all of the database communicationPCCcomponents for the rGasMonth (an entry exists here forevery possible month within the system, with statusinformation) table within the application.60.0DBRptsControlData ModuleEMSThis module represents the main driver module forPCCsubmitting reports.61.0DBRptsExecutedStatsData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsExecutedStats (Executionstatistics for reports) table within the application.62.0DBRptsGroupitemsData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsGroupItems (List of reportsavailable within each tab/folder) table within theapplication.63.0DBRptsGroupsData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsGroups (List of all tabs withineach reporting folder) table within the application.64.0DBRptsItemDetailData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsItemDetail (List of specificreports available throughout all folders and tabs) tablewithin the application.65.0DBRptsItemParmsData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsItemParms (List of all reportparameters available to each specific report) table withinthe application.66.0DBRptsQueueData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsQueue (actual reportsubmission queue) table within the application.67.0DBRptsQueueDistributeData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsOueueDistribute (reportdistribution instructions area) table within the application.68.0DBRptsQueueNotifyData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsQueueNotify (report notificationinstructions area) table within the aoplication.69.0DBRptsScheduleData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsSchedule (report scheduledefinition area) table within the application.70.0DBRptsScheduledReportsData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsScheduledReports (reportsbelonging to schedule definition area) table within theapplication.71.0DBRptsScheduleGroupsData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsScheduleGroups (reportschedule groups definition area) table within theapplication.72.0DBRptsScheduleUserGroupsData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsScheduleUserGroups (user listbelonging to a specific schedule group definition area)table within the application.73.0DBRptsTablesUsedData ModuleEMSThis module contains all of the database communicationPCCcomponents for the SERptsTablesUsed (tables, views andstored procedures used by each report area) table withinthe application.74.0DBStoredProceduresData ModuleEMSThis module contains all of the database communicationPCCcomponents for accessing and invoking all storedprocedures and functions on the application. Each ofthese procedures are setup as methods within this classand this particular class acts as a common wrapper forinvoking these DB procedures.75.0RTCrystalDriverParseMemoBusiness RulesEMSThis module contains all of the string parsing routines usedPCCto store reporting parameters, formulas and selectioncriteria.76.0RTDBAddressBusiness RulesEMSAll business rules and edits associated with the applicationPCCaddresses (Address table) are within this particularmodule.77.0RTDBCompanyBusiness RulesEMSAll business rules and edits associated with the applicationPCCcompanies (Company table) are within this particularmodule.78.0RTDBContactFunctionBusiness RulesEMSAll business rules and edits associated with the applicationPCCcontact function (ContactFunction table) are within thisparticular module.79.0RTDBContactsBusiness RulesEMSAll business rules and edits associated with the applicationPCCcontacts (contacts table) are within this particular module.80.0RTDBContact_GroupBusiness RulesEMSAll business rules and edits associated with the applicationPCCcontact group relationships (ContactGroup table) are withinthis particular module.81.0RTDBContact_GroupNamesBusiness RulesEMSAll business rules and edits associated with the applicationcontact group names (Contact_GroupNames table) arewithin this particular module.82.0RTDBEngineBusiness RulesEMSAll business rules and edits associated with the applicationengine pricing transaction (Engine table) are within thisparticular module.83.0RTDBEngine_MasterBusiness RulesEMSAll business rules and edits associated with the applicationengine pricing entry (Engine_Master table) are within thisparticular module.84.0RTDBEngine_MasterPriceBusiness RulesEMSAll business rules and edits associated with the applicationengine pricing components (w/price tags) entry(Engine_MasterPrice table) are within this particularmodule.85.0RTDBEngine_TransactionListBusiness RulesEMSAll business rules and edits associated with the applicationengine transaction master list (Engine_TansactionListtable) are within this particular module.86.0RTDBExceptionCategoriesBusiness RulesEMSAll business rules and edits associated with the applicationPCCexception categories (ExceptionCategories table) arewithin this particular module.87.0RTDBExceptionListBusiness RulesEMSAll business rules and edits associated with the applicationPCCexception list (ExceptionList table) are within this particularmodule.88.0RTDBGasinvBusiness RulesEMSAll business rules and edits associated with the applicationvolume inventory transaction header (Gasinv table) arewithin this particular module.89.0RTDBGasinvDBusiness RulesEMSAll business rules and edits associated with the applicationvolume inventory transaction detail daily (GasinvD table)are within this particular module.90.0RTDBGCButtonBusiness RulesEMSAll business rules and edits associated with the applicationPCCbusiness functions (GCButton table) are within thisparticular module.91.0RTDBGCIndexBusiness RulesEMSAll business rules and edits associated with the applicationPCCprice indices (GCIndex table) are within this particularmodule.92.0RTDBGCSecurityBusiness RulesEMSAll business rules and edits associated with the applicationPCCsecurity authorizations (GCSecurity table) are within thisparticular module.93.0RTDBGCUserBusiness RulesEMSAll business rules and edits associated with the applicationPCCusers (GCUser table) are within this particular module.94.0RTDBImagesBusiness RulesEMSAll business rules and edits associated with the applicationgraphic images (SEImages table) are within this particularmodule.95.0RTDBIndexBasketLinkBusiness RulesEMSAll business rules and edits associated with the applicationPCCindex price basket link (IndexBasketLink table) are withinthis particular module.96.0RTDBIndexBasketsBusiness RulesEMSAll business rules and edits associated with the applicationPCCindex price baskets (IndexBaskets table) are within thisparticular module.97.0RTDBIndexRefBusiness RulesEMSAll business rules and edits associated with the applicationPCCprice index master list (IndexRef table) are within thisparticular module.98.0RTDBKBusiness RulesEMSAll business rules and edits associated with the applicationcontracts (K table) are within this particular module.99.0RTDBKNetBackBusiness RulesEMSAll business rules and edits associated with the applicationcontract netback pricing tiers (KNetBack table) are withinthis particular module.100.0RTDBKNotesBusiness RulesEMSAll business rules and edits associated with the applicationcontract free form note area (KNotes table) are within thisparticular module.101.0RTDBKProductsBusiness RulesEMSAll business rules and edits associated with the applicationcontract products area (KProducts table) are within thisparticular module.102.0RTDBKReportDefaultsBusiness RulesEMSAll business rules and edits associated with the applicationcontract standard report defaults area (KReportDefaultstable) are within this particular module.103.0RTDBKReportOverridesBusiness RulesEMSAll business rules and edits associated with the applicationcontract standard report overrides area (KReportOverridestable) are within this particular module.104.0RTDBKServicesBusiness RulesEMSAll business rules and edits associated with the applicationcontract services area (KServices table) are within thisparticular module.105.0RTDBLegBusiness RulesEMSAll business rules and edits associated with the applicationleg (monthly) area (Leg table) are within this particularmodule.106.0RTDBLegDBusiness RulesEMSAll business rules and edits associated with the applicationleg (daily) area (LegD table) are within this particularmodule.107.0RTDBLegDetailBusiness RulesEMSAll business rules and edits associated with the applicationleg detail (main routing) area (LegDetail table) are withinthis particular module.108.0RTDBLegRefBusiness RulesEMSAll business rules and edits associated with the applicationleg master list area (LegRef table) are within this particularmodule.109.0RTDBLocationsBusiness RulesEMSAll business rules and edits associated with the applicationPCClocations (SELocations table) are within this particularmodule.110.0RTDBMessagesBusiness RulesEMSAll business rules and edits associated with the applicationPCCmessages (SEMessages table) are within this particularmodule.111.0RTDBMeterBusiness RulesEMSAll business rules and edits associated with the applicationmeters (Meter table) are within this particular module.112.0RTDBMeterAllocationsBusiness RulesEMSAll business rules and edits associated with the applicationmeter ownership allocations (MeterAllocations table) arewithin this particular module.113.0RTDBMeterNotesBusiness RulesEMSAll business rules and edits associated with the applicationmeter comment areas (MeterNotes table) are within thisparticular module.114.0RTDBMeterRatesBusiness RulesEMSAll business rules and edits associated with the applicationmeter rate areas (MeterRates table) are within thisparticular module.115.0RTDBPackageBusiness RulesEMSAll business rules and edits associated with the applicationdeals (Package table) are within this particular module.116.0RTDBPackageCorrespondenceBusiness RulesEMSAll business rules and edits associated with the applicationdeal correspondence (PackageCorrespondence table) arewithin this particular module.117.0RTDBPackageCostsBusiness RulesEMSAll business rules and edits associated with the applicationdeal ‘Other Coats’ (PackageCosts table) are within thisparticular module.118.0RTDBPipeFieldBusiness RulesEMSAll business rules and edits associated with the applicationpipes/fields (PipeField table) are within this particularmodule.119.0RTDBPriceComponentsBusiness RulesEMSAll business rules and edits associated with the applicationprice components (PriceComponents table) are within thisparticular module.120.0RTDBPriceDescBusiness RulesEMSAll business rules and edits associated with the applicationdeal pricing free form text area (PriceDesc table) are withinthis particular module.121.0RTDBPrinterDefBusiness RulesEMSAll business rules and edits associated with the applicationprinter definitions (PrinterDef table) are within thisparticular module.122.0RTDBProcessingCodesBusiness RulesEMSAll business rules and edits associated with the applicationPCCprocessing codes (SEProcessingCodes table) are withinthis particular module.123.0RTDBProcessingCodeTypesBusiness RulesEMSAll business rules and edits associated with the applicationprocessing code types (SEProcessingCodeTypes table)are within this particular module.124.0RTDBProdInterestBusiness RulesEMSAll business rules and edits associated with the application‘Availability’ royalty interests (Prodinterest table) are withinthis particular module.125.0RTDBProdPKGBusiness RulesEMSAll business rules and edits associated with the application‘Availability’ deal to ProdVol cross-reference (ProdPKGtable) are within this particular module.126.0RTDBProdSumBusiness RulesEMSAll business rules and edits associated with the application‘Availability’ monthly meter summary (ProdSum table) arewithin this particular module.127.0RTDBProdVolBusiness RulesEMSAll business rules and edits associated with the application‘Availability’ monthly ownership volume (ProdVol table) arewithin this particular module.128.0RTDBrDealClassBusiness RulesEMSAll business rules and edits associated with the applicationdeal classification options (rDealClass table) are within thisparticular module.129.0RTDBrDealClassABusiness RulesEMSAll business rules and edits associated with the applicationdeal classification answers (rDealClassA table) are withinthis particular module.130.0RTDBrDealClassRulesBusiness RulesEMSAll business rules and edits associated with the applicationdeal classification wasp rules (rDealClassRules table) arewithin this particular module.131.0RTDBrGasMonthBusiness RulesEMSAll business rules and edits associated with the applicationPCCproduction month (rGasMonth table) are within thisparticular module.132.0RTDBRptsExecutedStatsBusiness RulesEMSAll business rules and edits associated with the applicationPCCexecution statistics for reporting (SERptsExecutedSlatstable) are within this particular module.133.0RTDBRptsGroupItemsBusiness RulesEMSAll business rules and edits associated with the applicationPCCtab items for reporting (SERptsGroupItems table) arewithin this particular module.134.0RTDBRptsGroupsBusiness RulesEMSAll business rules and edits associated with the applicationPCCtabs for reporting (SERptsGroups table) are within thisparticular module.135.0RTDBRptsItemDetailBusiness RulesEMSAll business rules and edits associated with the applicationPCCreport files used for reporting (SERptsItemDetail table) arewithin this particular module.136.0RTDBRptsItemParmsBusiness RulesEMSAll business rules and edits associated with the applicationPCCreport file parameters used for reporting(SERptsItemParms table) are within this particular module.138.0RTDBRptsQueueBusiness RulesEMSAll business rules and edits associated with the applicationPCCreport submission queue used for reporting (SERptsQueuetable) are within this iparticular module.139.0RTDBRptsQueueDistributeBusiness RulesEMSAll business rules and edits associated with the applicationPCCreport queue distribution options used for reporting(SERptsQueueDistribute table) are within this particularmodule.140.0RTDBRptsQueueNotifyBusiness RulesEMSAll business rules and edits associated with the applicationPCCreport queue submission notifications used for reporting(SERptsQueueNotify table) are within this particularmodule.141.0RTDBRptsScheduleBusiness RulesEMSAll business rules and edits associated with the applicationPCCreport schedules used for reporting (SERptsScheduletable) are within this particular module.142.0RTDBRptsScheduledReportsBusiness RulesEMSAll business rules and edits associated with the applicationPCCreport schedule actual reports used for reporting(SERptsScheduledReports table) are within this particularmodule.143.0RTDBRptsScheduleGroupsBusiness RulesEMSAll business rules and edits associated with the applicationPCCreport schedule groups used for reporting(SERptsScheduleGroups table) are within this particularmodule.144.0RTDBRptsScheduleUserGroupsBusiness RulesEMSAll business rules and edits associated with the applicationPCCreport schedule users (in groups) used for reporting(SERptsScheduleUserGroups table) are within thisparticular module.145.0RTDBRptsTablesUsedBusiness RulesEMSAll business rules and edits associated with the applicationPCCreport tables used for reporting (SERptsTablesUsed table)are within this particular module.146.0RTMessageStackClientBusiness RulesEMSThis particular module is responsible for maintaining thePCCcurrent list of messages that will be displayed to the user.This module will provide for the storing of up to 50messages (in memory tables) in between enter button ormouse clicks. This provides for any/all error messagesconcerning a specific event to be displayed at once versusone at a time.147.0FmAboutFormEMSThis form provides descriptive information about thePCCapplication (version number, copyright notice, email andwebsite support links. etc).148.0FmActualizePurchasesFormEMSThis form provides the method for performing (Step 2 of 4)of the actualization process within EMS.149.0FmActualizeSalesFormEMSThis form provides the method for performing (Step 3 of 4)of the actualization process within EMS.150.0FmAddressDetailFormEMSThis form provides for the updating of addresses forcontacts and companies. The table that gets updatedbehind the scenes is the Address table.151.0FmAddressListFormEMSThis form provides a list of all available addresses thathave already been setup for a company. Options on thisform include an ability to change, add or delete addresslines from the list.152.0FmBusinessFunctionsDetailFormEMSThis form provides for the updating of the businessfunctions that are available within the Energy ManagementSystem AND the Producer Control Center. The table thatgets updated (behind the scenes) is the ‘GCButton’ table.153.0FmBusinessFunctionsListFormEMSThis form provides a list of all available business functionsthat are currently within the Energy Management SystemAND the Producer Control Center. Options exist here toadd, change and delete business functions. Each of thesebusiness functions represent areas within the applicationfor setting system security.154.0FmCommonFormEMSThis form provides for all of the common properties usedPCCby all forms. This form can be accessed via the mainmenus by selecting system properties. All of the colorschemes, graphic images, etc. that are used by the systemare included on this form. At runtime, all other forms withinthe system will invoke public methods within this form toset their respective screen fields.155.0FmCompanyDetailFormEMSThis form provides the mechanism for updating detailinformation pertaining to a specific company. This includesidentification of a primary company address.156.0FmCompanyListFormEMSThis form provides a grid list of all companies that arecurrently stored on EMS. Options on this form includeextensive lookup and tab options.157.0FmContactDetailFormEMSThis form provides the form for updating detail informationabout a contact at a particular company. This includesgroup memberships, functions, etc.158.0FmContactFunctionDetailFormEMSThis form provides the mechanism for associating acontact within a company to a specific job function at thecompany (i.e. Accounting, production, etc.)159.0FmContactGroupDetailFormEMSThis form provides the mechanism for creating or updatingcontact groups on the system.160.0FmContactGroupListFormEMSThis form lists all available contact groups on the system.Options on this form include an ability to add, change ordelete a contact group.161.0FmContactListFormEMSThis for lists all contacts within all companies. Options onthis form include an ability to add, change or delete aspecific contact (with appropriate security). In addition,there are extensive data lookup capabilities.162.0fmContactSecurityAuthFormEMSThis form provides for the entry of external companysecurity authorization rules (i.e. Enabling access toProducer Control Center. etc.).163.0FmContractDetailFormEMSThis form represents the detail form for entering contractspecific information (netback pricing information, contractname, terms, provisions, etc.).164.0FmContractListFormEMSThis form provides a grid list of all existing contracts on thesystem. Options exist on this form to add, change ordelete a contract. This form also includes extensive lookupand company letter tab's for searching all contracts.165.0FmDailyPricesFormPCCThis form shows the graphs of the revenue detailinformation on the Producer Control Center.166.0FmDealClassificationUpdatesFormEMSThis form provides the mechanism for changing anycalculation rules associated with a given combination ofdeal classification codes. The WASP inclusion indicator isstored on this table.167.0fmDealCorrespondenceDetailFormEMSThis form provides an entry form for attaching electroniccorrespondence to a deal.168.0FmDealCostsEntryDetailFormEMSThis form provides for the entry of ‘Other-Costs’ associatedwith a particular deal.169.0FmDealDetailFormEMSThis is the main detail form that shows all of theinformation relative to a deal.170.0FmDealEntryNewFormEMSThis form represents a popup box that is displayed when anew deal has been requested. This box prompts the userfor the type of deal (purchase or sale) and what productand service it is applicable toward.171.0FmDealListFormEMSThis form provides a listing of all ‘Purchase’ or ‘Sales’deals within a given month on a grid. Options exist on thisscreen to add, change or delete a deal.172.0FmDealPriceFormEMSThis is the form that is used whenever a user wants toPCCcalculate the prices for a given volume within a givenmonth. The only options on this form are to ‘Price All’ andonly for those production months and volumes that areapplicable (based on monthly status).173.0FmDealPriceEntryDetailFormEMSThis is the main form for entering deal price informationwithin the Energy Management System. The primaryunderlying tables that get updated include Engine_Masterand Engine_MasterPrice.174.0FmExceptionFormEMSThis form is invoked whenever a system exception occursPCCwithin the system. In order to complete the exception aparticular user must have a ‘Super ID’ for the function andhe/she must provide an exception reason with adescription.175.0FmExceptionCategotiesDetailFormEMSThis form provides for a detail update screen to updatereason code information for a given type of exception.176.0fmExceptionCategoriesListFormEMSThis form provides a listing grid of all reason codeexceptions for a given type of exception.177.0FmGraphicViewerFormEMSThis form provides an ability to view graphic images and/orscan in graphic images from a scanner. These images canbe attached to a deal.178.0fmGroupMemberDetailFormEMSThis form represents the detail form for associating acontact as a member of a specific group.179.0FmImagesDetailFormEMSThis form represents the detail form used for postingupdates to the application graphic images (logo’s. etc.).180.0FmImagesListFormEMSThis form provides a list of all graphic images (logos) thatare currently stored in the system.181.0FmIndexBasketDetailFormEMSThis form provides a detail update screen to update indexprice basket information.182.0FmIndexBasketLinkDetailFormEMSThis form provides a detail update form to allow for theupdating of index links to particular baskets.183.0FmIndexBasketListFormEMSThis form provides a listing grid of all index baskets on thesystem.184.0FmLegDailyDetailFormEMSThis form provides the detail rate information associatedwith a daily leg rate (which overrides the monthly ratewhen setup on EMS).185.0FmLegDailyListFormEMSThis form provides a listing of all daily rates that may besetup for a particular leg.186.0FmLegDetailFormEMSThis form provides the detail rate information associatedwith the a given leg, on a given production month withinthe system. Both nomination and actual rate information isavailable.187.0FmLegHistoryFormEMSThis form provides a historical list of all monthly leg ratesthat have been established for a given leg.188.0FmLegListFormEMSThis form provides a list of all legs on the system. Optionsexist from this screen to select and change (modify) thespecific rate information about a leg.189.0FmLegMonthlyViewFormEMSThis form represents a ‘view’ form that provides a read-only view of all volumes transported in, out, sold and/or onbalance for a specific meter.190.0FmLegPurchaseLinkMonthlyViewFormEMSThis form represents a ‘view’ form that provides a read-only view of all the purchase deals (volumes) that havebeen attributed to a selected sale.191.0FmLegPurchaseLinkViewFormEMSThis form represents a ‘view’ form that provides a read-only view of all purchases linked to a specific sale on agiven day.192.0FmLegPurchasePointViewFormEMSThis form represents a ‘view’ form that provides a read-only view of the originating (hop 0) information for anygiven volume that is displayed on the routing screen(s).193.0FmLegRouteFormEMSThis is the main routing screen. Options exist on thisscreen to select pipe/fields, days, noms or actuals, etc.With appropriate security a person can transport and/orsell volume through this panel.194.0FmLegSaleFormEMSThis form is used as a confirm form for posting volumebalances to a sale.195.0FmLegSalesViewFormEMSThis form represents a ‘view’ form that provides a read-only view of all sales that exist on a given pipe/field foreither a single day or an entire month.196.0FmLegTransportFormEMSThis form is used as a confirm form for transportingvolumes to other meters (pools). Options also exist on thisform to selectively override transport, gathering, pvr or fuelrates associated with the transport.197.0FmLegChangeFormEMSThis form is used whenever a request is made to changethe instructions (either volume or rates) on an existingtransport OR sale route item.198.0fmLegDeleteFormEMSThis form is used whenever a routed volume (eithertransported to a pool or posted to a sale) has beenrequested to be deleted.199.0FmLocationsDetailFormEMSThis form provides a detail update form to allow for theupdating of location information. These location entriesare used throughout the system (versus hardcodinglocations within the software).200.0fmLocationsListFormEMSThis form provides a list form to allow for showing thelocation information. These location entries are usedthroughout the system (versus hardcoding locations withinthe software).201.0fmLoginFormEMSThis is the common login form used by the application(s).PCCIt provides the mechanism for authenticating users orcompany contacts upon entry into the system.202.0fmLoginChangeFormEMSThis form provides the users of the system with the abilityto change their login passwords.203.0fmLookupFormEMSThis form provides a standard lookup dialog that allows forPCCqueries to be run for nearly all other list forms within thesystem. Most list screens provide a lookup button(binoculars) that will invoke this form.204.0fmMessageBoxFormEMSThis form displays all system messages used within thePCCsystem. This particular form gets utilized by nearly allother form on the system. The messages displayed by thisform include all ERROR, CONFIRMATIONAL,INFORMATIONAL and IN-PROCESS oriented messages.205.0fmMeterAllocationsDetailFormEMSThis form provides for an entry screen for enteringallocation companies and accounting cross reference deckcodes for a given meter/well and effective date.206.0FmMeterDetailFormEMSThis form provides for a detail update form on meter/wellinformation within the system.207.0fmMeterListFormEMSThis form provides for a list form of all meters/wells withinthe system.208.0fmMeterRatesDetailFormEMSThis form provides for an entry screen for entering rates(pressure base, Btu factor, pipe/field pressure base, etc.)for a given meter/well on a specific effective date.209.0FmMeterRevenueFormPCCThis form provides a meter/well form that shows graphicrepresentation of calculated volumes and prices.210.0FmMeterTotals ViewFormEMSThis form provides a ‘view’ which is a read-only view of allthe meter totals (actualized versus not actualized) for anentire month). A specific deal OR all deals within a monthcan be viewed through this form.211.0FmMonthlyStatusDetailFormEMSThis form provides a screen for updating the detailproduction month status information. This is where userswill go to change the status for each production month(depending on security level of the user).212.0FmMonthlyStatusListFormEMSThis form provides a grid list of all monthly statusinformation (by status). Options exist here to invoke thedetail update screen to update monthly status information(with appropriate security).213.0fmNetBackTierDetailFormEMSThis form provides the detail form for updating the netbackpricing tiers for a given contract. These tiers arereferenced (for all WASP classified deals) during thepricing function.214.0FmOGISFeedsFormEMSThis form provides an entry form for specifying theparameters used to create the OGIS journal entry andrevenue receivable accounting feeds. The actual text filesare created from this form.215.0FmPickACompanyFormEMSThis form provides a common mechanism for displaying aPCClist of companies to a user and having one of themselected and carried back to the requesting form.216.0FmPickAContactFormEMSThis form provides a common mechanism for displaying alist of contacts to a user and having one of them selectedand carried back to the requesting form.217.0FmPickAContractFormEMSThis form provides a common mechanism for displaying alist of contracts to a user and having one of them selectedand carried back to the requesting form.218.0FmPickADealFormEMSThis form provides a common mechanism for displaying alist of deals to a user and having one of them selected andcarried back to the requesting form.219.0FmPickADealMeterFormEMSThis form provides a common mechanism for displaying alist of deal meters to a user and having one of themselected and carried back to the requesting form.220.0FmPickALegFormEMSThis form provides a common mechanism for displaying alist of leg (monthly routes) to a user and having one ofthem selected and carried back to the requesting form.221.0FmPickALegRefFormEMSThis form provides a common mechanism for displaying alist of LegRef (master routes) to a user and having one ofthem selected and carried back to the requesting form.222.0FmPickALegSaleFormEMSThis form provides a common mechanism for displaying alist of sales points available for routing to a user andhaving one of them selected and carried back to therequesting form.223.0FmPickAMeterFormEMSThis form provides a common mechanism for displaying alist of meters/wells to a user and having one of themselected and carried back to the requesting form.224.0FmPickAPipelineFormEMSThis form provides a common mechanism for displaying alist of pipe/fields to a user and having one of them selectedand carried back to the requesting form.225.0fmPickAReportFormEMSThis form provides a common mechanism for displaying alist of reports to a user and having one of them selectedand carried back to the requesting form.226.0FmPipeDetailFormEMSThis form provides the detail update form for updatingpipe/field information on the system.227.0fmPipelineActualsFormEMSThis is the main form used for enter actual volumes formeters/wells on the system. The form includes acalculator function for propagating the volumes across alldays for the highlighted meter/well.228.0fmPipeListFormEMSThis form provides the list form to show all pipe/fieldscurrently defined within the system. Options exist on thisform to add, update or delete a pipe/field.229.0FmPriceComponentsDetailFormEMSThis form provides the screen for updating the detail ‘pricetags’ that have been setup on the system. These pricetags allow us to identify the various portions of a sale orpurchase price.230.0FmPriceComponentsListFormEMSThis form provides a grid list of all price components (tags)that have been setup on the system.231.0fmPriceIndexUpdatesFormEMSThis form provides a list of all prices for the daily indexPrices. When entering this form the default date is set tothe current date. When prices are being entered on‘Mondays’ there is a ‘copy to previous weekend’ buttonwhich will allow for all prices to be propagated back to theprevious weekend. Monthly index prices are entered onday 1 only for a given month.232.0FmPriceIndicesDetailFormEMSThis form provides a screen for updating the price indexinformation on the database (IndexRef table). Thisincludes display order, name, etc.233.0FmPriceIndicesListFormEMSThis form provides an ‘updateable’ grid list that shows allprice indices on the system. Options exist here to invokethe add/update function (fmPriceIndicesDetail).234.0fmPricesByIndexListFormEMSThis form provides a graphic and tabular view of indexPCCprices for a given month.235.0FmPrinterDetailFormEMSThis form provides a detail entry form for updating theprinter information stored on the system.236.0fmPrinterListFormEMSThis form provides a list form that shows all printerscurrently defined on the system.237.0FmProcessingCodesDetailFormEMSThis form provides the detail form for updating a given setof reference (processing codes).238.0FmProcessingCodesListFormEMSThis form provides the list form for showing all of theprocessing codes. Options exist on this form to add,update or delete a given code.239.0FmProcessingCodesPickFormEMSThis form provides an ability to ‘pick’ a particular referencecode and send it back to the form that invoked the screen.240.0FmProcessingCodeTypesDetailFormEMSThis form provides the detail form for updating a given setof processing code types (types of reference codes).241.0fmProcessingCodeTypesListFormEMSThis form provides the list form for showing all of theprocessing code types. Options exist on this form to add,update or delete a given type.242.0FmProdVolCofirmsFormEMSThis form provides the mechanism for recognizing volumesthat were returned by producers. In addition, options existon this form to send out producer confirmations.243.0FmProdVolHistFormEMSThis form provides a history list of royalty and makeuppercentage interests, by the owner, for a given meter/well.244.0FmProdVolListFormEMSThis form provides the mechanism for entering initialvolumes (expected availability) from producers. Optionexist on this form to send out producer availability estimatereports.245.0FmReportDefaultsDetailFormEMSThis form provides a detail screen for setting up the defaultreports that will be used by entity, product and service onthe system. These reports include invoices, vouchers,remittance, etc.246.0FmReportDefaultsListFormEMSThis form provides a list screen for showing all of thedefault reports that are setup by entity, product and serviceon the system. These reports include invoices, vouchers,remittance, etc.247.0FmReportOverridesDetailFormEMSThis form provides a detail screen for setting up theoverride reports that will be used by entity, product andservice on the system ASSOCIATE TO A SPECIFICCONTRACT. These reports include invoices, vouchers,remittance, etc.248.0FmReportsListFormEMSThis is the primary form used for displaying a reportingPCCfolder. Within this folder are all of the reporting ‘tabs’ thatare available. Within each tab are all of the specific reportsthat can be run. A submission, and view button areavailable here.249.0FmReportsParametersFormEMSThis is the form that is used when entering the variousPCCparameters when a report is submitted. Defaults areautomatically supplied and the parameters are listed in agrid list format.250.0fmReportsViewFormEMSThis is the main view form for viewing all of the submittedPCCreports. Options exist to view the reports specificallysubmitted by a user OR to view the reports that weresubmitted by the scheduler.251.0fmSecurityAuthDetailFormEMSThis form represents the form for establishing and updatingsecurity authorizations between users and businessfunctions within the Energy Management System. Optionsexist here to allow for users to have NO ACCESS, READONLY, READ/UPDATE, READ/UPDATE/DELETE orSUPER access to a particular area of application.252.0fmSecurityAuthListFormEMSThis form provides a listing of all security authorizationsthat are set for each user on the Energy ManagementSystem. Options exist on this form to add, update anddelete specific security authorizations for any given user ofthe system.253.0FmsRptsinvoiceFormEMSThis is the primary form used for submitting standardinvoice reports.254.0FmsRptsRemittanceFormEMSThis is the primary form used for submitting standardremittance reports.255.0fmsRptsVoucherFormEMSThis is the primary form used for submitting standardvoucher reports.256.0FmTransactionDetailFormEMSThis form provides for the entry of ‘Other Cost’ transactionswithin EMS. Once these transactions are setup in thesystem, then they can be attached to deals andcalculations will be done against them.257.0FmTransactionListFormEMSThis form provides a list of all the ‘Other Cost’ transactionsthat have been setup on the system.258.0fmUserProfilesDetailFormEMSThis form represents the creation and update form for allusers on the Energy Management System. This formprovides an administrator with the ability to change name,password, title, default printer, etc. for all users on thesystem.259.0fmUserProfilesListFormEMSThis form provides a listing of all users that are capable ofusing the Energy Management System. Options exist onthis form to add, update or delete a specific user.260.0fmGasControlMainMenuFormEMSThis form represents the main menu for the EnergyManagement System. All menu options, speed buttons,etc are stored on this form. This particular form is alsoresponsible for invoking the methods to establish aconnection and set the form screen attributes (based onuser preferences).261.0fmProducerControlCenterMainFormPCCThis form represents the main menu for the ProducerControl Center. All menu options, speed buttons, etc arestored on this form. This particular form is also responsiblefor invoking the methods to establish a connection and setthe form screen attributes (based on user preferences).



APPLICATION (CLIEN-SIDE) SOFTWARE

[0107] The table that follows contains the high-level documentation related to the systems and methods provided by the present invention and, in particular, those sub-functions and applications that run client-side in the context of the present invention. In the table that follows, the terms EMS and PCC are used to differentiate (as described above), between a full use application system and a limited use/user/function application system that are provided by the present invention. The actual source code for such application software is contained among the files found on the attached compact disc.



PRICING AND PRICING TECHNIQUES

[0108] So far in the aforementioned detailed discussion the present invention, it has been assumed that the particular pricing techniques may be employed to price one or more fuel deals automatically. The present invention certainly permits fuel deals to be priced based on a variety of factors germane to the energy field. Additionally, the systems and methods provided by the present invention permit fuel deals to be priced automatically, in batch or otherwise, based on pricing techniques which are modularized and which are carried out automatically based on prior or other collections of fuel deals and other fuel deal data. Accordingly, teams of sales personnel can have deals priced based on company specifications to meet margin requirements, etc.


[0109] One such technique implemented as a modularized process capable of pricing one or more fuel deals in accordance with the present invention is referred to as the WASP technique which stands for the Weighted Average Selling Price technique. WASP permits one or more fuel deals (usually a collection) to be priced to meet organization pricing targets (and margin requirements) based on computed average sales prices across collections of fuel deals. The WASP technique and its supporting computer software are contained herein for purposes of example to illustrate the novelty of having a system that can incorporate a substitutable pricing technique (algorithm) into a business process like or similar to the one depicted in and discussed in regard to FIG. 1.



The WASP Calculation

[0110] This particular section contains information on the calculation that occurs to price deals. In the context of the present invention, it is envisioned that there are three situations that can trigger a pricing calculation:


[0111] 1. The price calculation can be submitted at any time by individuals with appropriate security using the System online pricing screen (see FIGS. 4A-4Q). Only those production months in a ‘Sales’ (nomination recalculated) or ‘Invoiced’ (actual recalculated) status can be submitted through this screen;


[0112] 2. When the status for a production month goes from ‘Sales’ to ‘Invoiced’ a final nomination is performed. In addition, when the status of a production month goes from ‘Invoiced’ to ‘Accounting’ a final actuals calculation is performed. These production month status ‘promotions’ occur through the EMS online screens (by individuals with an appropriate level of security); and


[0113] 3. Each evening, for example, all production months that are in either the ‘Sales’ or ‘Invoice’ status will have a calculation cycle run for them. This calculation begins at approximately 8:00 CST, for example. This ensures that all variables (price index entries, volumes, routing instructions, etc.) that could influence the price of a given set of deals are recalculated and presented as current, the first thing in the morning.


[0114] The entire calculation process is comprised entirely of MS SQL-Server Transact-SQL stored procedures. The ‘flow’ of the calculation can be described with reference to the following six (6) stages:


[0115] Stage 1. Sales Deal Calculations


[0116] Calculate all sales deals first (all pools and deal classifications). This is done because knowing the sales prices (by pool) is required for the following purchase deal calculations.


[0117] Stage 2 WASP Deal Preparation


[0118] This particular stage simply prepares the WASPResolvedRouting table with initial sales pool total dollars and volumes. This is the primary table that is used when repeatedly (such as via iteration) tracing all volumes from the sales point back to originating purchase points.


[0119] Stage 3 Purchase Deal ‘None’ Pool (3rd Party) Calculations


[0120] All third party purchase deals (belonging to the ‘None’ (pool) are calculated first. The reason for this is because of the potential that some of these deals having Financial Overrides that are to be distributed to either a ‘Common’ WASP pool OR to a specific deal. By doing these calculations first, the profit gain or loss (for the financial overrides) can be determined and posted to the appropriate place in the WASPResolvedRouting table.


[0121] Stage 4 Purchase Deal ‘Dedicated’ Pool (Sanctioned Sales) Calculations


[0122] All sanctioned sales purchase deals are now calculated. The price for these purchases is driven based on a weighted average basis of the sales meters. Sanctioned sale purchase exist in their own pool (‘Dedicated’) so that no other purchases volumes (and sales of those volumes) will impact the price calculated. Netback percentages are applied.


[0123] Stage 5 Purchase Deal ‘Common’ Pool (Equity) Calculations


[0124] All equity deals are then calculated. The price for these purchases is driven based on a weighted average basis of the sales meters. All purchases that are classified as ‘equity’ will share in pricing and costing (weighted). The pricing is based on the ‘common’ body. Any given purchase deal classified as equity could potentially impact the price that other purchase deals (in the ‘common’ pool) calculates. Netback percentages are applied.


[0125] Stage 6 Transportation Costs


[0126] This stage of the calculation aggregates all of the transport volumes throughout the month to special transport deals and volume inventory items.


[0127] Each of the aforementioned stages of the calculation are invoked from a stored procedure called usp_PSPriceAutoMonth. FIGS. 5A and 5B illustrate the process flows corresponding to these ‘stages’ and the flow of the stored procedures (discussed above) invoked during the calculation. The ordering of these procedures can be tied back to the stages just described above. Actual WASP calculation routines are listed below to aid the reader to completely understand the nature using a predetermined pricing technique in accordance with the present invention.



Weighted Average Sales Price Calculation Routines

[0128] The following software routines implement a weighted average sales pricing technique that may be incorporated within a computing environment such as within a server-side processing system to facilitate fuel deal pricing in accordance with a preferred embodiment of the present invention. Accordingly, in the context of the instant invention, the following routines provide a predetermined pricing technique for pricing fuel deals based on past, present, or future deals, or combinations thereof. The following routines are found among the files contained on the attached compact disc, and also have been commented to assist those of ordinary skill in the art understand the details related to actual implementation.



ADDITIONAL FEATURES

[0129] The present invention has been disclosed, illustrated, and described in relation to a client-server application that facilitates pricing and distribution of fuel to a customer. Although centralized data storage and manipulation is preferred in regard to the version of the system that has been provided, the inventors contemplate other applications and enhancements that certainly are within the scope of the present invention. For example, the present invention relies on data inputs and feeds from a variety of entities such as producers, transporters, etc. Although such data inputs are often entered manually into the systems provided by the present invention, such data inputs could be automatically delivered and stored within data store 106 (FIG. 2). For example, transporters controlling actual meters along a gas pipeline, for example, could be outfitted with remote sensors and transmitters that provide shipment volume, etc. details directly to the systems provided by the present invention. Moreover, data inputs such as indexing datum used to drive pricing, etc. may be similarly obtained. And, since such data inputs can come from a variety of sources, modern communications technologies such as the Internet, wireless technologies, etc. could all be used to couple an operator of the systems and methods provided by the present invention with such sources. Accordingly, the present invention is not limited to any particular data retrieval system, topology, method, or paradigm. Those skilled in the art will be immediately able to adapt and modify the underlying data collection capabilities of the systems and methods provided by the present invention to incorporate such new and modern technologies and techniques.


[0130] Finally, it should be noted that the present invention contemplates and provides for an elaborate reporting capability as provided within the software contained on the attached compact disc. Those skilled in the art of computer programming and those familiar with fuel deal management will immediately understand that any number of report may be prepared to suit and satisfy management requirements. The database tables maintained by the present invention certainly support all types of relational type queries that such reports may require.


[0131] Thus, having fully described the present invention by way of example with reference to the attached drawing figures, it will be readily appreciated that many changes and modifications may be made to the invention and to any of the exemplary embodiments shown and/or described herein without departing from the spirit or scope of the invention which is defined in the appended claims.


Claims
  • 1. A method for facilitating sale and distribution of fuel to a fuel customer, comprising the following step: at a server facility, storing store fuel deal data, and processing said fuel deal data to automatically generate pricing data based on said fuel deal data and in accordance with a predetermined pricing technique; at a client facility coupled to said server facility via an electronic data network, permitting a user to enter said fuel deal data and to cause said server facility to store and process said fuel deal data to automatically generate said pricing data; and permitting said fuel to be sold and distributed to a fuel customer via a fuel distribution system based on said fuel deal data and said automatically generated pricing data.
  • 1. The method according to claim 1, wherein said server facility and said client facility are coupled to each other via the Internet.
  • 2. The method according to claim 1, wherein said server facility and said client facility are coupled to each other via open standards based protocols.
  • 3. The method according to claim 1, wherein said server facility includes a data storage facility storing said fuel deal data.
  • 4. The method according to claim 1, wherein said server facility automatically generates said pricing data periodically.
  • 5. The method according to claim 1, wherein said server facility is further configured to be accessed by a plurality of other client facilities simultaneously.
  • 6. The method according to claim 1, wherein said client facility is remotely located away from said server facility and said client facility acts as a data collection point for collecting data that said server facility uses in automatically generating said pricing data.
  • 7. The method according to claim 1, wherein said predetermined pricing technique involves basing prices for fuel deals based on past fuel deals.
  • 8. The method according to claim 1, wherein said predetermined pricing technique involves said server facility generating a weighted average selling price based on prior fuel deals.
  • 9. The method according to claim 1, wherein said predetermined pricing technique is implemented within said server facility as a software module running within said server facility.
  • 10. A method for facilitating sale and distribution of fuel to a fuel customer, comprising the steps of: at a server facility, storing fuel deal data, and processing said fuel deal data to automatically generate pricing data based on said fuel deal data and in accordance with a predetermined pricing technique, said predetermined pricing technique controlling said server facility to compute fuel prices based on weighted averages of fuel prices maintained within said fuel deal data; at a client facility outfitted with a client application and coupled to said server facility via an electronic data network, permitting a user to enter said fuel deal data and to cause said server facility to store and process said fuel deal data to generate said pricing data, said client application configured to access said electronic data network and to establish communications with said server facility; and permitting said fuel to be sold and distributed to a fuel customer via a fuel distribution system based on said fuel deal data and said automatically generated pricing data.
  • 11. The method according to claim 10, wherein said server facility and said client facility are coupled to each other via the Internet.
  • 12. The method according to claim 10, wherein said server facility and said client facility are coupled to each other via open standards based protocols.
  • 13. The method according to claim 10, wherein said server facility includes a data storage facility storing said fuel deal data.
  • 14. The method according to claim 10, wherein said server facility automatically generated said pricing data periodically.
  • 15. The method according to claim 10, wherein said server facility is further configured to be accessed by a plurality of other client facilities simultaneously.
  • 16. The method according to claim 10, wherein said client facility is remotely located away from said server facility and said client facility acts as a data collection point for collecting data that said server facility uses in automatically generating said pricing data.
  • 17. The method according to claim 10, wherein said predetermined pricing technique involves basing prices for fuel deals based on past fuel deals.
  • 18. The method according to claim 10, wherein said predetermined pricing technique involves said server facility generating a weighted average selling price based on prior fuel deals.
  • 19. The method according to claim 10, wherein said predetermined pricing technique is implemented within said server facility as a software module running within said server facility.
  • 20. The method according to claim 10, further comprising the step of providing a graphical user interface to a user of said client facility, said graphical user interface permitting said user to engage in operations and to cause said server facility to automatically computer said fuel prices.