DEFINITION MODULE DBFInvoice; FROM ModBase3 IMPORT DBFile; FROM DBIndxes IMPORT DBIndex; FROM NumTypes IMPORT Real8; FROM DateFunctions IMPORT Date; TYPE InvoiceRec = RECORD INVOICE : ARRAY[0.. 10] OF CHAR;; (* Invoice number *) INVDATE : Date; (* Invoce date *) CUSTID : ARRAY[0.. 12] OF CHAR;; (* FK - customer id number *) INVNET : Real8; (* Invoice net *) INVTAX : Real8; (* Invoice Tax *) AMTOUT : Real8; (* Amount outstanding *) TOTALAMT : Real8; (* Invoice discount *) SPORDER : CHAR; (* special order boolean *) HELIUM : CHAR; (* Helium associated with order *) INVDSCNT : Real8; (* special discount *) CUSTPO : ARRAY[0.. 15] OF CHAR;; (* customer's purchase order *) INVPRNT : CHAR; (* Invoice printed Y/N *) INVCLSD : CHAR; (* Invoice closed - no special out *) SHIPDATE : Date; (* Date Shipped *) SALESMAN : ARRAY[0.. 8] OF CHAR;; (* Whodoneit *) TERMS : ARRAY[0.. 20] OF CHAR;; (* terms of invoice *) SHIPVIA : ARRAY[0.. 20] OF CHAR;; (* method of shippment *) SHIPPING : Real8; (* shipping charge *) DFLTLVL : CARDINAL; TAXABLE : CHAR; FREEFRGHT : CHAR; NOTESFOR : CHAR; (* Notes for Inv, Pkg or both *) NOTE1 : ARRAY[0.. 60] OF CHAR;; (* *) NOTE2 : ARRAY[0.. 60] OF CHAR;; (* *) NOTE3 : ARRAY[0.. 60] OF CHAR;; (* *) END; VAR InvoiceDBF: DBFile; ActInvoiceIdx : DBIndex; (* active index for next/prev/first/last cmds*) InvoiceIdx : DBIndex; CustidIdx : DBIndex; PROCEDURE MoveInvoiceToDBF( REC : InvoiceRec); PROCEDURE MoveInvoiceFromDBF(VAR REC : InvoiceRec); PROCEDURE OpenInvoiceDBF(WithIdx : BOOLEAN); PROCEDURE CloseInvoiceDBF(); PROCEDURE FindInvoiceByInvoice( Key : ARRAY OF CHAR) : BOOLEAN; PROCEDURE FindInvoiceByCustid( Key : ARRAY OF CHAR) : BOOLEAN; PROCEDURE NextInvoice () : BOOLEAN; PROCEDURE PrevInvoice () : BOOLEAN; PROCEDURE FirstInvoice (); PROCEDURE LastInvoice (); PROCEDURE PackInvoice(); END DBFInvoice.