SERMAIN.TXT (ACQUISITIONS SYSTEM) Components of the system: The program requires dBase IV to operate. It is assumed that dBase IV is contained in a C:\DBASE directory, that *.prg and *.dbo program files are in a C:\DBASE\ACQ directory and that *.dbf *.dbt and *.mdx data and index files are also in a C:\DBASE\ACQ directory. The DBASE directory should be listed in the PATH command (normally part of the AUTOEXEC.BAT file). The process to call the program would then be: C: {change to C: drive if not there already} CD \DBASE\ACQ {change to directory containing programs} DBASE /t SERMAIN {call dBase & pass it SERMAIN as main program name} { the /t suppresses the dBase copyright screen} PROGRAM file: SERMAIN.PRG (contains all the progamming for - creation & searching of titles - adding payment data - checking in serial issues - reporting/administration) **** WARNING At this time the serial check-in function is not in use, and has never been fully tested or completed. Primarily it still needs a prediction function, and the Supplier list needs to be utilized in sending claim letters **** dBase as part of its operation will compile the program source code (the .PRG file) and will create a .DBO file with the same name, i.e. the executable version of NEWMAIN.PRG will be NEWMAIN.DBO. Organization of DATA files: There are three types of files in the group of files that contain data. They are: DATA files with file names ending in .DBF NOTES files with file names ending in .DBT INDEX files with file names ending in .MDX Specific Serials Files Are: SERHEAD.DBF (database of serial 'header' information) SERHEAD.DBT (notes data, if used, for each serial header) SERHEAD.MDX (indexing for above data) SERDATA.DBF (database of serial payments) SERDATA.MDX (indexing for payments) SERBUDG.DBF (database of annual budget allocations by library & fund) SERCHK.DBF (database of serial check-in data) SERCHK.MDX (indexing for check-in data) SERCHKDF.DBF (definitions of possible serial types for each header) SERCHKDF.MDX (indexing for definition database) (In Joint Use by the New Titles Program and the Serials Program is the Supplier List in SUPPLIST.DBF) The .MDX files can be reconstituted by the program from data contained in the .DBF and .DBT files. If the latter two types of data files are lost, the data will be lost, a reliable procedure for backing up the data is vital. Modifying the Program Source Code: The source code, i.e. the .PRG file, may be freely modified. To do this use either any text editor (a word processor in ASCII mode), or use the built-in text editor in dBase. If using the latter option, and assuming the directory and path structure is as above, change directory to C:\DBASE\ACQ and call the dBase program with the command DBASE, at the dBase dot prompt, enter MODIFY COMMAND SERMAIN. To exit from the dBase editor and save any modifications press Ctrl-End. To exit from dBase enter QUIT. The SERMAIN.PRG file contains an area at the beginning of the program which can usefully be modified. This part of the program contains such information as the library name, and various paths for the program to locate data and program files. Setting the Date from the Main Menu: Many parts of the program rely on the system clock being set to the correct date. If the computer used to run the program does not have a built-in clock, then when the Main Menu is first accessed, the option to Modify Date should be chosen to correct the date. This procedure will not affect the system clock, the new date will only be active until the acquisitions program session is terminated. Menu Choices: At any Menu Choices that require single character responses, typically numbers 1 through 9, there will be a default option shown, that default may be selected by the ENTER key or by the F10 key. Pressing a character that is shown on the menu as an acceptable response will be immediately accepted, the ENTER key should not be pressed in addition. The F9 key typically works as a command to back out of a menu screen. Reindexing Periodically the databases should be sorted and reindexed, this reduces the size of the index files, increases efficiency and arranges the data in correct title order. Reindexing is an option in the database maintenance part of the menu structure. Always backup the data prior to reindexing. Reindexing may clear up problems such as the program freezing in the middle of operations. Should there ever be a loss of the indexing files, to reindex, run the program and ignore any error messages, continue through to the database maintenance part of the program and reindex. Database Structure : Of the 10 work areas supplied by dBase, the program places the active databases in the following work areas: Area 1. SERHEAD.DBF (contains fixed data on titles + access to headnumb) Field Name Type Width 1 HEADNUMB Numeric 5 2 TITLE Character 70 3 PUBLISHER Character 30 4 SUPPLIER Character 30 5 FUND Numeric 2 6 NOTES Memo 10 Area 2. SERDATA.DBF (contains payment data) Field Name Type Width 1 DATANUMB Numeric 5 2 MATERIAL Character 45 3 QTY Numeric 2 4 PAID Date 8 5 COST Numeric 8 2 (Decimals) 6 LIBRARY Character 1 7 DATAFUND Numeric 2 Area 3. SERCHK.DBF (contains check-in data) Field Name Type Width 1 CHKNUMB Numeric 5 2 CHKTYPENO Numeric 2 3 CHKDATA Character 20 4 CHKCOPY Numeric 3 5 CHKDATE Date 8 6 CHKSEQDATE Date 8 Area 4. SERCHKDF.DBF (contains sub-title definitions & claim times) Field Name Type Width 1 DFNUMB Numeric 5 2 DFTYPENO Numeric 2 3 DFTITLE Character 20 4 DFCLAIM Numeric 3 5 DFFUND Numeric 2 Area 5. SUPPLIST.DBF (contains a supplier name and address list) Field Name Type Width 1 NAME Character 30 2 ADDRESS1 Character 30 3 ADDRESS2 Character 30 4 ADDRESS3 Character 30 Area 7. STATFILE.DBF (will be loaded with data for expenditure reporting) created as a temporary database when needed with a structure of 1 .. MaxFund+1 fields, all numeric Area 8. SERBUDG.DBF (contains budget figures) The order in which the fields occur is of no importance, but the field names MUST follow a fixed pattern. The fund reporting is composed of a possible 26 'LIBRARIES' or source of funding, and a possible 99 'Funds' or allocation categories. There needs to be a field for as many categories as exist in the library. The field names consist of 'LIB' + a single character code assigned for a library e.g. 'F' for Faculty + a number from 1 - 99 for the allocation fund ( such as LIB + F + 3 , with no spaces). The highest fund number is determined in the SERMAIN.PRG by the MaxFund variable which needs to be reset with a text editor to the highest number in use. For funds 1 - MaxFund there must also be fields called 'FUNDNAME' + fundnumber, e.g. FUNDNAME1 or FUNDNAME12 with the description of the fund. To create a new SERBUDG.DBF file enter dbase at the dot prompt by typing DBASE at the DOS prompt (ESC to the dot prompt if necessary) and either (a) CREATE SERBUDG.DBF for a new budget file or (b) enter USE SERBUDG EDIT to substantially edit (by inserting and deleting fields) an existing SERBUDG.DBF Field Field Name Type Width Dec 1 BUDGETYEAR Character 7 2 LIBF1 Numeric 10 2 3 LIBF2 Numeric 10 2 4 LIBF3 Numeric 10 2 5 LIBF4 Numeric 10 2 6 LIBF5 Numeric 10 2 7 LIBF6 Numeric 10 2 8 LIBF7 Numeric 10 2 9 LIBF8 Numeric 10 2 10 LIBF9 Numeric 10 2 11 LIBF10 Numeric 10 2 12 LIBF11 Numeric 10 2 13 LIBF12 Numeric 10 2 14 LIBF13 Numeric 10 2 15 LIBF14 Numeric 10 2 16 LIBF15 Numeric 10 2 17 LIBF16 Numeric 10 2 18 LIBF17 Numeric 10 2 19 LIBF18 Numeric 10 2 20 LIBF19 Numeric 10 2 21 LIBF20 Numeric 10 2 22 LIBF21 Numeric 10 2 23 LIBF22 Numeric 10 2 24 LIBF23 Numeric 10 2 25 LIBF24 Numeric 10 2 26 LIBF25 Numeric 10 2 27 LIBF26 Numeric 10 2 28 LIBM1 Numeric 10 2 29 LIBM2 Numeric 10 2 30 LIBM3 Numeric 10 2 31 LIBM4 Numeric 10 2 32 LIBM5 Numeric 10 2 33 LIBM6 Numeric 10 2 34 LIBM7 Numeric 10 2 35 LIBM8 Numeric 10 2 36 LIBM9 Numeric 10 2 37 LIBM10 Numeric 10 2 38 LIBM11 Numeric 10 2 39 LIBM12 Numeric 10 2 40 LIBM13 Numeric 10 2 41 LIBM14 Numeric 10 2 42 LIBM15 Numeric 10 2 43 LIBM16 Numeric 10 2 44 LIBM17 Numeric 10 2 45 LIBM18 Numeric 10 2 46 LIBM19 Numeric 10 2 47 LIBM20 Numeric 10 2 48 LIBM21 Numeric 10 2 49 LIBM22 Numeric 10 2 50 LIBM23 Numeric 10 2 51 LIBM24 Numeric 10 2 52 LIBM25 Numeric 10 2 53 LIBM26 Numeric 10 2 54 FUNDNAME1 Character 20 55 FUNDNAME2 Character 20 56 FUNDNAME3 Character 20 57 FUNDNAME4 Character 20 58 FUNDNAME5 Character 20 59 FUNDNAME6 Character 20 60 FUNDNAME7 Character 20 61 FUNDNAME8 Character 20 62 FUNDNAME9 Character 20 63 FUNDNAME10 Character 20 64 FUNDNAME11 Character 20 65 FUNDNAME12 Character 20 66 FUNDNAME13 Character 20 67 FUNDNAME14 Character 20 68 FUNDNAME15 Character 20 69 FUNDNAME16 Character 20 70 FUNDNAME17 Character 20 71 FUNDNAME18 Character 20 72 FUNDNAME19 Character 20 73 FUNDNAME20 Character 20 74 FUNDNAME21 Character 20 75 FUNDNAME22 Character 20 76 FUNDNAME23 Character 20 77 FUNDNAME24 Character 20 78 FUNDNAME25 Character 20 79 FUNDNAME26 Character 20 Area 9. [Used as a scratch work area for temporary databases] Indexing : The databases are indexed on the following fields (note that many fields are only indexed on the first 20 characters in each field). SERHEAD.DBF indexed in SERHEAD.MDX Index TAG: XTITLE Key: UPPER(LEFT(TITLE,20)) Index TAG: XSUPPLIER Key: UPPER(LEFT(SUPPLIER,20)) Index TAG: XPUBLISHER Key: UPPER(LEFT(PUBLISHER,20)) Index TAG: XFUND Key: FUND Index TAG: XHEADNUMB Key: HEADNUMB Memo file: = SERHEAD.DBT SERDATA.DBF indexed in SERDATA.MDX Index TAG: XMATERIAL Key: UPPER(LEFT(MATERIAL,20)) Index TAG: XLIBRARY Key: UPPER(LIBRARY)+DTOS(PAID) Index TAG: XQTY Key: QTY Index TAG: XPAID Key: PAID Index TAG: XCOST Key: COST Index TAG: XDATANUMB Key: DATANUMB SERCHK.DBF indexed in SERCHK.MDX Index TAG: XCHKNUMB Key: chknumb Index TAG: XCHKDATE Key: chkdate Index TAG: XCHKDATA Key: upper(left(CHKDATA,20)) Index TAG: XCHKORD Key: str(chknumb,5)+str(chktypeno,2)+str(chkcopy,2) SERCHKDF.DBF indexed in SERCHKDF.MDX Index TAG: XDFNUMB Key: DFNUMB SUPPLIST.DBF indexed in SUPPLIST.MDX Index TAG: XSUPPNAME Key: upper(NAME) Index TAG: XSUPPOTHER Key: upper(OTHERNAME) SERBUDG.DBF (database is not indexed) Password : The Password to enter the reporting program is 1,0,F10 (i.e. the number 10 followed by the F10 key).