DEFINITION MODULE DBFCustomer; FROM ModBase3 IMPORT DBFile; FROM DBIndxes IMPORT DBIndex; FROM NumTypes IMPORT Real8; FROM DateFunctions IMPORT Date; TYPE CustomerRec = RECORD CIN : ARRAY[0.. 10] OF CHAR;; (* *) NAMEIDX : ARRAY[0.. 40] OF CHAR;; (* *) NAME : ARRAY[0.. 40] OF CHAR;; (* *) NOTES1 : ARRAY[0.. 40] OF CHAR;; (* *) NOTES2 : ARRAY[0.. 40] OF CHAR;; (* *) NOTES3 : ARRAY[0.. 40] OF CHAR;; (* *) AMTOUT : Real8; (* *) LASTINV : Date; (* *) YTDPURCH : Real8; (* *) SALESREP : ARRAY[0.. 10] OF CHAR;; (* *) CONTACT : ARRAY[0.. 20] OF CHAR;; (* *) PHONENBR : ARRAY[0.. 18] OF CHAR;; (* *) FAXNBR : ARRAY[0.. 15] OF CHAR;; (* *) DATENTER : Date; (* *) SHIPTOA1 : ARRAY[0.. 30] OF CHAR;; (* *) SHIPTOA2 : ARRAY[0.. 30] OF CHAR;; (* *) SHIPTOA3 : ARRAY[0.. 30] OF CHAR;; (* *) SHIPTOZP : ARRAY[0.. 9] OF CHAR;; (* *) BILLTOA1 : ARRAY[0.. 30] OF CHAR;; (* *) BILLTOA2 : ARRAY[0.. 30] OF CHAR;; (* *) BILLTOA3 : ARRAY[0.. 30] OF CHAR;; (* *) BILLTOZP : ARRAY[0.. 9] OF CHAR;; (* *) DISCLEVEL : CARDINAL; (* *) DISCAMOUNT : Real8; (* *) SHIPVIA : ARRAY[0.. 20] OF CHAR;; (* *) TERMS : ARRAY[0.. 20] OF CHAR;; (* *) LIMIT : Real8; (* *) RESALENBR : ARRAY[0.. 15] OF CHAR;; (* *) TAXABLE : CHAR; (* *) FREEFRGHT : CHAR; (* *) SALEREPCOM : Real8; (* *) END; VAR CustomerDBF: DBFile; ActCustomerIdx : DBIndex; (* active index for next/prev/first/last cmds*) NameIdx : DBIndex; PROCEDURE MoveCustomerToDBF( REC : CustomerRec); PROCEDURE MoveCustomerFromDBF(VAR REC : CustomerRec); PROCEDURE OpenCustomerDBF(WithIdx : BOOLEAN); PROCEDURE CloseCustomerDBF(); PROCEDURE FindCustomerByName( Key : ARRAY OF CHAR) : BOOLEAN; PROCEDURE NextCustomer () : BOOLEAN; PROCEDURE PrevCustomer () : BOOLEAN; PROCEDURE FirstCustomer (); PROCEDURE LastCustomer (); END DBFCustomer.