* *************************** DNPACK COMMAND FILE ************************** * * dNAMES 1.1 * (c) Copyright 1982 Data Based Solutions * All Rights Reserved * **************************************************************************** &era STORE ' ' TO abort SET colon ON SET inte OFF @ 10,15 SAY '! ! ! THIS WILL DESTROY ALL DELETED RECORDS ! ! !' SET inte ON @ 12,9 SAY 'You need not "pack" every time you delete a few records.' @ 13,9 SAY 'Only when you feel the deleted records are beginning ' +; 'to take' @ 14,9 SAY 'to much space in the files should you "pack" your files.' @ 15,9 SAY 'Do not plan on using computor for a few minutes if ' +; 'you decide' @ 16,9 SAY 'to "pack".' @ 18,9 SAY 'Type "P" to PACK or to ABORT. ' GET abort &con READ &coff SET colon OFF SET inte ON IF !(abort)#'P' &era RETURN ENDIF &era SET inte OFF @ 10,20 SAY "RELAX... I'll be done in a few minutes." USE &a1 @ 12,0 SAY 'Packing deleted records in the '+$(dsk,2,1)+':DNN.DBF file.' PACK SELECT seco USE &b1 @ 13,0 SAY 'Packing deleted records in the '+$(dsk,2,1)+':DNC.DBF file.' PACK SELECT PRIMARY LOCATE FOR code= '*' SELECT seco USE &c1 INDEX &c2 SELECT PRIMARY @ 14,0 SAY 'Updating records in the '+$(dsk,2,1)+':DNMC.DBF file.' DO WHILE .not.eof STORE # TO newnumber STORE str(no,5) TO nnn SELECT seco FIND &nnn IF no=cno REPLACE cno WITH newnumber ELSE LOCA for cno=no IF no=cno REPLACE cno WITH newnumber ENDIF ENDIF SELECT PRIMARY CONTINUE ENDDO WHILE .not.eof @ 15,0 SAY 'Updating records in the '+$(dsk,2,1)+':DNN.DBF file.' REPLACE ALL no WITH # SELECT seco USE &c1 @ 16,0 SAY 'Packing deleted records in the '+$(dsk,2,1)+':DNMC.DBF file.' PACK @ 17,0 SAY 'Indexing the DNMC.DBF file to '+$(dsk,2,1)+':DNXMC.NDX.' INDEX ON cno TO &c2 SELECT PRIMARY GO BOTTOM STORE # TO mno STORE ' ' TO headname STORE ' ' TO headdate @ 18,0 SAY 'Indexing the DNN.DBF file to '+$(dsk,2,1)+':DNXN.NDX.' INDEX ON $(name,1,20) TO &a2 USE &b1 @ 19,0 SAY 'Updating records in the '+$(dsk,2,1)+':DNC.DBF file.' REPLACE ALL nno WITH # @ 20,0 SAY 'Indexing the DNC.DBF file to '+$(dsk,2,1)+':DNXC.NDX.' INDEX ON phone TO &b2 SELECT seco USE &b1 INDEX &b2 SELECT PRIMARY USE &a1 INDEX &a2 SET INTE ON RELE abort,newnumber,nnn RETURN