Trapping an Update

flowersoft at compuserve.com flowersoft at compuserve.com
Sat Dec 4 21:34:21 PST 2010


And if not in 5.6...

@keyH if:
Then: inputpw pw "Enter Password "
If: pw = "" or pw ne "password"
Then: END
If:
Then: hardcopy;END

-----Original Message-----
From: filepro-list-bounces+flowersoft=compuserve.com at lists.celestial.com
[mailto:filepro-list-bounces+flowersoft=compuserve.com at lists.celestial.com]
On Behalf Of Richard Kreiss
Sent: Saturday, December 04, 2010 11:59 PM
To: 'Bruce Easton'; filepro-list at lists.celestial.com
Subject: RE: Trapping an Update

With 5.6 At line 2 in the example you can use dokey "u" to have filepro run
the normal update.

DOKEY allows one use filepro "reserved' keys for more then what they
previously were reserved for;  using B for a custom browse or the filepro
browse.

I have one application where H-hardcopy is passworded.

@keyH if:
Then: inputpw pw "Enter Password "
If: pw = "" or pw ne "password"
Then: END
If:
Then: dokey "H";END

Check the latest doc's.


Richard Kreiss
GCC Consulting
rkreiss at gccconsulting.net
  






> -----Original Message-----
> From: filepro-list-bounces+rkreiss=verizon.net at lists.celestial.com
> [mailto:filepro-list-bounces+rkreiss=verizon.net at lists.celestial.com] On
> Behalf Of Bruce Easton
> Sent: Saturday, December 04, 2010 11:08 AM
> To: filepro-list at lists.celestial.com
> Subject: Re: Trapping an Update
> 
> Here's another way of doing capturing 'U' to initiate totaling of dummy
fields
> on a special control file screen - without ever putting user in update
mode.
> (If it were up to me, I'd make the user press 'T' for total and let them
always
> think 'U' is reserved for really doing an update to something, but hey.):
> 
>     1 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If: '(input table)
>         Then: end
>     2 -------   -   -   -   -   -   -   -   -   -   -   -   -
> @entsel  If: @sn ne "2"
>         Then: end  'not on totaling scrn, give fp normal ctrl
>     3 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If:
>         Then: cls("22")
>     4 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If:           'could add H/F to this for print opts
>         Then: eb="\r U \r-Total, Screen Number, \r X \r-Exit"
>     5 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If:           'allow U, X or another valid scrn#
>         Then: errorbox ("22","") eb,"","UX13"
>     6 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If: @sk eq "BRKY"   'ignore cancel key
>         Then: goto @entsel
>     7 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If: @bk eq "X"      'wants to exit
>         Then: pushkey "X"; end
>     8 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If: @bk ne "U"      'wants to go to another scrn#
>         Then: pushkey @bk; end
>     9 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If:   'fell thru - U pressed--total dets into 'tl'
>         Then: tl(10,.0)=""
>    10 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If:
>         Then: lookup dets = totdetails@  k=("BBB") i=A -nx
>    11 -------   -   -   -   -   -   -   -   -   -   -   -   -
> detsloo  If: not dets           'done totaling BBB
>         Then: display; goto @entsel
>    12 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If: dets(1) ne "BBB"   'done totaling BBB
>         Then: display; goto @entsel
>    13 -------   -   -   -   -   -   -   -   -   -   -   -   -
>           If:
>         Then: tl=tl+dets(2); getnext dets; goto detsloo
> 
> Here, I'm trying to total all details that match 'BBB' from the file
'totdetails',
> and screen 2 is the 'special' screen with dummy field 'tl'
> to show a total.  This control file also has a screen 1 and a screen 3
where real
> updates to the record can occur.
> 
> Assumptions:
> 
> 1. This is a control file where, for the purposes of this function, only
one
> record needs to be accesssed.
> 2. No writing is necessary to the control file record from the special
screen.
> 
> This could easily be modified to work for several screens of the same
record
> where each had a different set of dummy fields.
> 
> Lines 5-8 could be easily redone with a combo of show statements and
> waitkey I believe to give a more precise look and feel to what you have
now
> (instead of using errorbox).
> 
> I have to wonder, though, why not just do the totaling as soon as someone
> arrives at the special screen (from @entsel and just test for the screen
> number)?  Unless it takes a really long time and they might hit that
screen
> number by mistake.  But even in that case, you could just ask before
starting
> the totaling with a (i.e., yes/no
> errorbox) and then switch/restore a previous screen if they really didn't
> mean to go there.  That would also keep control of this in just @entsel.
> 
> Bruce
> 
> Bruce Easton
> STN, Inc.
> 
> 
> 
> 
> On 12/3/10 11:00 PM, Boaz Bezborodko wrote:
> > I'm sure that many of you probably already have this as a tool in your
> > toolbox, but I figured I'd just share a simple way I used to trap an
> > Update in a specific screen.
> >
> > The core of our software was written about 20 years ago and included a
> > control file that also contained pertinent daily information such as
> > daily and monthly sales totals.  One screen was used to allow you to
> > total up all existing open AR invoices, open AP invoices, and open
> > orders.  It would do this in one screen that contained a slew of dummy
> > variables.  Once we started doing a lot of business that required
> > large amounts of dropship orders (each package requires its own order,
> > invoice, etc.) this record started to get a lot of activity and
> > totaling up these numbers in the screen could freeze other people
> > until the totals were completed and unlocked.  The totaling routine
> > looked at other files and didn't touch anything in the record itself.
> >
> > Obviously totaling from within the record was not a good idea and I
> > wanted to have this done from within @entsel which wouldn't lock the
> > record.  But I didn't want to change the look and feel of the program
> > which entailed that people hit "U" to start the process.  I was
> > thinking of trapping "U" with an @keyU, but that meant that I would
> > have to have a different line to jump to each of the other screens
> > someone might want to update.
> >
> > The solution was to have a @WEF for the first field in this screen's
> > cursor path that looked something like this:
> > @wefaa     if:
> >                   then: DECLARE What_Mode(7,*,g)
> >                       if:
> >                   then: What_Mode="Totals" ; ESCAPE
> >
> > @Entsel     if: What_Mode="Totals"
> >                   then: Gosub (routine) ; What_Mode="" ; GOTO @Entsel
> >
> > Now the users can run this routine to their hearts content without
> > interrupting anyone else.  The @Entsel and "What_Mode" trick I learned
> > from John Esak.
> >
> > Just in case this helps anyone else.
> >
> > Boaz
> > _______________________________________________
> > 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/20101204/730b258e/attachment.html
> _______________________________________________
> Filepro-list mailing list
> Filepro-list at lists.celestial.com
> Subscribe/Unsubscribe/Subscription Changes
> http://mailman.celestial.com/mailman/listinfo/filepro-list

_______________________________________________
Filepro-list mailing list
Filepro-list at lists.celestial.com
Subscribe/Unsubscribe/Subscription Changes
http://mailman.celestial.com/mailman/listinfo/filepro-list



More information about the Filepro-list mailing list