COM Written by David Coderre
COM Posted to the ACLUser Forum in 2008
COM This script is designed to look for key words from one table to find them in another table.
****** Script Extract_Values_Start **************
set safety off
DIALOG (DIALOG TITLE "User Dialog" WIDTH 501 HEIGHT 479 ) (BUTTONSET TITLE "&OK;&Cancel" AT 370 12 DEFAULT 1 ) (TEXT TITLE "Script to identify all values for a character field and run a series of ACL commands for all records for each unique value" AT 48 76 WIDTH 274 HEIGHT 56 ) (TEXT TITLE "Select table" AT 36 208 ) (ITEM TITLE "f" TO "_infile" AT 132 204 WIDTH 214 HEIGHT 132 ) (TEXT TITLE "cc. Dave Coderre 2005" AT 312 400 ) (TEXT TITLE "1. Select table used to determine unique values" AT 48 148 )
OPEN %_infile%
DIALOG (DIALOG TITLE "User Dialog" WIDTH 485 HEIGHT 351 ) (BUTTONSET TITLE "&OK;&Cancel" AT 370 12 DEFAULT 1 ) (TEXT TITLE "2. Select field to use to determine unique values" AT 24 88 WIDTH 191 HEIGHT 35 ) (ITEM TITLE "C" TO "_infield" AT 144 144 WIDTH 215 HEIGHT 163 )
Classify on %_infield% to zzz_Temp OPEN
count
ctr=1
DIALOG (DIALOG TITLE "User Dialog" WIDTH 463 HEIGHT 291 ) (BUTTONSET TITLE "&OK;&Cancel" AT 370 12 DEFAULT 1 ) (TEXT TITLE "3. Select table to open" AT 48 88 ) (TEXT TITLE "ACL commands will be run for all records meeting each unique value of previously selected field" AT 24 28 WIDTH 305 HEIGHT 35 ) (ITEM TITLE "f" TO "_infile" AT 180 120 WIDTH 166 )
Open %_infile%
DIALOG (DIALOG TITLE "User Dialog" WIDTH 477 HEIGHT 334 ) (BUTTONSET TITLE "&OK;&Cancel" AT 370 12 DEFAULT 1 ) (TEXT TITLE "Build filters - one per unique value" AT 12 64 ) (TEXT TITLE "4. Select field to filter on" AT 60 124 ) (ITEM TITLE "C" TO "_infield2" AT 132 156 WIDTH 241 )
DIALOG (DIALOG TITLE "User Dialog" WIDTH 477 HEIGHT 334 ) (BUTTONSET TITLE "&OK;&Cancel" AT 370 12 DEFAULT 1 ) (TEXT TITLE "Save results" AT 12 64 ) (TEXT TITLE "5. Specify output file name" AT 36 136 WIDTH 142 HEIGHT 17 ) (EDIT TO "outfile" AT 204 132 WIDTH 157 )
Open zzz_temp
count
do Extract_Values while ctr<=count1
open %outfile%
delete zzz_temp.fil ok
delete format zzz_temp ok
delete ctr ok
Set safety On
******* Script Extract_Values *******
open zzz_temp
locate record ctr
_Filt_val=%_infield%
OPEN %_infile%
Set Filter Find(Alltrim('%_filt_val%'),%_infield%)
extract ALL to %outfile% APPEND
ctr=ctr+1