Date: 30-Oct-80 To: Anyone interested Subject: Accounting system From: Thomas J. Mathieu Battelle-Northwest Laboratories Box 999, Richland, Wash, 99352 509-375-3711 The Biometrics accounting system consists of 8 programs which maintain user account information, charge back system usage to those who used the system, and produces usable reports for current process data and year to date data. Of course, the program is totally oriented to the accounting requirements here at BNW, but the programs hopefully are flexible enough to be modified to meet some one else's needs. They are mostly written in Swedish Pascal which is released through the Pascal Users group (now, Structured Languages Users Group). The BNW finance system centers around 6 character work order numbers such as 'A12345'. Each work order is assigned to a cost center or organization normally 5 characters. An example is 'D7H56'. All work done on the Biometrics computer must be charged back to a work order. The only exception is the normal system management/programming/maintenace work. We have dummy work orders set up for these which normally have the form 'S8100n' where 81 is the fiscal year and 'n' is assigned to whatever is needed (see ACCOUNTS.DAT). User account names are structured from the user's initials and the work order number. For example, TJMA12345 is the account for user 'TJM' with work order 'A12345'. All user identifying information is kept in ACCUSERS.DAT and all pertinent work order informantion is kept in ACCMWO.DAT. All user account names are maintained in file USERS.CMD which can be used as a command file to create all the accounts. UICs are assigned by section and/or department. Each user optionally can have batch and night time accounts. These are reflected by appending a 'B' or a 'N' to the account name. An example is TJMA12345B or TJMA12345N. This enables the system to charge different, presumably lower, rates for this type of system use. File ACCOUNTS.DAT contains the TOS (or type of sevice) information and is pretty much directly tied to program ACCANAL which does the charging. The first record contains system identification information; the next ones, the TOS information in order for connect minutes, megacoretics, batch connect minutes, batch megacoretics, disk blocks, and money charges. The first record is for the prime time; the second for discount. The system gets data from the UPF by program READUPF. READDIR reads the disk directories and summmarizes disk use by UIC. ACCSUMM combines all the usage data into one record for each user. UIC's are used to match disk use to user accounts. ACCANAL reads the summary data and calculates the charges. ACCCOMBO summarizes the charges for each department and each work order and for the system in general. Normally, this process is run once a week. ACCMNTHLY performs a monthly summary of usage and compares it to cost accounting's version of our charges. The files for each week are renamed with a suffix 'WWY' where WW is the week number of the fiscal year and Y is the last digit of the fiscal year. The fiscal year is set up to run from Oct 1 to Sep 30. The following list summarizes each program: ACCANAL - Weekly cost charging ACCCOMBO - Weekly cost summary ACCSUMM - Weekly usage summary READUPF - Weekly usage calculation READDIR - Weekly disk calculation NEWUSER - Maintain user accounts file (USERS.CMD) ACCUPDATE - Maintain user and work order accounts ACCMNTHLY - Monthly system usage summary There is a batch command file to build each program. @ACCOUNT runs the weekly accounting run. UICs should be checked in all programs and command files. The system is designed to run more than one computer system per center. The programs ACCMNTHLY and ACCCOMBO were designed to support multiple systems and have been used here in that fashion. They will summarize the usage in each system and the total for all systems. Line width may limit the max to 3 or 4 such systems. Headings may have to be adjusted. Some of the programs have evolved over three years and may reflect that. Some are new and thus are easier to follow. Good luck. You can call if you have questions, but I won't be able to return any long distance calls so keep trying.