MODULE MakeCustomerDBF; (* this program will create the file for Customer *) FROM LowLevel IMPORT Fill; FROM ModBase3 IMPORT InitDBF,OpenDBF,CloseDBF,ReadDBRec, GetField,DBFieldDescriptor,DBFile; FROM DBCreate IMPORT BuildDBF; FROM SYSTEM IMPORT SIZE,ADR; FROM Storage IMPORT ALLOCATE,DEALLOCATE; VAR CustomerDBF : DBFile; PROCEDURE MakeDatabase(); VAR Error : CARDINAL; Desc : POINTER TO ARRAY [1..200] OF DBFieldDescriptor; BEGIN ALLOCATE(Desc, 31 * SIZE(DBFieldDescriptor)); Fill(Desc, 31 * SIZE(DBFieldDescriptor),0); MakeDescriptor( Desc^[ 1], 'CIN', 10, 0, 'C'); MakeDescriptor( Desc^[ 2], 'NAMEIDX', 40, 0, 'C'); MakeDescriptor( Desc^[ 3], 'NAME', 40, 0, 'C'); MakeDescriptor( Desc^[ 4], 'NOTES1', 40, 0, 'C'); MakeDescriptor( Desc^[ 5], 'NOTES2', 40, 0, 'C'); MakeDescriptor( Desc^[ 6], 'NOTES3', 40, 0, 'C'); MakeDescriptor( Desc^[ 7], 'AMTOUT', 10, 2, 'N'); MakeDescriptor( Desc^[ 8], 'LASTINV', 8, 0, 'D'); MakeDescriptor( Desc^[ 9], 'YTDPURCH', 10, 2, 'N'); MakeDescriptor( Desc^[ 10], 'SALESREP', 10, 0, 'C'); MakeDescriptor( Desc^[ 11], 'CONTACT', 20, 0, 'C'); MakeDescriptor( Desc^[ 12], 'PHONENBR', 18, 0, 'C'); MakeDescriptor( Desc^[ 13], 'FAXNBR', 15, 0, 'C'); MakeDescriptor( Desc^[ 14], 'DATENTER', 8, 0, 'D'); MakeDescriptor( Desc^[ 15], 'SHIPTOA1', 30, 0, 'C'); MakeDescriptor( Desc^[ 16], 'SHIPTOA2', 30, 0, 'C'); MakeDescriptor( Desc^[ 17], 'SHIPTOA3', 30, 0, 'C'); MakeDescriptor( Desc^[ 18], 'SHIPTOZP', 9, 0, 'C'); MakeDescriptor( Desc^[ 19], 'BILLTOA1', 30, 0, 'C'); MakeDescriptor( Desc^[ 20], 'BILLTOA2', 30, 0, 'C'); MakeDescriptor( Desc^[ 21], 'BILLTOA3', 30, 0, 'C'); MakeDescriptor( Desc^[ 22], 'BILLTOZP', 9, 0, 'C'); MakeDescriptor( Desc^[ 23], 'DISCLEVEL', 1, 0, 'N'); MakeDescriptor( Desc^[ 24], 'DISCAMOUNT', 4, 2, 'N'); MakeDescriptor( Desc^[ 25], 'SHIPVIA', 20, 0, 'C'); MakeDescriptor( Desc^[ 26], 'TERMS', 20, 0, 'C'); MakeDescriptor( Desc^[ 27], 'LIMIT', 10, 2, 'N'); MakeDescriptor( Desc^[ 28], 'RESALENBR', 15, 0, 'C'); MakeDescriptor( Desc^[ 29], 'TAXABLE', 1, 0, 'C'); MakeDescriptor( Desc^[ 30], 'FREEFRGHT', 1, 0, 'C'); MakeDescriptor( Desc^[ 31], 'SALEREPCOM', 4, 2, 'N'); InitDBF('Customer.DBF',CustomerDBF,0,FALSE,TRUE,FALSE,DefaultFixUp); (* It would be a good to test error.*) Error:=BuildDBF(Desc^, 31,CustomerDBF); CloseDBF(CustomerDBF); DEALLOCATE(Desc, 31 * SIZE(DBFieldDescriptor)); END MakeDatabase; BEGIN MakeDatabase(); END MakeCustomerDBF.