I've had similar problems.  I put together a program to track changes. 
This is for UniData.

   SUBROUTINE TRIGGER.CHANGES(EXECSTAT,DICTFLAG,FILENAME,RECID,RECORD)
* program    : TRIGGER.CHANGES
* programmer : Bruce M. Neylon
* Date       : 07/17/06
*
* Description: Track TRANS changes
*
* Catalog req: Global
*
**********************************************
* Modifications
*
**********************************************
*  Variable setup
   COMMON /TRIG001/ 
WHO,CHANGES.FILE,CTL.FILE,ATTRIBUTE.LIST,F.FILENAME,DUM5,DUM6
**** Open files ****
   IF w...@who OR FILEINFO(F.FILENAME,17) # FILENAME THEN
     OPENERR = ''
     OPEN 'CHANGES' TO CHANGES.FILE ELSE OPENERR<-1> = 'CHANGES'
     OPEN FILENAME TO F.FILENAME ELSE OPENERR<-1> = FILENAME
     OPEN 'CTL.FILE' TO CTL.FILE ELSE OPENERR<-1> = 'CTL.FILE'
     IF OPENERR # '' THEN
       ERR.CNT = DCOUNT(OPENERR,@AM)
       FOR ERR.IDX = 1 TO ERR.CNT
         PRINTERR 201:@AM:OPENERR<ERR.IDX>
         CRT
       NEXT ERR.IDX
       STOP
     END
     WHO = @WHO
     READV ATTRIBUTE.LIST FROM CTL.FILE,FILENAME,2 ELSE ATTRIBUTE.LIST=0
   END
   NTL = DCOUNT(SYSTEM(49),@AM)-2
   SYSTEM49=SYSTEM(49)<NTL,2>
   SYSTEM49W = CONVERT(@AM:@VM:@SVM,'^]\',SYSTEM(49))
   FOUND = 0
   CHANGES = @LOGNAME:@VM:SYSTEM49:@VM:SYSTEM49W
   CIDX = 0
   !IF @LOGNAME = "bmn" THEN DEBUG
   READ OLD.RECORD FROM F.FILENAME,RECID THEN
     ATT.COUNT = DCOUNT(ATTRIBUTE.LIST,@VM)
     FOR ATT.IDX = 1 TO ATT.COUNT
       ATT = ATTRIBUTE.LIST<1,ATT.IDX>
       IF ATT > 0 THEN
         IF RECORD<ATT> # OLD.RECORD<ATT> THEN
           CIDX +=1
           CHANGES<2,CIDX> = ATT
           CHANGES<3,CIDX> = CONVERT(@AM:@VM:@SVM,'^]\',OLD.RECORD<ATT>)
           CHANGES<4,CIDX> = CONVERT(@AM:@VM:@SVM,'^]\',RECORD<ATT>)
         END
       END
     NEXT ATT.IDX
   END ELSE
     CHANGES<2> = 'NEW'
     CHANGES<4> = CONVERT(@AM:@VM:@SVM,'^]\',RECORD)
   END
   IF CHANGES<2> # '' THEN
     CID = FILENAME:"_":RECID:"_":DATE():"_":TIME()
     WRITE CHANGES ON CHANGES.FILE,CID
   END
   EXECSTAT=1
   RETURN EXECSTAT

Bruce M Neylon
Health Care Management Group 




"Bessel, Karen" <[email protected]> 
Sent by: [email protected]
10/22/2009 11:22 AM
Please respond to
U2 Users List <[email protected]>


To
"U2 Users List" <[email protected]>
cc

Subject
[U2] Trigger Question






My application is creating some bogus records in a file, somewhere...we
are unable to pinpoint when & where & what the user is doing to create
these records, but they're popping up every couple of weeks. 

 

I'd like to create a trigger to tell me when these records appear so
that someone gets notified, instead of inadvertently falling across the
data days later. 

 

Since I don't know where this bogus data is being created, is it
possible for the trigger subroutine to tell me what the call
stack/writing program is.

 

Thanks,

 

Karen

 



Karen Bessel
Software Developer

Tyler Technologies, Inc.
6500 International Parkway, Suite 2000
Plano, TX 75093
Phone: 972.713.3770 ext:6227
Fax: 972.713.3780 
Email: [email protected]
Web: http://www.tylertech.com
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users


_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to