Fwd: command line process

scooter6 at gmail.com scooter6 at gmail.com
Thu May 13 06:51:18 PDT 2021


Thanks for the insight on this Nancy - very useful information for me

Scott

On Wed, Mar 31, 2021 at 11:17 AM Nancy Palmquist via Filepro-list <
filepro-list at lists.celestial.com> wrote:

>
> What I think could cause an issue is that you should never select using
> an index that is built on something you plan to change.
>
> I would say that when you change entries in the index and save the
> record your place in the index also changes.
>
> I would affect these changes by sitting in one place, do a lookup to
> each file using the index for the account number like this:
>
>
> I want to change 10000-00001  to 10000-00001-1
>
> I would not do this by selecting the records and changing them one at a
> time in a report, I would sit on one record, I usually do this in clerk
> - where is not important but maybe the customer definition record and do
> the following:
>
> loop1
> lookup filename k=("10000-00001  ") i=a -nxp
> if not filename
> end
> if "10000-00001~" eq filename(1){"~"  then filename(1)="10000-00001
> -1";write filename
> '  now that just moved the record to another place in the index since
> index A is built on the 13 characters of the account number.
> 'so now all I have to do is repeat this logic until I find no more
> entries to change.
> 'It is important to include the spaces in the key used in the lookup but
> I also test to make sure I am finding the right thing before I make a
> change to the data.
>
> goto loop1
>
> By this method, you can sit on that one record and make all the account
> number changes in all the files that need to be updated in just a few
> loops.  Now I used data, but you might use variables of course.  I just
> thought it would be clearer with literal data.
>
> This logic is also worthwhile to delete all associated records.  Say I
> want to purge all my files of one invoice number, I would do the same
> type of logic.  Or I want to archive all the stuff related to one
> customer or one invoice.  The indexes are wonderful in this regard.  It
> has to be an automatic index, since it is updated as you go.  This is
> also much faster that running reports on each file you want to fix.
>
>
> Nancy
>
>
> On 3/30/2021 3:55 PM, scooter6--- via Filepro-list wrote:
> > So apparently it's necessary to make  fa  a global in  changeacctnumsel
> > It works if I put     fa(11,allup,g)=@px     and then run
> >   /u/appl/fp/dreport filename -f changeacctnum -rx 10000-00001 -u -a -v
> > changeacctnumsel -ia
> >
> > FYI
> >
> >
> >
> >
> > ---------- Forwarded message ---------
> > From: scooter6 at gmail.com <scooter6 at gmail.com>
> > Date: Tue, Mar 30, 2021 at 11:34 AM
> > Subject: command line process
> > To: filePro Mailing List <filepro-list at lists.celestial.com>
> >
> >
> > I have the following
> >
> > /u/appl/fp/rreport filename -f changeacctnum -u -a -v changeacctnumsel
> -ia
> >
> > (Index A is the field to be changed)
> >
> > changeacctnumsel looks like this
> >
> > If:  fa=""
> > Then: input fa(11,allup) "Enter acct to change"
> >
> > If: 1 lt fa
> > Then: lookup -  k=fa    i=A  -eg
> >
> > If: 1 gt fa
> > Then: la(11,allup)="99999-99999"
> >
> > If: 1 gt fa
> > Then:  lookupu -  k=la   i=A -el
> >
> > If: 1 lt fa
> > Then: end
> >
> > If: 1 gt fa
> > Then: end
> >
> > If:
> > Then: select
> >
> > This works perfectly - my processing  changeacctnum runs fine and does
> what
> > I want it to do
> >
> > However, if I change the first line to be :
> >
> > If:
> > Then:  fa(11,allup)=@px
> >
> > ...and rest of code is the same, and I run this from the command line
> >
> > /u/appl/fp/dreport filename -f changeacctnum -rx 10000-00001 -u -a -v
> > changeacctnumsel -ia
> >
> > I get no errors but it doesn't do what  changeacctnum processing is
> > supposed to do
> >
> > I have tried it with "10000-00001" in quotes also but same result
> >
> > What I'm trying to do is write a process that will change acct number if
> > there needs to be an 'associate' account number - so the field in
> question
> > is actually 13 characters long
> > So I'm wanting to change all records it finds that are  10000-00001 to
> > 10000-00001-1
> > As I said, this works fine if changeacctnumsel doesn't try to use @px but
> > there are several files I need to add the -1 to so rather than someone
> > having to input the account number multiple times, I'm trying to pass it
> as
> > -rx flag to the other files so user inputs 10000-00001 just once and it
> > makes changes to all pertinent files
> >
> > What am I missing here?
> >
> > thanks
> >
> > Scott
> > PDM
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: <
> http://mailman.celestial.com/pipermail/filepro-list/attachments/20210330/59488ba1/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         MOS & filePro Training Available
> Virtual Software Systems    Web Based Training and Consulting
> PHONE: (412) 835-9417           Web site:  http://www.vss3.com
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://mailman.celestial.com/pipermail/filepro-list/attachments/20210331/5d3fc375/attachment.html
> >
> _______________________________________________
> Filepro-list mailing list
> Filepro-list at lists.celestial.com
> Subscribe/Unsubscribe/Subscription Changes
> http://mailman.celestial.com/mailman/listinfo/filepro-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.celestial.com/pipermail/filepro-list/attachments/20210513/5c0fda73/attachment.html>


More information about the Filepro-list mailing list