Fwd: command line process

Richard Kreiss rkreiss at gccconsulting.net
Wed Mar 31 12:07:30 PDT 2021


One can build a demand index on the records to be changed and not cause problems since only records with the value to be changed are in the index.  All records will be selected and the value changed.

This is true are the index actually points to the record number. Build  demand index and update  a record with different data then the original and it will still appear in the demand index where it was originally.  This is why drop in a browse is important to avoid having mismatched records show up when a record is deleted and the browse reread.  I had this issue at a client's site as the network and drives got faster.  It was found that to speed up the redisplay of the records in a browse, the sequence was placed in  memory which acted like a demand index(of sorts).  What was happening the billing clerk would delete an order  detail(line) that was not shipped, and the deleted record would be picked up by an order entry clerk and then when the billing clerks browse was re-executed the new order line would appear.  Once I added the drop in which dropped any detail that did not match the order number, the issue disappeared.


Richard Kreiss
GCC Consulting



> -----Original Message-----
> From: Filepro-list <filepro-list-bounces+rkreiss=verizon.net at lists.celestial.com>
> On Behalf Of Nancy Palmquist via Filepro-list
> Sent: Wednesday, March 31, 2021 11:17 AM
> To: filepro-list at lists.celestial.com
> Subject: Re: Fwd: command line process
> 
> 
> 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 --------------
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 16382 bytes
Desc: not available
URL: <http://mailman.celestial.com/pipermail/filepro-list/attachments/20210331/469e1a63/attachment.bin>


More information about the Filepro-list mailing list