Alpha Video Training
Results 1 to 9 of 9

Thread: field rule post vs. <tbl>.post()

  1. #1
    Member
    Real Name
    Tom Campbell
    Join Date
    Sep 2000
    Posts
    149

    Default field rule post vs. <tbl>.post()

    I have an amount field that posts(field rules) up to a cust_hdr table. This works as advertised. Even if after data entry is completely completed (ie. record is saved) you then delete the record, 'undo on delete' works as well.

    My problem:
    Insofar as field rules posting is 'real time' and does NOT actually happen after the record is saved, how do I back off a post if we cancel() out of data entry?

    Conversely, if I put the posting on the save button using xbasic, how then do I un-post a record that has been saved and is now being deleted?

    TIA
    Tom C

  2. #2
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,310

    Default RE: field rule post vs. <tbl>.post()

    Tom,

    I don't follow.

    Can you give us an example of what you're talking about? My experience with the post field rule led me to think that the posting occurs when the record in the transaction table is saved. Not before. So, I would think if the user begins an entry, but then cancels it, there would be no change in the related field in the table that's the target or destination of the post. Are you seeing something differently ? Can you show it to us ?

    -- tom

  3. #3
    Member
    Real Name
    Tom Campbell
    Join Date
    Sep 2000
    Posts
    149

    Default RE: field rule post vs. <tbl>.post()

    Tom,
    You follow perfectly.
    Your understanding was also my understanding.

    I think this is best described with an example (attached)

    First, open the default browse of tbl_custhdr and look at the value in a field named PSLS (purchases since last statement). This number is the result of a field rule post from tbl_jobsdetail->amount. Make a note of the amount and the account.

    Next, open mainmenu, press 'new install', select the previously noted account, then click on 'cancel record'

    Finally, revisit the default browse of tbl_custhdr and look again at the psls field. Your cancelled installation request actually posted an amount and did not un-post when you cancelled.

    One small item in a thankfully shrinking list of small items left to resolve before rollout.

    Thanks Tom,

    Tom C

  4. #4
    Member
    Real Name
    Tom Campbell
    Join Date
    Sep 2000
    Posts
    149

    Default RE: field rule post vs. <tbl>.post()

    Addendum:
    Even though the post field rule posts an amount, the actual records are NOT in fact created or saved. That piece works as it should.
    Tom C

  5. #5
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,310

    Default RE: field rule post vs. <tbl>.post()

    Tom,

    I am having trouble with your demo.

    Your startup form blocks access to the control panel.

    If I create a new database and attach your tables the Install button doesn't work correctly. It opens the order entry form but I get an error message that a new record is already started...

    Can you simplify this for me ?

    -- tom

  6. #6
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,310

    Default RE: field rule post vs. <tbl>.post()

    Tom,

    I found your hotspot and can get to the control panel.

    But I've run out of time and will have to look at it later.

    -- tom

  7. #7
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,310

    Default RE: field rule post vs. <tbl>.post()

    Tom,

    You're using a set based form to enter the new job/order record. some of the fields are from the primary table. Some of the fields are from the two child tables. When focus moves from a field in one table to a field in a second table the pending changes in the first table are saved. I think this is what's causing the post field rule to fire. Your effort to reverse or cancel the transactioin is not working completely. You're relying on referential integrity to delete the job_details record. I think this will never cause the post field rule to fire in the job_details table, since it's not working through the form's interface, it works behind the scenes, just as though you were manipulating the details table with xbasic.

    I suggest you enter the job details using a form based on the job_details table, using lookup functions to retrieve necessary field values from related tables.

    -- tom

  8. #8
    Former Alpha Employee JerryBrightbill's Avatar
    Real Name
    Jerry Brightbill
    Join Date
    Apr 2000
    Posts
    5,172

    Default RE: field rule post vs. <tbl>.post()

    Another issue is the use of the events on a lookup field to set values. When there is a lookup on a field, the events fire when the lookup opens and when it closes. This results in the program trying to create multiple enters. Both the current OnArrive and OnDepart code put the form in enter mode.

    The solution is to remove all of the event code from the lookup field. Use the code that opens the form to set the form in enter mode and then use the CanArrvive or OnArive for the next object to set the values you currently have on the OnDepart.

    Here is some code for the menu that will open the form on a new record.

    if is_object("frm_orderentry") then
    frm.new_record()
    frm_orderentry.show()
    frm_orderentry.activate()
    else
    frm = form.load("frm_orderentry")
    frm.new_record()
    frm_orderentry.show()
    frm_orderentry.activate()
    end if

    If you want to test the event sequence, put something like this on every event. This will send a line to the trace window every time the event fires and will show the sequence.

    trace.writeln(this.name()+ "OnArrive") 'change the event name to the current event

    Jerry

  9. #9
    Member
    Real Name
    Tom Campbell
    Join Date
    Sep 2000
    Posts
    149

    Default RE: field rule post vs. <tbl>.post()

    Tom,
    I was hoping to avoid that. I've tossed your ideas into the hopper and am considering them.
    Thanks very much for reviewing my problem.

    Jerry,
    Thanks for you suggestion, though, I haven't seen the problem you describe. Will keep a printed copy of your post. Thank you as well.

    Tom C

Similar Threads

  1. HELP - Cannot build/open post index rule
    By TerriH in forum Alpha Five Version 4
    Replies: 3
    Last Post: 04-14-2003, 06:03 AM
  2. Post calculated field
    By RupertP in forum Alpha Five Version 5
    Replies: 4
    Last Post: 04-06-2003, 01:13 PM
  3. Post Data Rule - limitations
    By Ian Stewart in forum Alpha Four Version 6 and Prior
    Replies: 4
    Last Post: 02-20-2003, 02:30 AM
  4. Post Rule
    By Bryan Hoey in forum Alpha Five Version 5
    Replies: 2
    Last Post: 01-31-2003, 11:44 AM
  5. Field Rules - Post operations
    By DORaymond in forum Alpha Five Version 4
    Replies: 0
    Last Post: 08-08-2000, 07:57 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •