a free useful script

Nancy Palmquist Nancy.Palmquist at vss3.com
Mon Dec 15 12:26:58 PST 2014


Richard,

I don't quite understand the requirement for filepro on a *IX system to 
do this.

I am supplying the script I have used forever:
#----------------------------------------------------------------------------------------------------------
#  This routine requires all tables saved in ASCII.
#  Nancy Palmquist  Many Years Ago - Actual Date lost but prior to 2001
#
if test -z "$PFDIR"
         then echo -n "PFDIR(/appl)=";read PFDIR
         fi
#  Program name is really not necessary and can be commented out.
         if test -z "$PFPROG"
         then echo -n "PFPROG(/appl50)=";read PFPROG
         fi
export PFPROG PFDIR
echo Programs $PFPROG  Data $PFDIR
read key
cd $PFDIR/filepro
echo -n "Files to process (use wildcards if necessary) : ";read w
echo -n "Grep for: ";read find
echo -n "Written to /tmp/[ temporary filename] : ";read findnm
 >/tmp/files.print
 >/tmp/grep.$findnm
for x in $w
do
if test -d $x
then
echo scanning process $x for $find
         cd $x
         echo $x >>/tmp/files.print
         for t in `ls prc.*`
         do
                 tbl=`echo $t | sed '1,$s/prc.//'`
                 echo Now searching $x   $tbl
                 echo "--------------------"  $x  $tbl >>/tmp/grep.$findnm
                 grep "$find" $t >>/tmp/grep.$findnm
         done
cd ..
fi
done
less /tmp/grep.$findnm
#----------------------------------------------------------------------------------------------------


Output lists each filename Process table name and then any reference to 
the search term.  So if I wanted to find "invoice" I need to review the 
process table called c_mkinv in this file.

SAMPLE OUTPUT
-------------------- stjob Pending
-------------------- stjob Pendingv
-------------------- stjob automatic
-------------------- stjob c_accesslvl
-------------------- stjob c_mkinv
::lookup inv=invoice r=free -nx:
::lookup inv=invoice r=(invrec) -nxp:
:'add technician to invoice if given:lookup tech=stjobtech k=1 i=a -bxp:
:inv(4) eq "C" or inv(4) eq "B":it=inv(68);'invoice type INVOICE/CREDIT:
:'add line items to invoice - Only need logic that:'happens for an Open 
order:
::'gosub scaninv    this looks to see if line is already on invoice:
-------------------- stjob cleanup
-------------------- stjob getItems
-------------------- stjob getServs

Nancy

On 12/15/2014 1:51 PM, Richard D. Williams wrote:
> To All:
>
> You may already have something like this, but I thought I would share.
> It is the holiday season.
>
> Merry Christmas/Happy Hanukkah to all,
>
> Richard D. Williams
>
> Required: all tables must be ascii format.
> If you need to convert all tables in a file, just do this:
> /appl/fp/rcabe filename -ca
>
> # cat SEARCH_IT
> rm -f /tmp/$LOGNAME.txt
> for file in `ls -1 $1`; do if grep -q "$2" "$file";
>  then echo $file >> /tmp/$LOGNAME.txt; cat $file | grep -n "$2" >> 
> /tmp/$LOGNAME
> .txt; echo "" >> /tmp/$LOGNAME.txt; fi; done;
> vi /tmp/$LOGNAME.txt
>
> i.e.
> [/appl/filepro/r_process_office]# SEARCH_IT "prc.*" "(268)"
>
> yields:
> prc.enter_txoag_job
> 67:::P_PROC(8)=@TD+"30";P_PROC(9)=@TM;P_PROC(268)=@TD+"0";P_PROC(320)="I": 
>
>
> prc.pcp2pcp_owe
> 41:::d(8,yymd)=P_PROC(268)+"0":
> 58::P_PROC(268) ge "05/03/04":w="P_CHG at a":
> 121::P_CLT(116) eq ja and P_PROC(268) ge P_CLT(@CD):amf_client="Y":
> 133::P_PROC(268) ge "05/03/04":w="P_CHG at a":
> 192:::d(8,yymd)=franinv(268)+"0":
> 205::franinv(268) ge "05/03/04":w="P_CHG at a":
> 206::franinv(268) lt "05/03/04":w="P_CHG":
> 214::not amf and P_CLT(116) ne "" and franinv(268) ge P_CLT(@CD) and 
> franinv(214) eq "":jl(9,.)=jl+(famt(n)-(famt(n)-am)):
> 219:::hg(8,yymd)=franinv(268)+"0":
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: 
> <http://mailman.celestial.com/pipermail/filepro-list/attachments/20141215/d5f77a9c/attachment.html>
> _______________________________________________
> Filepro-list mailing list
> Filepro-list at lists.celestial.com
> Subscribe/Unsubscribe/Subscription Changes
> http://mailman.celestial.com/mailman/listinfo/filepro-list
>

-- 
Nancy Palmquist
Owner
Virtual Software Systems - www.vss3.com
(412) 835-9417



More information about the Filepro-list mailing list