Jim: Yes, I found the ability to "ABORT TRIGGER" from within the Before Delete trigger, and I verified that it does work. I had added a message to the user in the trigger telling them that they had somehow deleted a record so I changed it to include the "abort trigger" and changed the message to the user. So far no more deletes have happened. We still have no clues how it happens when it does
Karen -----Original Message----- From: 'James Bentley' via RBASE-L <[email protected]> To: [email protected] <[email protected]> Sent: Thu, Mar 31, 2022 4:30 am Subject: Re: [RBASE-L] - Delete Trigger mystery? Karen,Search RBase Help for SYS_OLD used in the command element WHERE CURRENT OF SYS_OLD in the BEFORE DELETE trigger.Be aware that access to SYS_OLD record is only available in the BEFORE DELETE trigger not in an AFTER DELETE trigger where according to SQL syntax where the update of the archive table should be updated. Jim Bentley, American Celiac Society 1-504-305-2968 On Friday, March 11, 2022, 06:01:51 PM CST, 'Karen Tellef' via RBASE-L <[email protected]> wrote: B Why I needed the before-delete trigger: no one should ever be deleting data from this table. And althonugh they have the full version of RBase, no one knows how to "get to the R> prompt". There is a monthend routine that the senior user runs that will delete a batch of data, but that's all (we remove the trigger before this monthend routine, then put it back on) Yet every now and then we find data mysteriously disappeared. So I created a before-delete trigger. It takes the record to be deleted and appends it to an archive table. 3 columns in the archive table will hold the deleted date / time and the user who deleted it. Works perfectly at my development environment and when I test it at the place where the database is installed. Records the date, time and the user. However, twice now we have found records in that archive table that had been deleted (hundreds at a time). The records had the deleted date/time but had NO user name. Here's the code I use in my stored procedure. The DeletedDate and DeletedTime works fine, it gets updated every time. There is no login to this app, so I grab the NetUser (used many times in the application for other things, successfully). The first time that the archive had no user name, I modified the stored procedure to grab the ComputerName. But still, nothing..... SET VAR vText TEXT = NULL SET VAR vText = (CVAL("NetUser")) IF vText IS NULL THEN SET VAR vText = (CVAL("ComputerName")) ENDIF UPDATE ClaimsDeleted SET DeletedDate = .#DATE, DeletedTime = .#TIME, + DeletedBy = .vText WHERE claim = .spClaim Can anyone think of anything else I can trap that would help me figure out how/when the records got deleted? Or does anyone know how records could get deleted when there actually is no NetUser or ComputerName? Karen -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rbase-l/1654695576.980450.1647043308102%40mail.yahoo.com. -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rbase-l/1579508681.180222.1648719038761%40mail.yahoo.com. -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rbase-l/1906605611.264489.1648738815937%40mail.yahoo.com.

