Re: [U2] Universe Triggers

2013-07-26 Thread Charles Stevenson

re. triggers  Raid,  I could not agree with Phil more.  Well said.
Come on, Rocket!

On 7/19/2013 1:32 AM, Phil Walker wrote:

Ken,

I am glad you raised the issue about debugging a program with a file which has 
a trigger attached. I have been on to UV (Vmark/Ardent/IBM/Rocket for ages 
about fixing this pushing for the ability to be able to step into the trigger 
code, but at a VERY MINIMUM being able to debug the program and perform the 
write on the file, and in effect step over the trigger subroutine and carry on 
debugging. The issue is the trigger subroutine cannot support input, so what UV 
have done is basically say you are using the debugger so you are inputting 
debug commands so you will abort. They need to turn this restriction off for 
debugging so that either of the above two scenarios is supported.

In a Microsoft world I can debug anything through the connected world of 
web/databases etc..

Have had no feedback from UV

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ken Ford
Sent: Friday, 19 July 2013 9:48 a.m.
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Universe Triggers

Dan,
In addition to the other responses you have received, I suggest the following:
1. Have one master file trigger subroutine (globally catalogued) that calls 
subroutines (locally catalogued) tailored to individual files.  This means you 
don't have to stop and restart Universe when a new trigger is required or a 
change to an existing one.  If the master subroutine changes, you do have to 
restart Universe.
2. Use a control record that records the subroutine name and state of the 
trigger for each file having a trigger.
3. Use a program to change the state of a trigger, using the control records in 
2 above.
4. Make sure all background processes that have a file with a trigger open are 
logged out when recompiling the subroutine for that file trigger.
5. Remember that you can't do anything to a file with an active trigger whilst 
in the RAID debugger (it will crash).  Rather, if you are testing a file 
trigger subroutine, drop the trigger and use a trigger testing program that 
calls the subroutine after taking a copy of the record being changed, pausing 
whilst you change it in another session, and then resuming, calling the 
subroutine.

If you would like samples of any of the software mentioned above, let me know, 
and I can send them to you.

Regards,
Ken Ford
Universe Software Developer
t 07 3013 8605 | f 07 3002 8400
e ken.f...@firstmac.com.au | w firstmac.com.au


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2013-07-26 Thread Phil Walker
I won't be holding my breath Charles ;-)

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Charles Stevenson
Sent: Friday, 26 July 2013 9:22 p.m.
To: U2 Users List
Subject: Re: [U2] Universe Triggers

re. triggers  Raid,  I could not agree with Phil more.  Well said.
Come on, Rocket!

On 7/19/2013 1:32 AM, Phil Walker wrote:
 Ken,

 I am glad you raised the issue about debugging a program with a file which 
 has a trigger attached. I have been on to UV (Vmark/Ardent/IBM/Rocket for 
 ages about fixing this pushing for the ability to be able to step into the 
 trigger code, but at a VERY MINIMUM being able to debug the program and 
 perform the write on the file, and in effect step over the trigger subroutine 
 and carry on debugging. The issue is the trigger subroutine cannot support 
 input, so what UV have done is basically say you are using the debugger so 
 you are inputting debug commands so you will abort. They need to turn this 
 restriction off for debugging so that either of the above two scenarios is 
 supported.

 In a Microsoft world I can debug anything through the connected world of 
 web/databases etc..

 Have had no feedback from UV

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ken Ford
 Sent: Friday, 19 July 2013 9:48 a.m.
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Universe Triggers

 Dan,
 In addition to the other responses you have received, I suggest the following:
 1. Have one master file trigger subroutine (globally catalogued) that calls 
 subroutines (locally catalogued) tailored to individual files.  This means 
 you don't have to stop and restart Universe when a new trigger is required or 
 a change to an existing one.  If the master subroutine changes, you do have 
 to restart Universe.
 2. Use a control record that records the subroutine name and state of the 
 trigger for each file having a trigger.
 3. Use a program to change the state of a trigger, using the control records 
 in 2 above.
 4. Make sure all background processes that have a file with a trigger open 
 are logged out when recompiling the subroutine for that file trigger.
 5. Remember that you can't do anything to a file with an active trigger 
 whilst in the RAID debugger (it will crash).  Rather, if you are testing a 
 file trigger subroutine, drop the trigger and use a trigger testing program 
 that calls the subroutine after taking a copy of the record being changed, 
 pausing whilst you change it in another session, and then resuming, calling 
 the subroutine.

 If you would like samples of any of the software mentioned above, let me 
 know, and I can send them to you.

 Regards,
 Ken Ford
 Universe Software Developer
 t 07 3013 8605 | f 07 3002 8400
 e ken.f...@firstmac.com.au | w firstmac.com.au

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2013-07-18 Thread George Gallen
However, before you can add or activate any triggers, you must GRANT GRANT 
privileges to the user
   Attempting to add the triggers while you are the user uvsql if you want that 
user to be able
   To add triggers, otherwise, you will have to be user uvsql for any trigger 
activity.

I also found you can not have any  , * or - in the filename if you want 
to add triggers to it,
   If that is the case, you must create a Q pointer to the file with a name 
that is acceptable.

You can not add a trigger to a file that is a q pointer to another directory, 
UNLESS, you create
   The Q pointer as a F type Voc entry, and use the full pathname to the files 
- then it's not
   Technically a Q pointer, but still behaves like one!

These were things that I had the most trouble getting over

Also, make sure any files that the trigger program will need are accessable. So 
if you put a trigger
   On a file, and the trigger program opens FILE A, and your in Account A - you 
must make sure that
   FILE A can be opened in Account A. If you move to Account B and the file 
that has the trigger on
   And you have a Q pointer to that file, make sure Account B has access to 
FILE A otherwise your
   Trigger program will bomb out.

George

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mark Eastwood
Sent: Thursday, July 18, 2013 8:33 AM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Yes. Check out the SQL Reference Manual.
The Trigger subroutine has a set defined number of parameters (it's in the doc).

We use account type Pick (non-Schema) so a few notes:
-Create a new VOC entry named ICATALOG (copy from CATALOG and change attr 6 to 
INFORMATION.FORMAT). Use this to catalog your Trigger Subroutine.
-When we add Triggers to files, we always have all users logged off (paranoid). 


Here's a sample trigger subroutine (not a real program, only a demo)
:   SUBROUTINE TRIGGER.EXAMPLE(TRIGGER.NAME,SCHEMA,TABLE,EVENT,TIME,
 NEW.RECORD.ID,NEW.RECORD,OLD.RECORD.ID,
OLD.RECORD,ASSOCIATION,ASSOCIATION.EVENT,COUNT,CHAIN.CASCADE,CASCADE)
:   OPEN 'AUDIT' TO AUDIT ELSE RETURN
:   *
:   UPDATE.TYPE = EVENT[1,1]   ; * U,D,I
:   *
:   IF NEW.RECORD # OLD.RECORD THEN
:  READU X FROM AUDIT,NEW.RECORD.ID ELSE NULL
:  WRITE DATE():*:TIME() ON AUDIT,NEW.RECORD.ID
:   END
:   RETURN ; * RETURN TO CALLING PROGRAM
:END


Mark




-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Daniel Jorgenson
Sent: Wednesday, July 17, 2013 3:32 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Universe Triggers

Has anyone setup and used Unix/Universe triggers.  Where do you start? Any 
manuals to get started?


Regards,

Dan Jorgenson
Senior Systems Analyst

SICK, Inc.
6900 West 110th Street
Minneapolis, MN  55438  USA
Phone: 952.941.6780
Fax: 952.941.9287
Direct: 952.829.4732
http://www.sickusa.com

This message and any attachments are solely for the intended recipient and 
may contain confidential or privileged information.  If you are not the 
intended recipient, any disclosure, copying, use or distribution is 
prohibited.  If you have received this communication in error, please 
notify us by reply email and immediately and permanently delete this 
message and any attachments.  Thank you.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2013-07-18 Thread Ken Ford
Dan,
In addition to the other responses you have received, I suggest the following:
1. Have one master file trigger subroutine (globally catalogued) that calls 
subroutines (locally catalogued) tailored to individual files.  This means you 
don't have to stop and restart Universe when a new trigger is required or a 
change to an existing one.  If the master subroutine changes, you do have to 
restart Universe.  
2. Use a control record that records the subroutine name and state of the 
trigger for each file having a trigger.
3. Use a program to change the state of a trigger, using the control records in 
2 above.
4. Make sure all background processes that have a file with a trigger open are 
logged out when recompiling the subroutine for that file trigger.
5. Remember that you can't do anything to a file with an active trigger whilst 
in the RAID debugger (it will crash).  Rather, if you are testing a file 
trigger subroutine, drop the trigger and use a trigger testing program that 
calls the subroutine after taking a copy of the record being changed, pausing 
whilst you change it in another session, and then resuming, calling the 
subroutine.

If you would like samples of any of the software mentioned above, let me know, 
and I can send them to you.

Regards,
Ken Ford 
Universe Software Developer 
t 07 3013 8605 | f 07 3002 8400 
e ken.f...@firstmac.com.au | w firstmac.com.au 


 ---
Note: 
This email (inc all attachments) is for the use of the intended recipient(s) 
only.
Privileged or confidential information may be contained in this communication. 
If you have received this email in error, please notify the sender immediately 
and then delete all copies of this message from your computer network. If you 
are not the intended recipient, you must not keep, use, disclose, copy or 
distribute this email without the author's prior permission. If you are the 
intended recipient and you do not wish to receive similar electronic messages 
from us in future, then please respond to the sender to this effect. 
We have taken precautions to minimise the risk of transmitting software 
viruses, but advise you to carry out your own virus checks on this email and 
its attachments. We do not accept liability for any loss or damage caused by 
software viruses and do not represent that this transmission is free from 
viruses or other defects. 
Firstmac Limited (ABN 59 094 145 963) (AFSL 290600) 
 ---
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2013-07-18 Thread Phil Walker
Ken,

I am glad you raised the issue about debugging a program with a file which has 
a trigger attached. I have been on to UV (Vmark/Ardent/IBM/Rocket for ages 
about fixing this pushing for the ability to be able to step into the trigger 
code, but at a VERY MINIMUM being able to debug the program and perform the 
write on the file, and in effect step over the trigger subroutine and carry on 
debugging. The issue is the trigger subroutine cannot support input, so what UV 
have done is basically say you are using the debugger so you are inputting 
debug commands so you will abort. They need to turn this restriction off for 
debugging so that either of the above two scenarios is supported. 

In a Microsoft world I can debug anything through the connected world of 
web/databases etc..

Have had no feedback from UV

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ken Ford
Sent: Friday, 19 July 2013 9:48 a.m.
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Universe Triggers

Dan,
In addition to the other responses you have received, I suggest the following:
1. Have one master file trigger subroutine (globally catalogued) that calls 
subroutines (locally catalogued) tailored to individual files.  This means you 
don't have to stop and restart Universe when a new trigger is required or a 
change to an existing one.  If the master subroutine changes, you do have to 
restart Universe.  
2. Use a control record that records the subroutine name and state of the 
trigger for each file having a trigger.
3. Use a program to change the state of a trigger, using the control records in 
2 above.
4. Make sure all background processes that have a file with a trigger open are 
logged out when recompiling the subroutine for that file trigger.
5. Remember that you can't do anything to a file with an active trigger whilst 
in the RAID debugger (it will crash).  Rather, if you are testing a file 
trigger subroutine, drop the trigger and use a trigger testing program that 
calls the subroutine after taking a copy of the record being changed, pausing 
whilst you change it in another session, and then resuming, calling the 
subroutine.

If you would like samples of any of the software mentioned above, let me know, 
and I can send them to you.

Regards,
Ken Ford 
Universe Software Developer 
t 07 3013 8605 | f 07 3002 8400 
e ken.f...@firstmac.com.au | w firstmac.com.au 


 ---
Note: 
This email (inc all attachments) is for the use of the intended recipient(s) 
only.
Privileged or confidential information may be contained in this communication. 
If you have received this email in error, please notify the sender immediately 
and then delete all copies of this message from your computer network. If you 
are not the intended recipient, you must not keep, use, disclose, copy or 
distribute this email without the author's prior permission. If you are the 
intended recipient and you do not wish to receive similar electronic messages 
from us in future, then please respond to the sender to this effect. 
We have taken precautions to minimise the risk of transmitting software 
viruses, but advise you to carry out your own virus checks on this email and 
its attachments. We do not accept liability for any loss or damage caused by 
software viruses and do not represent that this transmission is free from 
viruses or other defects. 
Firstmac Limited (ABN 59 094 145 963) (AFSL 290600) 
 ---
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Universe Triggers

2013-07-17 Thread Daniel Jorgenson
Has anyone setup and used Unix/Universe triggers.  Where do you start? Any 
manuals to get started?


Regards,

Dan Jorgenson
Senior Systems Analyst

SICK, Inc.
6900 West 110th Street
Minneapolis, MN  55438  USA
Phone: 952.941.6780
Fax: 952.941.9287
Direct: 952.829.4732
http://www.sickusa.com

This message and any attachments are solely for the intended recipient and 
may contain confidential or privileged information.  If you are not the 
intended recipient, any disclosure, copying, use or distribution is 
prohibited.  If you have received this communication in error, please 
notify us by reply email and immediately and permanently delete this 
message and any attachments.  Thank you.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-08-02 Thread Boydell, Stuart
FYI the best doco on using triggers is in Chapter 5 of the Universe SQL 
Reference pdf. It's pretty comprehensive.
Regards.

-Original Message-
AIX 5.3 UV 10.2Universe

I want to put a trigger on a file to send an email message then a new 
item is written. I have read the (very non-helpful) section on triggers 
in the Universe System Description documentation but I'm still a bit 
confused. I have a program (subroutine) written with the arguments as 
established in the manual:
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-08-01 Thread Jeff Schasny

David,

I'd love to try it. The process of adding an H to the VOC pointer 
didn't do the trick and that was pretty much my last gasp.


David A. Green wrote:

Jeff,

I've written a socket driven email subroutine.  I haven't tried it from a
trigger but you don't have to shell out so it might work.

David A. Green
(480) 813-1725
DAG Consulting


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
Sent: Friday, July 30, 2010 12:47 PM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Thank you all.

After much putzing with the various parts involved it is beginning to 
look like my original plan of having an email message sent when someone 
adds a new record to this file is not to be. Apparently executing an 
SH verb in a trigger program is not going to happen (Verb SH illegal 
when a transaction is active.). Boom Splat.




Henry Unger wrote:
  

Lock the record before you write it.

Henry Unger

Sent from my iPad

On Jul 30, 2010, at 2:47 PM, Jeff Schasny jscha...@gmail.com wrote:

  


So far so good. Trigger installed. Trigger blows up. My trigger program
  

calls the *MAIL.SEND routine (which works when called from other programs in
this account) which is apparently blowing up when attempting to write an
item to the current directory (UFD) at line 214.
  

Anyone have a guess on what this means?

Program *MAIL.SEND: Line 214, FATAL: The locks necessary for database
  

operations at the current isolation level (0) are not held by this process.
  

Error performing trigger for /upg/CUBUPG/CO.TF



--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

  

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

  



  


--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-31 Thread David A. Green
Jeff,

I've written a socket driven email subroutine.  I haven't tried it from a
trigger but you don't have to shell out so it might work.

David A. Green
(480) 813-1725
DAG Consulting


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
Sent: Friday, July 30, 2010 12:47 PM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Thank you all.

After much putzing with the various parts involved it is beginning to 
look like my original plan of having an email message sent when someone 
adds a new record to this file is not to be. Apparently executing an 
SH verb in a trigger program is not going to happen (Verb SH illegal 
when a transaction is active.). Boom Splat.



Henry Unger wrote:
 Lock the record before you write it.

 Henry Unger

 Sent from my iPad

 On Jul 30, 2010, at 2:47 PM, Jeff Schasny jscha...@gmail.com wrote:

   
 So far so good. Trigger installed. Trigger blows up. My trigger program
calls the *MAIL.SEND routine (which works when called from other programs in
this account) which is apparently blowing up when attempting to write an
item to the current directory (UFD) at line 214.

 Anyone have a guess on what this means?

 Program *MAIL.SEND: Line 214, FATAL: The locks necessary for database
operations at the current isolation level (0) are not held by this process.
 Error performing trigger for /upg/CUBUPG/CO.TF



 -- 
 
 Jeff Schasny - Denver, Co, USA
 jschasny at gmail dot com
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 

 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

   

-- 

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Universe Triggers

2010-07-30 Thread Jeff Schasny

AIX 5.3 UV 10.2Universe

I want to put a trigger on a file to send an email message then a new 
item is written. I have read the (very non-helpful) section on triggers 
in the Universe System Description documentation but I'm still a bit 
confused. I have a program (subroutine) written with the arguments as 
established in the manual:


0001:  SUBROUTINE 
NEW_TRANSFER(SQLTRIG,SCHEMA,TABLE,EVENT,TIME,NEWID,NEWREC,OLD

ID,OLDREC,ASSOC,ASSOC.EVENT,COUNT,CHAIN,CASCADE,CASCADE)

Do I need to open the file to the SQLTRIG variable in the program?
Do I need to open the dictionary to SCHEMA?


I'm assuming that trigger_name below should be the catalog name of the 
program



CREATE TRIGGER trigger_name [BEFORE | AFTER] INSERT

Can someone provide a concise series of steps I need to take to set this up?

--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Barry Rutherford
Your subroutine has to be globally cataloged - nothing else will work.

The syntax of the create trigger that works for me is this:

CREATE TRIGGER BEFORE_INSERT BEFORE INSERT ON (FILE NAME) FOR EACH ROW
CALLING *(subroutine name)

BEFORE_INSERT - name I gave my trigger - can be anything you want
(FILE NAME) - File trigger is attached to
*(subroutine name) - globally cataloged subroutine that you want called

Your sample subroutine below has 15 passed-in parameters and my programs
only have 14 - I think you repeated the last one twice.

Do I need to open the file to the SQLTRIG variable in the program?  - No
Do I need to open the dictionary to SCHEMA? - No

Barry Rutherford
Programmer / Analyst
MobilexUSA
930 Ridgebrook Rd, 3rd Floor
Sparks, MD 21152
Local: 443-662-4101 x 6162
Toll Free: 800-786-8015 x 6162
Fax: 443-662-4225
http://www.mobilexusa.com
 

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
Sent: Friday, July 30, 2010 11:47 AM
To: U2-Users@listserver.u2ug.org
Subject: [U2] Universe Triggers

AIX 5.3 UV 10.2Universe

I want to put a trigger on a file to send an email message then a new 
item is written. I have read the (very non-helpful) section on triggers 
in the Universe System Description documentation but I'm still a bit 
confused. I have a program (subroutine) written with the arguments as 
established in the manual:

0001:  SUBROUTINE 
NEW_TRANSFER(SQLTRIG,SCHEMA,TABLE,EVENT,TIME,NEWID,NEWREC,OLD
 ID,OLDREC,ASSOC,ASSOC.EVENT,COUNT,CHAIN,CASCADE,CASCADE)

Do I need to open the file to the SQLTRIG variable in the program?
Do I need to open the dictionary to SCHEMA?


I'm assuming that trigger_name below should be the catalog name of the 
program


CREATE TRIGGER trigger_name [BEFORE | AFTER] INSERT

Can someone provide a concise series of steps I need to take to set this
up?

-- 

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

This e-mail (including any and all accompanying attachments) may
contain privileged and confidential information only meant to be
accessed and used by the intended recipient or the person(s)
authorized to access and deliver the intended recipient's e-mail.
This e-mail may contain information that is privileged or otherwise 
confidential. It should not be copied or forwarded to any 
unauthorized persons. If you received this e-mail in error, please 
delete it without copying or forwarding, and notify the sender by 
reply e-mail or by calling the MobilexUSA Privacy Office toll free at 
1-866-686-1717.
Thank you for your cooperation.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Israel, John R.
While the trigger needs to be globally cataloged, it can call a locally 
cataloged routine. Every trigger we have simply calls a 2nd locally cataloged 
program that does all the work.  Without this, it makes testing very difficult 
between a system that has live/test accounts on the same box.


John Israel
Senior Programmer/Analyst
Dayton Superior Corporation
1125 Byers Road
Miamisburg, OH  45342


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
Sent: Friday, July 30, 2010 1:12 PM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Thank You.

Now I need to drop the trigger and re create it. What is the drop 
trigger syntax? Is all this actually documented somewhere?

Barry Rutherford wrote:
 Your subroutine has to be globally cataloged - nothing else will work.

 The syntax of the create trigger that works for me is this:

 CREATE TRIGGER BEFORE_INSERT BEFORE INSERT ON (FILE NAME) FOR EACH ROW
 CALLING *(subroutine name)

 BEFORE_INSERT - name I gave my trigger - can be anything you want
 (FILE NAME) - File trigger is attached to
 *(subroutine name) - globally cataloged subroutine that you want called

 Your sample subroutine below has 15 passed-in parameters and my programs
 only have 14 - I think you repeated the last one twice.

 Do I need to open the file to the SQLTRIG variable in the program?  - No
 Do I need to open the dictionary to SCHEMA? - No

 Barry Rutherford
 Programmer / Analyst
 MobilexUSA
 930 Ridgebrook Rd, 3rd Floor
 Sparks, MD 21152
 Local: 443-662-4101 x 6162
 Toll Free: 800-786-8015 x 6162
 Fax: 443-662-4225
 http://www.mobilexusa.com
  

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
 Sent: Friday, July 30, 2010 11:47 AM
 To: U2-Users@listserver.u2ug.org
 Subject: [U2] Universe Triggers

 AIX 5.3 UV 10.2Universe

 I want to put a trigger on a file to send an email message then a new 
 item is written. I have read the (very non-helpful) section on triggers 
 in the Universe System Description documentation but I'm still a bit 
 confused. I have a program (subroutine) written with the arguments as 
 established in the manual:

 0001:  SUBROUTINE 
 NEW_TRANSFER(SQLTRIG,SCHEMA,TABLE,EVENT,TIME,NEWID,NEWREC,OLD
  ID,OLDREC,ASSOC,ASSOC.EVENT,COUNT,CHAIN,CASCADE,CASCADE)

 Do I need to open the file to the SQLTRIG variable in the program?
 Do I need to open the dictionary to SCHEMA?


 I'm assuming that trigger_name below should be the catalog name of the 
 program


 CREATE TRIGGER trigger_name [BEFORE | AFTER] INSERT

 Can someone provide a concise series of steps I need to take to set this
 up?

   

-- 

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Jeff Schasny

Thank You.

Now I need to drop the trigger and re create it. What is the drop 
trigger syntax? Is all this actually documented somewhere?


Barry Rutherford wrote:

Your subroutine has to be globally cataloged - nothing else will work.

The syntax of the create trigger that works for me is this:

CREATE TRIGGER BEFORE_INSERT BEFORE INSERT ON (FILE NAME) FOR EACH ROW
CALLING *(subroutine name)

BEFORE_INSERT - name I gave my trigger - can be anything you want
(FILE NAME) - File trigger is attached to
*(subroutine name) - globally cataloged subroutine that you want called

Your sample subroutine below has 15 passed-in parameters and my programs
only have 14 - I think you repeated the last one twice.

Do I need to open the file to the SQLTRIG variable in the program?  - No
Do I need to open the dictionary to SCHEMA? - No

Barry Rutherford
Programmer / Analyst
MobilexUSA
930 Ridgebrook Rd, 3rd Floor
Sparks, MD 21152
Local: 443-662-4101 x 6162
Toll Free: 800-786-8015 x 6162
Fax: 443-662-4225
http://www.mobilexusa.com
 


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
Sent: Friday, July 30, 2010 11:47 AM
To: U2-Users@listserver.u2ug.org
Subject: [U2] Universe Triggers

AIX 5.3 UV 10.2Universe

I want to put a trigger on a file to send an email message then a new 
item is written. I have read the (very non-helpful) section on triggers 
in the Universe System Description documentation but I'm still a bit 
confused. I have a program (subroutine) written with the arguments as 
established in the manual:


0001:  SUBROUTINE 
NEW_TRANSFER(SQLTRIG,SCHEMA,TABLE,EVENT,TIME,NEWID,NEWREC,OLD

 ID,OLDREC,ASSOC,ASSOC.EVENT,COUNT,CHAIN,CASCADE,CASCADE)

Do I need to open the file to the SQLTRIG variable in the program?
Do I need to open the dictionary to SCHEMA?


I'm assuming that trigger_name below should be the catalog name of the 
program



CREATE TRIGGER trigger_name [BEFORE | AFTER] INSERT

Can someone provide a concise series of steps I need to take to set this
up?

  


--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Jeff Schasny
So far so good. Trigger installed. Trigger blows up. My trigger program 
calls the *MAIL.SEND routine (which works when called from other 
programs in this account) which is apparently blowing up when attempting 
to write an item to the current directory (UFD) at line 214.


Anyone have a guess on what this means?

Program *MAIL.SEND: Line 214, FATAL: The locks necessary for database 
operations at the current isolation level (0) are not held by this process.

Error performing trigger for /upg/CUBUPG/CO.TF



--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Mark Eastwood
Before any WRITE, you must do a READU first

Mark


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
Sent: Friday, July 30, 2010 11:47 AM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

So far so good. Trigger installed. Trigger blows up. My trigger program 
calls the *MAIL.SEND routine (which works when called from other 
programs in this account) which is apparently blowing up when attempting

to write an item to the current directory (UFD) at line 214.

Anyone have a guess on what this means?

Program *MAIL.SEND: Line 214, FATAL: The locks necessary for database 
operations at the current isolation level (0) are not held by this
process.
Error performing trigger for /upg/CUBUPG/CO.TF



-- 

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Henry Unger
Lock the record before you write it.

Henry Unger

Sent from my iPad

On Jul 30, 2010, at 2:47 PM, Jeff Schasny jscha...@gmail.com wrote:

 So far so good. Trigger installed. Trigger blows up. My trigger program calls 
 the *MAIL.SEND routine (which works when called from other programs in this 
 account) which is apparently blowing up when attempting to write an item to 
 the current directory (UFD) at line 214.
 
 Anyone have a guess on what this means?
 
 Program *MAIL.SEND: Line 214, FATAL: The locks necessary for database 
 operations at the current isolation level (0) are not held by this process.
 Error performing trigger for /upg/CUBUPG/CO.TF
 
 
 
 -- 
 
 Jeff Schasny - Denver, Co, USA
 jschasny at gmail dot com
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Jeff Schasny

Thank you all.

After much putzing with the various parts involved it is beginning to 
look like my original plan of having an email message sent when someone 
adds a new record to this file is not to be. Apparently executing an 
SH verb in a trigger program is not going to happen (Verb SH illegal 
when a transaction is active.). Boom Splat.




Henry Unger wrote:

Lock the record before you write it.

Henry Unger

Sent from my iPad

On Jul 30, 2010, at 2:47 PM, Jeff Schasny jscha...@gmail.com wrote:

  

So far so good. Trigger installed. Trigger blows up. My trigger program calls the 
*MAIL.SEND routine (which works when called from other programs in this account) which 
is apparently blowing up when attempting to write an item to the current directory 
(UFD) at line 214.

Anyone have a guess on what this means?

Program *MAIL.SEND: Line 214, FATAL: The locks necessary for database 
operations at the current isolation level (0) are not held by this process.
Error performing trigger for /upg/CUBUPG/CO.TF



--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users



___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

  


--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Robert Porter
How real-time does it need to be?  Could you write them to a queue file and 
have a small batch process pick them up and email them?
 
Rob
 
Robert F. Porter, MCSE, CCNA, ZCE
Lead Sr. Programmer / Analyst
Laboratory Information Services
Ochsner Health System
 
 
This transmission (including any attachments) may contain confidential 
information, privileged material (including material protected by the 
solicitor-client or other applicable privileges), or constitute non-public 
information. Any use of this information by anyone other than the intended 
recipient is prohibited. If you have received this transmission in error, 
please immediately reply to the sender and delete this information from your 
system. Use, dissemination, distribution, or reproduction of this transmission 
by unintended recipients is not authorized and may be unlawful.


 Jeff Schasny jscha...@gmail.com 7/30/2010 2:47 PM 
Thank you all.

After much putzing with the various parts involved it is beginning to 
look like my original plan of having an email message sent when someone 
adds a new record to this file is not to be. Apparently executing an 
SH verb in a trigger program is not going to happen (Verb SH illegal 
when a transaction is active.). Boom Splat.



Henry Unger wrote:
 Lock the record before you write it.

 Henry Unger

 Sent from my iPad

 On Jul 30, 2010, at 2:47 PM, Jeff Schasny jscha...@gmail.com wrote:

   
 So far so good. Trigger installed. Trigger blows up. My trigger program 
 calls the *MAIL.SEND routine (which works when called from other programs in 
 this account) which is apparently blowing up when attempting to write an 
 item to the current directory (UFD) at line 214.

 Anyone have a guess on what this means?

 Program *MAIL.SEND: Line 214, FATAL: The locks necessary for database 
 operations at the current isolation level (0) are not held by this process.
 Error performing trigger for /upg/CUBUPG/CO.TF



 -- 
 
 Jeff Schasny - Denver, Co, USA
 jschasny at gmail dot com
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org 
 http://listserver.u2ug.org/mailman/listinfo/u2-users 
 

 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org 
 http://listserver.u2ug.org/mailman/listinfo/u2-users 

   

-- 

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org 
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Mark Eastwood
We have a similar process - we have the Trigger write a record to an
audit file. Then there's a separate Phantom running that's polling the
audit file and doing what-ever.

Mark



-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
Sent: Friday, July 30, 2010 12:47 PM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Thank you all.

After much putzing with the various parts involved it is beginning to 
look like my original plan of having an email message sent when someone 
adds a new record to this file is not to be. Apparently executing an 
SH verb in a trigger program is not going to happen (Verb SH illegal

when a transaction is active.). Boom Splat.



Henry Unger wrote:
 Lock the record before you write it.

 Henry Unger

 Sent from my iPad

 On Jul 30, 2010, at 2:47 PM, Jeff Schasny jscha...@gmail.com
wrote:

   
 So far so good. Trigger installed. Trigger blows up. My trigger
program calls the *MAIL.SEND routine (which works when called from other
programs in this account) which is apparently blowing up when attempting
to write an item to the current directory (UFD) at line 214.

 Anyone have a guess on what this means?

 Program *MAIL.SEND: Line 214, FATAL: The locks necessary for
database operations at the current isolation level (0) are not held by
this process.
 Error performing trigger for /upg/CUBUPG/CO.TF



 -- 


 Jeff Schasny - Denver, Co, USA
 jschasny at gmail dot com


 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 

 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

   

-- 

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Barry Rutherford
Have the subroutine that's called from your trigger routine write a
record into a file with the details for emailing.

Then create a program that runs in cron that reads that file and sends
your emails

Barry Rutherford
Programmer / Analyst
MobilexUSA
930 Ridgebrook Rd, 3rd Floor
Sparks, MD 21152
Local: 443-662-4101 x 6162
Toll Free: 800-786-8015 x 6162
Fax: 443-662-4225
http://www.mobilexusa.com
 

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
Sent: Friday, July 30, 2010 3:47 PM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Thank you all.

After much putzing with the various parts involved it is beginning to 
look like my original plan of having an email message sent when someone 
adds a new record to this file is not to be. Apparently executing an 
SH verb in a trigger program is not going to happen (Verb SH illegal

when a transaction is active.). Boom Splat.



Henry Unger wrote:
 Lock the record before you write it.

 Henry Unger

 Sent from my iPad

 On Jul 30, 2010, at 2:47 PM, Jeff Schasny jscha...@gmail.com
wrote:

   
 So far so good. Trigger installed. Trigger blows up. My trigger
program calls the *MAIL.SEND routine (which works when called from other
programs in this account) which is apparently blowing up when attempting
to write an item to the current directory (UFD) at line 214.

 Anyone have a guess on what this means?

 Program *MAIL.SEND: Line 214, FATAL: The locks necessary for
database operations at the current isolation level (0) are not held by
this process.
 Error performing trigger for /upg/CUBUPG/CO.TF



 -- 


 Jeff Schasny - Denver, Co, USA
 jschasny at gmail dot com


 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 

 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

   

-- 

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

This e-mail (including any and all accompanying attachments) may
contain privileged and confidential information only meant to be
accessed and used by the intended recipient or the person(s)
authorized to access and deliver the intended recipient's e-mail.
This e-mail may contain information that is privileged or otherwise 
confidential. It should not be copied or forwarded to any 
unauthorized persons. If you received this e-mail in error, please 
delete it without copying or forwarding, and notify the sender by 
reply e-mail or by calling the MobilexUSA Privacy Office toll free at 
1-866-686-1717.
Thank you for your cooperation.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Jeff Schasny

Yeah, thats what I've been thinking.

Thanks all.

Barry Rutherford wrote:

Have the subroutine that's called from your trigger routine write a
record into a file with the details for emailing.

Then create a program that runs in cron that reads that file and sends
your emails

Barry Rutherford
Programmer / Analyst
MobilexUSA
930 Ridgebrook Rd, 3rd Floor
Sparks, MD 21152
Local: 443-662-4101 x 6162
Toll Free: 800-786-8015 x 6162
Fax: 443-662-4225
http://www.mobilexusa.com
 


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
Sent: Friday, July 30, 2010 3:47 PM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Thank you all.

After much putzing with the various parts involved it is beginning to 
look like my original plan of having an email message sent when someone 
adds a new record to this file is not to be. Apparently executing an 
SH verb in a trigger program is not going to happen (Verb SH illegal


when a transaction is active.). Boom Splat.



Henry Unger wrote:
  

Lock the record before you write it.

Henry Unger

Sent from my iPad

On Jul 30, 2010, at 2:47 PM, Jeff Schasny jscha...@gmail.com


wrote:
  
  


So far so good. Trigger installed. Trigger blows up. My trigger
  

program calls the *MAIL.SEND routine (which works when called from other
programs in this account) which is apparently blowing up when attempting
to write an item to the current directory (UFD) at line 214.
  

Anyone have a guess on what this means?

Program *MAIL.SEND: Line 214, FATAL: The locks necessary for
  

database operations at the current isolation level (0) are not held by
this process.
  

Error performing trigger for /upg/CUBUPG/CO.TF



--

  


  

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

  


  

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

  

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

  



  


--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread Henry Unger
I was wondering if that's what you're up to.

I'm not at my computer, but try PHANTOMing it.

Henry Unger

Sent from my iPad

On Jul 30, 2010, at 3:48 PM, Jeff Schasny jscha...@gmail.com wrote:

 Thank you all.
 
 After much putzing with the various parts involved it is beginning to look 
 like my original plan of having an email message sent when someone adds a new 
 record to this file is not to be. Apparently executing an SH verb in a 
 trigger program is not going to happen (Verb SH illegal when a transaction 
 is active.). Boom Splat.
 
 
 
 Henry Unger wrote:
 Lock the record before you write it.
 
 Henry Unger
 
 Sent from my iPad
 
 On Jul 30, 2010, at 2:47 PM, Jeff Schasny jscha...@gmail.com wrote:
 
  
 So far so good. Trigger installed. Trigger blows up. My trigger program 
 calls the *MAIL.SEND routine (which works when called from other programs 
 in this account) which is apparently blowing up when attempting to write an 
 item to the current directory (UFD) at line 214.
 
 Anyone have a guess on what this means?
 
 Program *MAIL.SEND: Line 214, FATAL: The locks necessary for database 
 operations at the current isolation level (0) are not held by this process.
 Error performing trigger for /upg/CUBUPG/CO.TF
 
 
 
 -- 
 
 Jeff Schasny - Denver, Co, USA
 jschasny at gmail dot com
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 
  
 
 -- 
 
 Jeff Schasny - Denver, Co, USA
 jschasny at gmail dot com
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2010-07-30 Thread phil walker
In summary, to get triggers working as you want in UV you need to:

a) Have a stub subroutine which is globally catalogued
b) This stub subroutine is the one which you attach to the trigger
c) This stub subroutine calls the main subroutine which does all the
work

The benefit of this is the stub subroutine will rarely change and so you
will not
Have to go through the whole drop/create trigger scenario. UV seems to
keep
Track if the called subroutine changes and will cause a runtime error if
it has.
You are then free to change your main subroutine as often as you like.
You should
Probably only catalog it though when the system is quiescent.

d) If you want to execute a command from TCL which is on the banned
list. Unban it
e) On attribute 4 of the VOC entry for the verb e.g. SH, add an H to the
list of letters.
f) This will allow you to perform the command with a transaction. A
trigger has an implicit
transaction.

This however does not get around the issue of trying to debug a program
which accesses
A file with a trigger on. If you execute a write or delete on this file
while debugging then
You will get an errorbut this is a separate issue and a pet peeve of
mine which is hopefully
Getting sorted.

We have been using this for years with no adverse effects, but you do
need to be aware that you
Will not be able to rollback what you are doing...In the case of
emailing though this is probably
Not something that you care about.

Regards,

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-
 boun...@listserver.u2ug.org] On Behalf Of Barry Rutherford
 Sent: Saturday, 31 July 2010 8:01 a.m.
 To: U2 Users List
 Subject: Re: [U2] Universe Triggers
 
 Have the subroutine that's called from your trigger routine write a
record
 into a file with the details for emailing.
 
 Then create a program that runs in cron that reads that file and sends
your
 emails
 
 Barry Rutherford
 Programmer / Analyst
 MobilexUSA
 930 Ridgebrook Rd, 3rd Floor
 Sparks, MD 21152
 Local: 443-662-4101 x 6162
 Toll Free: 800-786-8015 x 6162
 Fax: 443-662-4225
 http://www.mobilexusa.com
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff
Schasny
 Sent: Friday, July 30, 2010 3:47 PM
 To: U2 Users List
 Subject: Re: [U2] Universe Triggers
 
 Thank you all.
 
 After much putzing with the various parts involved it is beginning to
look like
 my original plan of having an email message sent when someone adds a
new
 record to this file is not to be. Apparently executing an SH verb in
a trigger
 program is not going to happen (Verb SH illegal
 
 when a transaction is active.). Boom Splat.
 
 
 
 Henry Unger wrote:
  Lock the record before you write it.
 
  Henry Unger
 
  Sent from my iPad
 
  On Jul 30, 2010, at 2:47 PM, Jeff Schasny jscha...@gmail.com
 wrote:
 
 
  So far so good. Trigger installed. Trigger blows up. My trigger
 program calls the *MAIL.SEND routine (which works when called from
other
 programs in this account) which is apparently blowing up when
attempting to
 write an item to the current directory (UFD) at line 214.
 
  Anyone have a guess on what this means?
 
  Program *MAIL.SEND: Line 214, FATAL: The locks necessary for
 database operations at the current isolation level (0) are not held by
this
 process.
  Error performing trigger for /upg/CUBUPG/CO.TF
 
 
 
  --
 


  Jeff Schasny - Denver, Co, USA
  jschasny at gmail dot com
 


  ___
  U2-Users mailing list
  U2-Users@listserver.u2ug.org
  http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 
  ___
  U2-Users mailing list
  U2-Users@listserver.u2ug.org
  http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 
 
 --


 Jeff Schasny - Denver, Co, USA
 jschasny at gmail dot com


 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 This e-mail (including any and all accompanying attachments) may
contain
 privileged and confidential information only meant to be accessed and
used
 by the intended recipient or the person(s) authorized to access and
deliver
 the intended recipient's e-mail.
 This e-mail may contain information that is privileged or otherwise
 confidential. It should not be copied or forwarded to any unauthorized
 persons. If you received this e-mail in error, please delete it
without copying
 or forwarding, and notify the sender by reply e-mail or by calling the
 MobilexUSA Privacy Office toll free at 1-866-686-1717.
 Thank you for your cooperation

Re: [U2] Universe Triggers

2010-07-30 Thread Neil Richards
dont forget that if the file is distributed that it requires a trigger on each 
file part.



From: u2-users-boun...@listserver.u2ug.org 
[u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny 
[jscha...@gmail.com]
Sent: Friday, July 30, 2010 10:12 AM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Thank You.

Now I need to drop the trigger and re create it. What is the drop
trigger syntax? Is all this actually documented somewhere?

Barry Rutherford wrote:
 Your subroutine has to be globally cataloged - nothing else will work.

 The syntax of the create trigger that works for me is this:

 CREATE TRIGGER BEFORE_INSERT BEFORE INSERT ON (FILE NAME) FOR EACH ROW
 CALLING *(subroutine name)

 BEFORE_INSERT - name I gave my trigger - can be anything you want
 (FILE NAME) - File trigger is attached to
 *(subroutine name) - globally cataloged subroutine that you want called

 Your sample subroutine below has 15 passed-in parameters and my programs
 only have 14 - I think you repeated the last one twice.

 Do I need to open the file to the SQLTRIG variable in the program? - No
 Do I need to open the dictionary to SCHEMA? - No

 Barry Rutherford
 Programmer / Analyst
 MobilexUSA
 930 Ridgebrook Rd, 3rd Floor
 Sparks, MD 21152
 Local: 443-662-4101 x 6162
 Toll Free: 800-786-8015 x 6162
 Fax: 443-662-4225
 http://www.mobilexusa.com


 -Original Message-
 From: 
 u2-users-boun...@listserver.u2ug.orgmailto:u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny
 Sent: Friday, July 30, 2010 11:47 AM
 To: U2-Users@listserver.u2ug.orgmailto:U2-Users@listserver.u2ug.org
 Subject: [U2] Universe Triggers

 AIX 5.3 UV 10.2Universe

 I want to put a trigger on a file to send an email message then a new
 item is written. I have read the (very non-helpful) section on triggers
 in the Universe System Description documentation but I'm still a bit
 confused. I have a program (subroutine) written with the arguments as
 established in the manual:

 0001: SUBROUTINE
 NEW_TRANSFER(SQLTRIG,SCHEMA,TABLE,EVENT,TIME,NEWID,NEWREC,OLD
 ID,OLDREC,ASSOC,ASSOC.EVENT,COUNT,CHAIN,CASCADE,CASCADE)

 Do I need to open the file to the SQLTRIG variable in the program?
 Do I need to open the dictionary to SCHEMA?


 I'm assuming that trigger_name below should be the catalog name of the
 program


 CREATE TRIGGER trigger_name [BEFORE | AFTER] INSERT

 Can someone provide a concise series of steps I need to take to set this
 up?



--

Jeff Schasny - Denver, Co, USA
jschasny at gmail dot com

___
U2-Users mailing list
U2-Users@listserver.u2ug.orgmailto:U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-11-10 Thread Curt Stewart
David,

Thanks for the ideas.  I don't have a great deal of access to this server,
it's being managed by IBM.  I think you can guess the kind of red tape
involved with doing anything.  

I'm pretty sure that most if not all the UV config's are set to the
defaults.  I didn't think about comparing the two. I'll get a copy of both
and do that this week.

Thanks for the ideas, I'll post my findings.

Curt Stewart
TRI-SYS Consulting
Integrated Multi-Value Business Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Hona, David
Sent: Tuesday, November 10, 2009 12:37 AM
To: 'U2 Users List'
Subject: Re: [U2] Universe Triggers

Did you do a sanity check (on your system/UV setup - not you:))- being a
Windows platform check- no real-time anti-virus scanner is in operation on
every file modification and that the UV config is NOT using the defaults
(perhaps you should be setting it to the something similar to your AIX UV
config - as applicable). Or any run-away processes do you get them same
thing after you rebooted your server?



-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
Sent: Sunday, 1 November 2009 12:15 AM
To: 'U2 Users List'
Subject: Re: [U2] Universe Triggers

Phil,

This appears to be a Windows bug.  I ran my test program on a Universe 10.3
AIX box and it also took just 2 seconds.

Does anyone know if this bug is scheduled for resolution?

Thanks everyone, for all the help

Curt Stewart
TRI-SYS Consulting
Integrated Multi-Value Business Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of phil walker
Sent: Saturday, October 31, 2009 1:05 AM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Universe 10.3.1 RHEL 4.x and 10.1.13 Dec Alpha

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- 
 boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
 Sent: Saturday, 31 October 2009 5:46 p.m.
 To: 'U2 Users List'
 Subject: Re: [U2] Universe Triggers
 
 Phil,
 
 My test file is 1009,1 type 18. My record id is just a sequential 
 number 1 to 10,000 for this test file and the data is only 40-50 more 
 bytes.
So
 I
 don't think the file size is the problem.  I've tested the logic by 
 calling the trigger subroutine direct from the program and I get a 2 
 second process time, so I don't think the logic is the problem either.
 
 Are you on Universe or Unidata?
 
 Thanks for the response.
 
 Curt Stewart
 TRI-SYS Consulting
 Integrated Multi-Value Business Solutions
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of phil walker
 Sent: Friday, October 30, 2009 5:39 PM
 To: U2 Users List
 Subject: Re: [U2] Universe Triggers
 
 Check your file sizes out or your logic, because I experience nothing 
 like this still subsecond responses, and we use triggers for 
 auditing/data quality/ and replication through a log/webservice to 
 sql, although the later part of that is handled asynchronously
 
 

** IMPORTANT MESSAGE *   
This e-mail message is intended only for the addressee(s) and contains
information which may be confidential. 
If you are not the intended recipient please advise the sender by return
email, do not use or disclose the contents, and delete the message and any
attachments from your system. Unless specifically indicated, this email does
not constitute formal advice or commitment by the sender or the Commonwealth
Bank of Australia (ABN 48 123 123 124) or its subsidiaries. 
We can be contacted through our web site: commbank.com.au. 
If you no longer wish to receive commercial electronic messages from us,
please reply to this e-mail by typing Unsubscribe in the subject line. 
**



___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-11-09 Thread Hona, David
Did you do a sanity check (on your system/UV setup - not you:))- being a 
Windows platform check- no real-time anti-virus scanner is in operation on 
every file modification and that the UV config is NOT using the defaults 
(perhaps you should be setting it to the something similar to your AIX UV 
config - as applicable). Or any run-away processes do you get them same 
thing after you rebooted your server?



-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
Sent: Sunday, 1 November 2009 12:15 AM
To: 'U2 Users List'
Subject: Re: [U2] Universe Triggers

Phil,

This appears to be a Windows bug.  I ran my test program on a Universe 10.3
AIX box and it also took just 2 seconds.

Does anyone know if this bug is scheduled for resolution?

Thanks everyone, for all the help

Curt Stewart
TRI-SYS Consulting
Integrated Multi-Value Business Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of phil walker
Sent: Saturday, October 31, 2009 1:05 AM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Universe 10.3.1 RHEL 4.x and 10.1.13 Dec Alpha

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- 
 boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
 Sent: Saturday, 31 October 2009 5:46 p.m.
 To: 'U2 Users List'
 Subject: Re: [U2] Universe Triggers
 
 Phil,
 
 My test file is 1009,1 type 18. My record id is just a sequential 
 number 1 to 10,000 for this test file and the data is only 40-50 more 
 bytes.
So
 I
 don't think the file size is the problem.  I've tested the logic by 
 calling the trigger subroutine direct from the program and I get a 2 
 second process time, so I don't think the logic is the problem either.
 
 Are you on Universe or Unidata?
 
 Thanks for the response.
 
 Curt Stewart
 TRI-SYS Consulting
 Integrated Multi-Value Business Solutions
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of phil walker
 Sent: Friday, October 30, 2009 5:39 PM
 To: U2 Users List
 Subject: Re: [U2] Universe Triggers
 
 Check your file sizes out or your logic, because I experience nothing 
 like this still subsecond responses, and we use triggers for 
 auditing/data quality/ and replication through a log/webservice to 
 sql, although the later part of that is handled asynchronously
 
 

** IMPORTANT MESSAGE *   
This e-mail message is intended only for the addressee(s) and contains 
information which may be
confidential. 
If you are not the intended recipient please advise the sender by return email, 
do not use or
disclose the contents, and delete the message and any attachments from your 
system. Unless
specifically indicated, this email does not constitute formal advice or 
commitment by the sender
or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its subsidiaries. 
We can be contacted through our web site: commbank.com.au. 
If you no longer wish to receive commercial electronic messages from us, please 
reply to this
e-mail by typing Unsubscribe in the subject line. 
**



___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-11-01 Thread Curt Stewart
Kevin,

I resized the VOC and it did not help at all.  It was worth a shot. Thanks
for the idea.

Curt Stewart
TRI-SYS Consulting
Integrated Multi-Value Business Solutions



-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King
Sent: Saturday, October 31, 2009 11:25 PM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Crazy thought... Could it have anything to do with the VOC being too small?
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-10-31 Thread phil walker
Universe 10.3.1 RHEL 4.x and 10.1.13 Dec Alpha

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-
 boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
 Sent: Saturday, 31 October 2009 5:46 p.m.
 To: 'U2 Users List'
 Subject: Re: [U2] Universe Triggers
 
 Phil,
 
 My test file is 1009,1 type 18. My record id is just a sequential
 number 1
 to 10,000 for this test file and the data is only 40-50 more bytes.
So
 I
 don't think the file size is the problem.  I've tested the logic by
 calling
 the trigger subroutine direct from the program and I get a 2 second
 process
 time, so I don't think the logic is the problem either.
 
 Are you on Universe or Unidata?
 
 Thanks for the response.
 
 Curt Stewart
 TRI-SYS Consulting
 Integrated Multi-Value Business Solutions
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of phil walker
 Sent: Friday, October 30, 2009 5:39 PM
 To: U2 Users List
 Subject: Re: [U2] Universe Triggers
 
 Check your file sizes out or your logic, because I experience nothing
 like
 this still subsecond responses, and we use triggers for auditing/data
 quality/ and replication through a log/webservice to sql, although the
 later
 part of that is handled asynchronously
 
 
  -Original Message-
  From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-
  boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
  Sent: Saturday, 31 October 2009 6:45 a.m.
  To: 'U2 Users List'
  Subject: Re: [U2] Universe Triggers
 
  Thanks Doug,
 
  That's pretty much the conclusion I came to after I ran my test on a
  10.3.3
  Universe system.
 
  Unfortunately, this application doesn't use a common WRITE or DELETE
  routine, so I get to update about 90 programs with the audit logic.
  It'll be
  tedious but not too bad.
 
  Thanks for the feedback
 
  Curt Stewart
  TRI-SYS Consulting
  Integrated Multi-Value Business Solutions www.tri-sysconsulting.com
 
 
  -Original Message-
  From: u2-users-boun...@listserver.u2ug.org
  [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug
  Sent: Friday, October 30, 2009 12:19 PM
  To: 'U2 Users List'
  Subject: Re: [U2] Universe Triggers
 
  Curt,
 
  We run Web applications a 25 second delay would be a death march for
  our staff with the users pointing things at us. This is a known
  Universe issue and to be fixed on a later release according the
folks
  at U2 University.
 
  We wrote our own auditing the works with Universe and Unidata.  This
 is
  pretty easy for us since high percentage of our writes and deletes
 are
  handled out of a single subroutine.  The programs that use their own
  WRITE or DELETE had to have all another line or two added to
complete
  the auditing processes.
 
  We have about a 50-300ms delay for the additional read and writes to
  the audit file. This strategy works very well for our call center
  application.
 
  Regards,
  Doug
 
  -Original Message-
  From: u2-users-boun...@listserver.u2ug.org
  [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Curt
 Stewart
  Sent: Friday, October 30, 2009 10:37 AM
  To: 'U2 Users List'
  Subject: Re: [U2] Universe Triggers
 
  The speed issue is not in the subroutine itself.  I tried a
 subroutine
  that did nothing, just a return and the process takes 25 seconds
  compared
 to
  2
  seconds with out a trigger.  My main trigger subroutine is using a
  common for the file opens and that did cut the processing time down
  from 2 minutes to 25 seconds, but 25 seconds still seems pretty
slow.
 
  Does Universe require any special settings for triggers? Or file
 types?
  Does the account have to be a specific flavor of Pick? Permissions?
 
  I don't know any other thoughts or suggestions? My searches have not
  turned up anything useful but someone's post did say that they found
  it to be slow on 10.2 but they did not elaborate or get a response
  that I found.
 
  Thanks for your help.
  Curt
 
  ___
  U2-Users mailing list
  U2-Users@listserver.u2ug.org
  http://listserver.u2ug.org/mailman/listinfo/u2-users
 
  ___
  U2-Users mailing list
  U2-Users@listserver.u2ug.org
  http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-10-31 Thread Curt Stewart
Phil,

This appears to be a Windows bug.  I ran my test program on a Universe 10.3
AIX box and it also took just 2 seconds.

Does anyone know if this bug is scheduled for resolution?

Thanks everyone, for all the help

Curt Stewart
TRI-SYS Consulting
Integrated Multi-Value Business Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of phil walker
Sent: Saturday, October 31, 2009 1:05 AM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Universe 10.3.1 RHEL 4.x and 10.1.13 Dec Alpha

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- 
 boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
 Sent: Saturday, 31 October 2009 5:46 p.m.
 To: 'U2 Users List'
 Subject: Re: [U2] Universe Triggers
 
 Phil,
 
 My test file is 1009,1 type 18. My record id is just a sequential 
 number 1 to 10,000 for this test file and the data is only 40-50 more 
 bytes.
So
 I
 don't think the file size is the problem.  I've tested the logic by 
 calling the trigger subroutine direct from the program and I get a 2 
 second process time, so I don't think the logic is the problem either.
 
 Are you on Universe or Unidata?
 
 Thanks for the response.
 
 Curt Stewart
 TRI-SYS Consulting
 Integrated Multi-Value Business Solutions
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of phil walker
 Sent: Friday, October 30, 2009 5:39 PM
 To: U2 Users List
 Subject: Re: [U2] Universe Triggers
 
 Check your file sizes out or your logic, because I experience nothing 
 like this still subsecond responses, and we use triggers for 
 auditing/data quality/ and replication through a log/webservice to 
 sql, although the later part of that is handled asynchronously
 
 
  -Original Message-
  From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- 
  boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
  Sent: Saturday, 31 October 2009 6:45 a.m.
  To: 'U2 Users List'
  Subject: Re: [U2] Universe Triggers
 
  Thanks Doug,
 
  That's pretty much the conclusion I came to after I ran my test on a
  10.3.3
  Universe system.
 
  Unfortunately, this application doesn't use a common WRITE or DELETE 
  routine, so I get to update about 90 programs with the audit logic.
  It'll be
  tedious but not too bad.
 
  Thanks for the feedback
 
  Curt Stewart
  TRI-SYS Consulting
  Integrated Multi-Value Business Solutions www.tri-sysconsulting.com
 
 
  -Original Message-
  From: u2-users-boun...@listserver.u2ug.org
  [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug
  Sent: Friday, October 30, 2009 12:19 PM
  To: 'U2 Users List'
  Subject: Re: [U2] Universe Triggers
 
  Curt,
 
  We run Web applications a 25 second delay would be a death march for 
  our staff with the users pointing things at us. This is a known 
  Universe issue and to be fixed on a later release according the
folks
  at U2 University.
 
  We wrote our own auditing the works with Universe and Unidata.  This
 is
  pretty easy for us since high percentage of our writes and deletes
 are
  handled out of a single subroutine.  The programs that use their own 
  WRITE or DELETE had to have all another line or two added to
complete
  the auditing processes.
 
  We have about a 50-300ms delay for the additional read and writes to 
  the audit file. This strategy works very well for our call center 
  application.
 
  Regards,
  Doug
 
  -Original Message-
  From: u2-users-boun...@listserver.u2ug.org
  [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Curt
 Stewart
  Sent: Friday, October 30, 2009 10:37 AM
  To: 'U2 Users List'
  Subject: Re: [U2] Universe Triggers
 
  The speed issue is not in the subroutine itself.  I tried a
 subroutine
  that did nothing, just a return and the process takes 25 seconds 
  compared
 to
  2
  seconds with out a trigger.  My main trigger subroutine is using a 
  common for the file opens and that did cut the processing time down 
  from 2 minutes to 25 seconds, but 25 seconds still seems pretty
slow.
 
  Does Universe require any special settings for triggers? Or file
 types?
  Does the account have to be a specific flavor of Pick? Permissions?
 
  I don't know any other thoughts or suggestions? My searches have not 
  turned up anything useful but someone's post did say that they found 
  it to be slow on 10.2 but they did not elaborate or get a response 
  that I found.
 
  Thanks for your help.
  Curt
 
  ___
  U2-Users mailing list
  U2-Users@listserver.u2ug.org
  http://listserver.u2ug.org/mailman/listinfo/u2-users
 
  ___
  U2-Users mailing list
  U2-Users@listserver.u2ug.org
  http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 
 ___
 U2-Users mailing list
 U2-Users

Re: [U2] Universe Triggers

2009-10-31 Thread Kevin King
Crazy thought... Could it have anything to do with the VOC being too small?
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Universe Triggers

2009-10-30 Thread Curt Stewart
I’m testing using triggers to maintain an Audit log of transactions. 
Everything works, the file, the subroutine, but the trigger process is
extremely slow.  

My test program loops through 1 to 1 and writes a record to my test file
with the trigger.  Without the trigger in place the program runs in 2
seconds, with the trigger in place the program runs in 25 seconds.  The
timings are roughly the same if the trigger program is doing nothing more
than a return.  I’ve also tested calling the trigger subroutine from the
program (without the trigger on the file) and the process runs in 2-3
seconds.

This is Universe 10.2.10 on a virtual Windows 2003 server.  The trigger file
is type 18 and the trigger was created with this statement;
CREATE TRIGGER AUDIT_LOG BEFORE UPDATE OR INSERT OR DELETE ON
TEST.TRIGGER.FILE FOR EACH ROW CALLING '*apps*AUDIT.LOG.TRIGGER';

It appears that just calling a trigger significantly degrades the process. 
Does anyone have any ideas or suggestions.

Thanks for any help you can provide.
Curt 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-10-30 Thread George Gallen
is the trigger program doing any file opens? That would probably be your slow 
down.

I've not tried to setup a common with any of the triggers I've setup, since the 
number
of writes has been minimal for us (maybe 5 per hour maximum).

George

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-
 boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
 Sent: Friday, October 30, 2009 10:47 AM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Universe Triggers

 I'm testing using triggers to maintain an Audit log of transactions.
 Everything works, the file, the subroutine, but the trigger process is
 extremely slow.

 My test program loops through 1 to 1 and writes a record to my test
 file
 with the trigger.  Without the trigger in place the program runs in 2
 seconds, with the trigger in place the program runs in 25 seconds.  The
 timings are roughly the same if the trigger program is doing nothing
 more
 than a return.  I've also tested calling the trigger subroutine from
 the
 program (without the trigger on the file) and the process runs in 2-3
 seconds.

 This is Universe 10.2.10 on a virtual Windows 2003 server.  The trigger
 file
 is type 18 and the trigger was created with this statement;
 CREATE TRIGGER AUDIT_LOG BEFORE UPDATE OR INSERT OR DELETE ON
 TEST.TRIGGER.FILE FOR EACH ROW CALLING '*apps*AUDIT.LOG.TRIGGER';

 It appears that just calling a trigger significantly degrades the
 process.
 Does anyone have any ideas or suggestions.

 Thanks for any help you can provide.
 Curt

 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-10-30 Thread Raymond P. de Bourbon
I have written code to run in both UniData and UniVerse for tracking
audit information within triggers.. In order to maintain a decent
performance level by avoiding repetitive and expensive file opens, we
use either a set of known named common variables for specific files, or
we have a generic caching mechanism using named common that keeps files
open for as long as there is activity within the application..

Basically, in the caching mode, we have a rotating list of 20 file
handles that can be active at any point in time. All file opens are done
via a standard open subroutine, which checks the cache list first for
the file handle, and if found bumps its priority to ensure it remains
in cache before returning the handle, if not found in cache the
subroutine will open the file and optionally add its handle to cache for
future use. If the cache is full, the file at the bottom of the list is
dropped and flagged to be closed.. When the accompanying close
subroutine is called, if the item is no longer on the cache, the file is
closed.

HTH

Ray


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
Sent: 30 October 2009 15:38
To: U2 Users List
Subject: Re: [U2] Universe Triggers

is the trigger program doing any file opens? That would probably be your
slow down.

I've not tried to setup a common with any of the triggers I've setup,
since the number
of writes has been minimal for us (maybe 5 per hour maximum).

George

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-
 boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
 Sent: Friday, October 30, 2009 10:47 AM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Universe Triggers

 I'm testing using triggers to maintain an Audit log of transactions.
 Everything works, the file, the subroutine, but the trigger process is
 extremely slow.

 My test program loops through 1 to 1 and writes a record to my
test
 file
 with the trigger.  Without the trigger in place the program runs in 2
 seconds, with the trigger in place the program runs in 25 seconds.
The
 timings are roughly the same if the trigger program is doing nothing
 more
 than a return.  I've also tested calling the trigger subroutine from
 the
 program (without the trigger on the file) and the process runs in 2-3
 seconds.

 This is Universe 10.2.10 on a virtual Windows 2003 server.  The
trigger
 file
 is type 18 and the trigger was created with this statement;
 CREATE TRIGGER AUDIT_LOG BEFORE UPDATE OR INSERT OR DELETE ON
 TEST.TRIGGER.FILE FOR EACH ROW CALLING '*apps*AUDIT.LOG.TRIGGER';

 It appears that just calling a trigger significantly degrades the
 process.
 Does anyone have any ideas or suggestions.

 Thanks for any help you can provide.
 Curt

 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-10-30 Thread Curt Stewart
The speed issue is not in the subroutine itself.  I tried a subroutine that
did nothing, just a return and the process takes 25 seconds compared to 2
seconds with out a trigger.  My main trigger subroutine is using a common
for the file opens and that did cut the processing time down from 2 minutes
to 25 seconds, but 25 seconds still seems pretty slow.

Does Universe require any special settings for triggers? Or file types?
Does the account have to be a specific flavor of Pick? Permissions?

I don't know any other thoughts or suggestions? My searches have not turned
up anything useful but someone's post did say that they found it to be slow
on 10.2 but they did not elaborate or get a response that I found.

Thanks for your help.
Curt


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
Sent: Friday, October 30, 2009 10:38 AM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

is the trigger program doing any file opens? That would probably be your
slow down.

I've not tried to setup a common with any of the triggers I've setup, since
the number of writes has been minimal for us (maybe 5 per hour maximum).

George

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- 
 boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
 Sent: Friday, October 30, 2009 10:47 AM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Universe Triggers

 I'm testing using triggers to maintain an Audit log of transactions.
 Everything works, the file, the subroutine, but the trigger process is 
 extremely slow.

 My test program loops through 1 to 1 and writes a record to my 
 test file with the trigger.  Without the trigger in place the program 
 runs in 2 seconds, with the trigger in place the program runs in 25 
 seconds.  The timings are roughly the same if the trigger program is 
 doing nothing more than a return.  I've also tested calling the 
 trigger subroutine from the program (without the trigger on the file) 
 and the process runs in 2-3 seconds.

 This is Universe 10.2.10 on a virtual Windows 2003 server.  The 
 trigger file is type 18 and the trigger was created with this 
 statement; CREATE TRIGGER AUDIT_LOG BEFORE UPDATE OR INSERT OR DELETE 
 ON TEST.TRIGGER.FILE FOR EACH ROW CALLING '*apps*AUDIT.LOG.TRIGGER';

 It appears that just calling a trigger significantly degrades the 
 process.
 Does anyone have any ideas or suggestions.

 Thanks for any help you can provide.
 Curt

 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-10-30 Thread Doug
Curt,

We run Web applications a 25 second delay would be a death march for our
staff with the users pointing things at us. This is a known Universe issue
and to be fixed on a later release according the folks at U2 University.

We wrote our own auditing the works with Universe and Unidata.  This is
pretty easy for us since high percentage of our writes and deletes are
handled out of a single subroutine.  The programs that use their own WRITE
or DELETE had to have all another line or two added to complete the auditing
processes. 

We have about a 50-300ms delay for the additional read and writes to the
audit file. This strategy works very well for our call center application.

Regards,
Doug

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
Sent: Friday, October 30, 2009 10:37 AM
To: 'U2 Users List'
Subject: Re: [U2] Universe Triggers

The speed issue is not in the subroutine itself.  I tried a subroutine that
did nothing, just a return and the process takes 25 seconds compared to 2
seconds with out a trigger.  My main trigger subroutine is using a common
for the file opens and that did cut the processing time down from 2 minutes
to 25 seconds, but 25 seconds still seems pretty slow.

Does Universe require any special settings for triggers? Or file types?
Does the account have to be a specific flavor of Pick? Permissions?

I don't know any other thoughts or suggestions? My searches have not turned
up anything useful but someone's post did say that they found it to be slow
on 10.2 but they did not elaborate or get a response that I found.

Thanks for your help.
Curt

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-10-30 Thread Curt Stewart
Thanks Doug,

That's pretty much the conclusion I came to after I ran my test on a 10.3.3
Universe system.  

Unfortunately, this application doesn't use a common WRITE or DELETE
routine, so I get to update about 90 programs with the audit logic. It'll be
tedious but not too bad.

Thanks for the feedback

Curt Stewart
TRI-SYS Consulting
Integrated Multi-Value Business Solutions
www.tri-sysconsulting.com


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug
Sent: Friday, October 30, 2009 12:19 PM
To: 'U2 Users List'
Subject: Re: [U2] Universe Triggers

Curt,

We run Web applications a 25 second delay would be a death march for our
staff with the users pointing things at us. This is a known Universe issue
and to be fixed on a later release according the folks at U2 University.

We wrote our own auditing the works with Universe and Unidata.  This is
pretty easy for us since high percentage of our writes and deletes are
handled out of a single subroutine.  The programs that use their own WRITE
or DELETE had to have all another line or two added to complete the auditing
processes. 

We have about a 50-300ms delay for the additional read and writes to the
audit file. This strategy works very well for our call center application.

Regards,
Doug

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
Sent: Friday, October 30, 2009 10:37 AM
To: 'U2 Users List'
Subject: Re: [U2] Universe Triggers

The speed issue is not in the subroutine itself.  I tried a subroutine that
did nothing, just a return and the process takes 25 seconds compared to 2
seconds with out a trigger.  My main trigger subroutine is using a common
for the file opens and that did cut the processing time down from 2 minutes
to 25 seconds, but 25 seconds still seems pretty slow.

Does Universe require any special settings for triggers? Or file types?
Does the account have to be a specific flavor of Pick? Permissions?

I don't know any other thoughts or suggestions? My searches have not turned
up anything useful but someone's post did say that they found it to be slow
on 10.2 but they did not elaborate or get a response that I found.

Thanks for your help.
Curt

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-10-30 Thread phil walker
Check your file sizes out or your logic, because I experience nothing
like this still subsecond responses, and we use triggers for
auditing/data quality/ and replication through a log/webservice to sql,
although the later part of that is handled asynchronously


 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-
 boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
 Sent: Saturday, 31 October 2009 6:45 a.m.
 To: 'U2 Users List'
 Subject: Re: [U2] Universe Triggers
 
 Thanks Doug,
 
 That's pretty much the conclusion I came to after I ran my test on a
 10.3.3
 Universe system.
 
 Unfortunately, this application doesn't use a common WRITE or DELETE
 routine, so I get to update about 90 programs with the audit logic.
 It'll be
 tedious but not too bad.
 
 Thanks for the feedback
 
 Curt Stewart
 TRI-SYS Consulting
 Integrated Multi-Value Business Solutions
 www.tri-sysconsulting.com
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug
 Sent: Friday, October 30, 2009 12:19 PM
 To: 'U2 Users List'
 Subject: Re: [U2] Universe Triggers
 
 Curt,
 
 We run Web applications a 25 second delay would be a death march for
 our
 staff with the users pointing things at us. This is a known Universe
 issue
 and to be fixed on a later release according the folks at U2
 University.
 
 We wrote our own auditing the works with Universe and Unidata.  This
is
 pretty easy for us since high percentage of our writes and deletes are
 handled out of a single subroutine.  The programs that use their own
 WRITE
 or DELETE had to have all another line or two added to complete the
 auditing
 processes.
 
 We have about a 50-300ms delay for the additional read and writes to
 the
 audit file. This strategy works very well for our call center
 application.
 
 Regards,
 Doug
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Curt
Stewart
 Sent: Friday, October 30, 2009 10:37 AM
 To: 'U2 Users List'
 Subject: Re: [U2] Universe Triggers
 
 The speed issue is not in the subroutine itself.  I tried a subroutine
 that
 did nothing, just a return and the process takes 25 seconds compared
to
 2
 seconds with out a trigger.  My main trigger subroutine is using a
 common
 for the file opens and that did cut the processing time down from 2
 minutes
 to 25 seconds, but 25 seconds still seems pretty slow.
 
 Does Universe require any special settings for triggers? Or file
types?
 Does the account have to be a specific flavor of Pick? Permissions?
 
 I don't know any other thoughts or suggestions? My searches have not
 turned
 up anything useful but someone's post did say that they found it to be
 slow
 on 10.2 but they did not elaborate or get a response that I found.
 
 Thanks for your help.
 Curt
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe Triggers

2009-10-30 Thread Curt Stewart
Phil,

My test file is 1009,1 type 18. My record id is just a sequential number 1
to 10,000 for this test file and the data is only 40-50 more bytes.  So I
don't think the file size is the problem.  I've tested the logic by calling
the trigger subroutine direct from the program and I get a 2 second process
time, so I don't think the logic is the problem either.

Are you on Universe or Unidata?

Thanks for the response.

Curt Stewart
TRI-SYS Consulting
Integrated Multi-Value Business Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of phil walker
Sent: Friday, October 30, 2009 5:39 PM
To: U2 Users List
Subject: Re: [U2] Universe Triggers

Check your file sizes out or your logic, because I experience nothing like
this still subsecond responses, and we use triggers for auditing/data
quality/ and replication through a log/webservice to sql, although the later
part of that is handled asynchronously


 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- 
 boun...@listserver.u2ug.org] On Behalf Of Curt Stewart
 Sent: Saturday, 31 October 2009 6:45 a.m.
 To: 'U2 Users List'
 Subject: Re: [U2] Universe Triggers
 
 Thanks Doug,
 
 That's pretty much the conclusion I came to after I ran my test on a
 10.3.3
 Universe system.
 
 Unfortunately, this application doesn't use a common WRITE or DELETE 
 routine, so I get to update about 90 programs with the audit logic.
 It'll be
 tedious but not too bad.
 
 Thanks for the feedback
 
 Curt Stewart
 TRI-SYS Consulting
 Integrated Multi-Value Business Solutions www.tri-sysconsulting.com
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug
 Sent: Friday, October 30, 2009 12:19 PM
 To: 'U2 Users List'
 Subject: Re: [U2] Universe Triggers
 
 Curt,
 
 We run Web applications a 25 second delay would be a death march for 
 our staff with the users pointing things at us. This is a known 
 Universe issue and to be fixed on a later release according the folks 
 at U2 University.
 
 We wrote our own auditing the works with Universe and Unidata.  This
is
 pretty easy for us since high percentage of our writes and deletes are 
 handled out of a single subroutine.  The programs that use their own 
 WRITE or DELETE had to have all another line or two added to complete 
 the auditing processes.
 
 We have about a 50-300ms delay for the additional read and writes to 
 the audit file. This strategy works very well for our call center 
 application.
 
 Regards,
 Doug
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Curt
Stewart
 Sent: Friday, October 30, 2009 10:37 AM
 To: 'U2 Users List'
 Subject: Re: [U2] Universe Triggers
 
 The speed issue is not in the subroutine itself.  I tried a subroutine 
 that did nothing, just a return and the process takes 25 seconds 
 compared
to
 2
 seconds with out a trigger.  My main trigger subroutine is using a 
 common for the file opens and that did cut the processing time down 
 from 2 minutes to 25 seconds, but 25 seconds still seems pretty slow.
 
 Does Universe require any special settings for triggers? Or file
types?
 Does the account have to be a specific flavor of Pick? Permissions?
 
 I don't know any other thoughts or suggestions? My searches have not 
 turned up anything useful but someone's post did say that they found 
 it to be slow on 10.2 but they did not elaborate or get a response 
 that I found.
 
 Thanks for your help.
 Curt
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


RE: [U2] Universe triggers (still more)

2008-12-03 Thread Hona, David S
Great feedback Susan.

Perhaps you should make some suggests to IBM U2 team for a few tweaks
to UV triggers? 

I guess this highlights too different schools of thought. The quick and
dirty world of PICK/U2 and the by-the-book of relational databases.
Each has pros and cons. Where the two meet, we have a somewhat unhappy
union - at times...such as it.

You can have half-baked index-based triggers (I-types indexed and when
updated call BASIC subroutines - all well documented by others in the
past) or true triggers like UV offers. Originally, UV triggers were
only available with SQL-ized UV tables only. Lots of power, but so much
over-head too and some annoying constraints (in some respects).  

UniVerse BASIC has the ICHECK() function, but this is for pre-write
data+key validation against SQL integrity constraints only. Perhaps IBM
can make a enhancement to allow validation against the trigger as well
(perhaps it does now days, I can't check at the moment).

Regards,
David


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Susan Joslyn
Sent: Wednesday, 3 December 2008 12:16 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Universe triggers (still more)

Thanks to the folks who gave me info on Unidata triggers.  I've had
those
implemented for years and they do work very simply and well.  Universe
has
been a whole different ballgame.
SNIPPED
Susan Joslyn
SJ+ Systems Associates, Inc.
PRC(r) Complete software development life-cycle management for U2.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe triggers (still more)

2008-12-02 Thread Manu Fernandes
Hello Susan,

It seems that the SetDiagnostics() is a Function, you must use 
VAR=SetDiagnostics('errtxt')
(I have not tested it into a trigger set on a non-SQL file !)

If I want to refuse the update into the trigger, I make : newrec = oldrec.
This don't change the record and don't crash the program :-)

You must set the trigger on event UPDATE and time BEFORE.

My two pence.
Manu


 -Message d'origine-
 De : [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] De la part de Susan Joslyn
 Envoyi : lundi 1 dicembre 2008 17:16
 @ : u2-users@listserver.u2ug.org
 Objet : [U2] Universe triggers (still more)
 
 Hi everyone,
 
 
 
 I have the triggers working - yay! Thanks Manu! - but now I'm to the
 next
 step, and of course stumbling again!  My program sets a flag when it
 wants
 to disallow the write that called the trigger.  The manual seems to
 suggest
 that I could use SetDiagnostic to fail this . but I'm not even getting
 my
 program to compile and can't find further information on the syntax of
 that
 command.  Anyone know how to tell the trigger to refuse the write?
 
 
 
 Susan
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe triggers (still more)

2008-12-02 Thread Manu Fernandes
Hi,

Thanks Susan for the resume of the method.

From IBM U2U UK, I read announcement for new Rapid Triggers on Universe 10.3 
(or 11) ;
I receive no specs but I hope the new implementation consider theses stuffs. 

Regards.
Manu.

 -Message d'origine-
 De : [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] De la part de Susan Joslyn
 Envoyi : mardi 2 dicembre 2008 14:16
 @ : u2-users@listserver.u2ug.org
 Objet : Re: [U2] Universe triggers (still more)
 
 Thanks to the folks who gave me info on Unidata triggers.  I've had
 those
 implemented for years and they do work very simply and well.  Universe
 has
 been a whole different ballgame.
 
 It turns out that Universe has cleverly adapted the triggers from SQL.
 I
 say cleverly because it probably really is on some esoteric
 mathematical
 level.  And certain from a viewpoint of 'using what you have'. But for
 an
 old Pickie like me it has been very foreign.  Also they have made use
 of the
 Begin Transaction business - so that the writes can be rolled back
 using
 that existing logic, I reckon.  Again, good re-use. But this is also an
 area
 that I'm not familiar with.
 
 The three problems that I had were with:
 1) The SB+ COMMON block - this was resolved by adding $OPTIONS PICK to
 the
 trigger program - and to all the programs down the line that it called.
 
 2) WRITES requiring locks: The Begin Transaction relies on a system
 variable
 called ISOMODE which can be set to 0,1 or 2 to control how rigorous the
 locking requirements are - as part of the 'transaction/rollback' stuff.
 I
 was able to get my programs working by making sure I had a READU before
 each
 WRITE (which I didn't have in some cases - where I had decided in my
 own
 wisdom that it was safe not to do it - audit logs, new items, etc.) but
 I
 can't get into the SB+ code and the authors thereof were also of this
 same
 wisdom.  But it turned out that by using Uniadmin to set ISOMODE to 0,
 this
 problem was alleviated.
 
 3) Last, I wanted to be able to control whether the write should occur.
 I
 can do it - the manual was not clear on the syntax and I kept thinking
 there
 was something more, but apparently as long as I put:
 DUMMY = SetDiagnostics(This message is about why the item cannot be
 written), the trigger will fail the write and display that message. I
 don't
 display that message, I don't use the variable DUMMY, I don't set any
 particular flag.  The display and the failure to write is not pretty.
 
 4) One thing I cannot overcome is that the triggers in Universe will
 not
 permit any interaction.  So my program can't explain to the user why it
 doesn't think they should write and then allow them to make a decision.
 It
 throws them back into their item, though, so I guess they can save the
 item
 somewhere else or something from there.
 
 Again, thanks to Manu in particular who has obviously fought the exact
 same
 battle - and to those of you who offered up the how to in Unidata.
 You
 are so lucky you are doing it in Unidata!
 
 Hope this helps someone else, some day.
 
 Susan Joslyn
 SJ+ Systems Associates, Inc.
 PRC(r) Complete software development life-cycle management for U2.
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe triggers (still more) {Unclassified}

2008-12-02 Thread HENDERSON MIKE, MR
Susan,

On a Windows system, you can write to the Event Log so that you can at
least leave some 'footprints' when this happens - it's a general problem
when you use Transaction State because it rolls back EVERYTHING which
makes it hard when the transaction has been created from UniObjects.

What I did was to use the UVRunCommand() function to call the DOS
function eventcreate, like this:-
==
DOS.STRING = 'eventcreate /T ':EVENT.TYPE
DOS.STRING := ' /ID ':EVENT.ID
DOS.STRING := ' /L ':EVENT.LOG
DOS.STRING := ' /SO ':QUOTE(EVENT.SOURCE)
DOS.STRING := ' /D ':QUOTE(EVENT.DESCRIPTION)

DOS.STATUS = UVRunCommand('c:\WINDOWS\system32\cmd.exe /c ':DOS.STRING)
==

Notes:
1) UVRunCommand() will work in Transaction State, whereas PERFORM
'DOS \c ...' won't
2) You can get most of the details on eventcreate by typing
eventcreate /? at a Windows Command-Line (DOS) prompt.
3) It seems like you can't use the same 'Event Source' string to log
events in more than one of the System and Application Event logs
4) Works on Windows XP, Windows Server 2003 and Windows Server 2008.
Probably works on lots of Windows platforms, I just haven't tried it.
5) I wrapped all the code in a called SUBROUTINE so I could put in
sensible defaults etc.


YMMV and non-Windows platforms will obviously require different
solutions


Regards


Mike


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Susan Joslyn
Sent: Wednesday, 3 December 2008 2:16 a.m.
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Universe triggers (still more)

Thanks to the folks who gave me info on Unidata triggers.  I've had
those
implemented for years and they do work very simply and well.  Universe
has
been a whole different ballgame.

It turns out that Universe has cleverly adapted the triggers from SQL.
I
say cleverly because it probably really is on some esoteric mathematical
level.  And certain from a viewpoint of 'using what you have'. But for
an
old Pickie like me it has been very foreign.  Also they have made use of
the
Begin Transaction business - so that the writes can be rolled back using
that existing logic, I reckon.  Again, good re-use. But this is also an
area
that I'm not familiar with.  

The three problems that I had were with:
1) The SB+ COMMON block - this was resolved by adding $OPTIONS PICK to
the
trigger program - and to all the programs down the line that it called.

2) WRITES requiring locks: The Begin Transaction relies on a system
variable
called ISOMODE which can be set to 0,1 or 2 to control how rigorous the
locking requirements are - as part of the 'transaction/rollback' stuff.
I
was able to get my programs working by making sure I had a READU before
each
WRITE (which I didn't have in some cases - where I had decided in my own
wisdom that it was safe not to do it - audit logs, new items, etc.) but
I
can't get into the SB+ code and the authors thereof were also of this
same
wisdom.  But it turned out that by using Uniadmin to set ISOMODE to 0,
this
problem was alleviated.
 
3) Last, I wanted to be able to control whether the write should occur.
I
can do it - the manual was not clear on the syntax and I kept thinking
there
was something more, but apparently as long as I put:
DUMMY = SetDiagnostics(This message is about why the item cannot be
written), the trigger will fail the write and display that message. I
don't
display that message, I don't use the variable DUMMY, I don't set any
particular flag.  The display and the failure to write is not pretty.

4) One thing I cannot overcome is that the triggers in Universe will not
permit any interaction.  So my program can't explain to the user why it
doesn't think they should write and then allow them to make a decision.
It
throws them back into their item, though, so I guess they can save the
item
somewhere else or something from there.

Again, thanks to Manu in particular who has obviously fought the exact
same
battle - and to those of you who offered up the how to in Unidata.
You
are so lucky you are doing it in Unidata!

Hope this helps someone else, some day.

Susan Joslyn
SJ+ Systems Associates, Inc.
PRC(r) Complete software development life-cycle management for U2.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
The information contained in this Internet Email message is intended
for the addressee only and may contain privileged information, but not
necessarily the official views or opinions of the New Zealand Defence Force.
If you are not the intended recipient you must not use, disclose, copy or 
distribute this message or the information in it.

If you have received this message in error, please Email or telephone
the sender immediately.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] Universe triggers (still more)

2008-12-01 Thread Susan Joslyn
Hi everyone,

 

I have the triggers working - yay! Thanks Manu! - but now I'm to the next
step, and of course stumbling again!  My program sets a flag when it wants
to disallow the write that called the trigger.  The manual seems to suggest
that I could use SetDiagnostic to fail this . but I'm not even getting my
program to compile and can't find further information on the syntax of that
command.  Anyone know how to tell the trigger to refuse the write?

 

Susan
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe triggers (still more)

2008-12-01 Thread Jeff Butera
quote who='Susan Joslyn' date='Monday 01 December 2008'
 Hi everyone,



 I have the triggers working - yay! Thanks Manu! - but now I'm to the next
 step, and of course stumbling again!  My program sets a flag when it wants
 to disallow the write that called the trigger.  The manual seems to suggest
 that I could use SetDiagnostic to fail this . but I'm not even getting my
 program to compile and can't find further information on the syntax of that
 command.  Anyone know how to tell the trigger to refuse the write?

I can't comment for Universe, but in Unidata you set EXECSTAT to one of three 
values

0 = don't write the record
1 = write record, but don't allow trigger to have altered the contents
2 = write record and allow trigger to possibly have altered contents

-- 
Jeff Butera, Ph.D.
Administrative Systems
Hampshire College
[EMAIL PROTECTED]
413-559-5556

Where I'm from, we believe all sorts of
things that aren't true. We call it 'history'.
   The Wizard, Wicked
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe triggers (still more)

2008-12-01 Thread Bill Haskett
   Susan:
   To expand further on Jeff's comment, the EXECSTAT variable is part of the
   CALL arguements list.  For instance, in UniData an update trigger might look
   like:
   001 SUBROUTINE U2.MASTER.TRIGGER.U ( ExecStat, DictFlag, atFILENAME, atID,
   atRECORD )
   The following table describes each parameter of the syntax.
   ** Parameter   Description
   ** --  
   ** trignameThe name of the globally cataloged subroutine.
   ** execstatThe execution status returned by the trigger subroutine:
   ** 0 - No updates are allowed.
   ** 1 - Updates are allowed.
   ** 2 - Updates are allowed, using the return recordval.
   ** dictflagDICT - Indicates that the trigger is operating on the
   **  dictionary file.
   **  - Indicates that the trigger is operating on the
   **  data file.
   ** Note: the quotation marks are required.
   ** filenameThe name of the file on which the trigger is operating.
   ** item ID The item ID of the record to be updated.
   ** recordval   The input record value submitted to the UPDATE trigger.
   ** recordval is both an input and output parameter. The
   ** trigger can change this value (for example, by performing
   ** a conversion). Then, if the trigger sets execstat to 2,
   ** this value is passed back in recordval and updates the
   ** data record. Only strings and numbers are valid.
   **
   ** If the value returned in recordval is invalid, the record
   ** is not updated, even if the trigger subroutine sets execstat
   ** to 2. In this case, the UniBasic STATUS function returns 3
   ** when executed immediately after the command that calls the
   ** trigger. Only strings and numbers are valid.
   Therefore, you pass EXESTAT in and out of the CALLed program, set its value,
   and UniData knows it and responds to the setting accordingly.
   HTH,
   Bill
   __

   Jeff Butera wrote on 12/1/2008 8:46 AM:

quote who='Susan Joslyn' date='Monday 01 December 2008'

Hi everyone,

I have the triggers working - yay! Thanks Manu! - but now I'm to the next
step, and of course stumbling again!  My program sets a flag when it wants
to disallow the write that called the trigger.  The manual seems to suggest
that I could use SetDiagnostic to fail this . but I'm not even getting my
program to compile and can't find further information on the syntax of that
command.  Anyone know how to tell the trigger to refuse the write?

I can't comment for Universe, but in Unidata you set EXECSTAT to one of three
values

0 = don't write the record
1 = write record, but don't allow trigger to have altered the contents
2 = write record and allow trigger to possibly have altered contents
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[Fwd: Re: [U2] Universe triggers (still more)]

2008-12-01 Thread Bill Haskett

Susan:

To expand further on Jeff's comment, the EXECSTAT variable is part of 
the CALL arguements

list. For instance, in UniData an update trigger might look like:

001 SUBROUTINE U2.MASTER.TRIGGER.U ( ExecStat, DictFlag, atFILENAME, atID, 
atRECORD )
  
The following table describes each parameter of the syntax.


  ** Parameter   Description
  ** --  
  ** trignameThe name of the globally cataloged subroutine.
  ** execstatThe execution status returned by the trigger subroutine:
  ** 0 - No updates are allowed.
  ** 1 - Updates are allowed.
  ** 2 - Updates are allowed, using the return recordval.
  ** dictflagDICT - Indicates that the trigger is operating on the
  **  dictionary file.
  **  - Indicates that the trigger is operating on the
  **  data file.
  ** Note: the quotation marks are required.
  ** filenameThe name of the file on which the trigger is operating.
  ** item ID The item ID of the record to be updated.
  ** recordval   The input record value submitted to the UPDATE trigger.
  ** recordval is both an input and output parameter. The
  ** trigger can change this value (for example, by performing
  ** a conversion). Then, if the trigger sets execstat to 2,
  ** this value is passed back in recordval and updates the
  ** data record. Only strings and numbers are valid.
  **
  ** If the value returned in recordval is invalid, the record
  ** is not updated, even if the trigger subroutine sets execstat
  ** to 2. In this case, the UniBasic STATUS function returns 3
  ** when executed immediately after the command that calls the
  ** trigger. Only strings and numbers are valid.

Therefore, you pass EXESTAT in and out of the CALLed program, set its value,
and UniData knows it and responds to the setting accordingly.
  
HTH,


Bill
  
__


  Jeff Butera wrote on 12/1/2008 8:46 AM:

quote who='Susan Joslyn' date='Monday 01 December 2008'

Hi everyone,

I have the triggers working - yay! Thanks Manu! - but now I'm to the next
step, and of course stumbling again!  My program sets a flag when it wants
to disallow the write that called the trigger.  The manual seems to suggest
that I could use SetDiagnostic to fail this . but I'm not even getting my
program to compile and can't find further information on the syntax of that
command.  Anyone know how to tell the trigger to refuse the write?

I can't comment for Universe, but in Unidata you set EXECSTAT to one of three
values

0 = don't write the record
1 = write record, but don't allow trigger to have altered the contents
2 = write record and allow trigger to possibly have altered contents
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe triggers (still more)

2008-12-01 Thread Boydell, Stuart
Setdiagnostics is a function which works by adding an error condition
message into the SQL error stack. A trigger program comes from the SQL
side of UV and runs within a transaction boundary, when the
setdiagnostics() function is used it will cause the trigger to go into
rollback mode on return from the trigger program.

See the UniVerse BCI Guide Chap 7 for syntax...

subroutine TRG.CUST.DELETE(...)
open AR.TRANS to fvar then
readu rec from fvar,oldnum then
junk = setdiagnostics(Open receivables exist for
customer :oldnum:. Clear transactions before deleting this customer.)
end else
  gosub DeleteCustomer:
end
end
return

-Original Message-
The manual seems to suggest
that I could use SetDiagnostic to fail this . but I'm not even getting
my
program to compile and can't find further information on the syntax of
that
command.  Anyone know how to tell the trigger to refuse the write?


 
**
This email message and any files transmitted with it are confidential and 
intended solely for the use of addressed recipient(s). If you have received 
this communication in error, please reply to this e-mail to notify the sender 
of its incorrect delivery and then delete it and your reply.  It is your 
responsibility to check this email and any attachments for viruses and defects 
before opening or sending them on. Spotless collects information about you to 
provide and market our services. For information about use, disclosure and 
access, see our privacy policy at http://www.spotless.com.au 
Please consider our environment before printing this email. 
** 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe triggers + SB+

2008-11-26 Thread Susan Joslyn
Manu,
You are a life-saver!  Thank you!  I didn't know about $OPTIONS PICK and
that truly solves the problem!

Which took me to the next problem.  The trigger program appears to be much
more rigorous about record locks.  That's fine for code that I can get to,
but it announces that I don't have the record locked for stuff that's
happening inside SB+ that I can't get to.  Is there a way loosen up these
constrictions?


Program UV.ED: pc = 73EC, Program SB.GEN.DRIV.I: Line 793, FATAL: The
locks 
necessary for database operations at the current isolation level (0) are not
held by this process.

Susan


Date: Tue, 25 Nov 2008 19:43:20 +0100
From: Manu Fernandes [EMAIL PROTECTED]
Subject: 
Hi,

Do you use the $OPTIONS PICK into the basic code before INCLUDE DMSKELCODE
COMMON ?

My two pence.
Manu


 -Message d'origine-
 De : [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] De la part de Susan Joslyn
 Envoyi : mardi 25 novembre 2008 18:10
 @ : u2-users@listserver.u2ug.org
 Objet : [U2] Universe triggers + SB+
 
 Has anyone successfully enabled Universe trigger programs that call SB+
 enabled programs?  I'm getting COMMON mis-match and other errors.
 
 
 
 TIA,
 
 Susan Joslyn
 ---
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe triggers + SB+

2008-11-26 Thread Manu Fernandes
Hi,

Yes, a trigger starts a automatic BEGIN TRANSACTION !!
With SB+, this is a trouble I suffer too, I've already submited to IBM to 
request a ISOMODE enforcement of SB+ internals subroutines.  
The IBM's doc says **we recommend that you modify any transactions that do not 
follow this rule as soon as possible** ; but The shoemaker is always the worst 
shod.

Yes, there is a uvconfig param to change it : ISOMODE ( UV docs, Basic ref - 
Isolation levels - ISOMODE )
If set to 0, you don't need to acquire the READU lock before WRITE/DELETE !! 
(be carefull with it))

Manu


Using the ISOMODE Configurable Parameter
The ISOMODE parameter controls the minimum locking requirements for each 
UniVerse system. 
By enforcing a minimum level of locking, the transaction management subsystem 
guarantees 
that no transaction suffers a lost update due to the actions of another 
transaction. 
Protection against lost updates is an important property of serializability. 
You can set ISOMODE to one of the following settings:
ISOMODE Settings
Setting
Description
0  Provides backward compatibility. Transactions are not required to use 
well-formed writes.
1  Enforces well-formed writes in UniVerse BASIC transactions. This is the 
default.
2  Enforces well-formed writes in UniVerse BASIC programs, whether or not they 
are in a transaction.

The default ISOMODE setting 1 ensures that BASIC transactions obey the locking 
rules for isolation level 1, as described in the following table. 
This means a record cannot be written or deleted in a transaction unless the 
record or file is locked for update. 
A write or delete of a locked record is known as a well-formed write.
ISOMODE setting 0 provides compatibility with earlier UniVerse releases that 
did not enforce the requirement for well-formed writes in transactions. 
Since transactions should always use well-formed writes, 
we recommend that you modify any transactions that do not follow this rule as 
soon as possible, so that you can set ISOMODE to 1.
Setting ISOMODE to 2 enforces all writes and deletes in UniVerse BASIC to be 
well-formed. 
This mode is available so that when converting an application to use 
transactions, you can determine whether any programs have not yet been 
converted. 
You should not use ISOMODE 2 permanently since many UniVerse system programs 
are not (and need not be) transactional. 

 -Message d'origine-
 De : [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] De la part de Susan Joslyn
 Envoyi : mercredi 26 novembre 2008 11:26
 @ : u2-users@listserver.u2ug.org
 Objet : RE: [U2] Universe triggers + SB+
 
 Manu,
 You are a life-saver!  Thank you!  I didn't know about $OPTIONS PICK
 and
 that truly solves the problem!
 
 Which took me to the next problem.  The trigger program appears to be
 much
 more rigorous about record locks.  That's fine for code that I can get
 to,
 but it announces that I don't have the record locked for stuff that's
 happening inside SB+ that I can't get to.  Is there a way loosen up
 these
 constrictions?
 
 
 Program UV.ED: pc = 73EC, Program SB.GEN.DRIV.I: Line 793, FATAL:
 The
 locks
 necessary for database operations at the current isolation level (0)
 are not
 held by this process.
 
 Susan
 
 
 Date: Tue, 25 Nov 2008 19:43:20 +0100
 From: Manu Fernandes [EMAIL PROTECTED]
 Subject:
 Hi,
 
 Do you use the $OPTIONS PICK into the basic code before INCLUDE
 DMSKELCODE
 COMMON ?
 
 My two pence.
 Manu
 
 
  -Message d'origine-
  De : [EMAIL PROTECTED] [mailto:owner-u2-
  [EMAIL PROTECTED] De la part de Susan Joslyn
  Envoyi : mardi 25 novembre 2008 18:10
  @ : u2-users@listserver.u2ug.org
  Objet : [U2] Universe triggers + SB+
 
  Has anyone successfully enabled Universe trigger programs that call
 SB+
  enabled programs?  I'm getting COMMON mis-match and other errors.
 
 
 
  TIA,
 
  Susan Joslyn
  ---
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe triggers + SB+$ OPTIONS PICK

2008-11-26 Thread Manu Fernandes
Hi,

About $OPTIONS PICK,
 
Yes it is important  - to fix, we put it into the DMSKELCODE COMMON record ; on 
the first line - before COMMON statement.
SB+ is PICK flavor compiled . 
On certain site, we have SB+ running under INFORMATION flavor account (backward 
compatibility of old application mixed with SB+ UI.
To be in ad equation with SB+, the new basic code must be (force) compiled 
under PICK FLAVOR.

Manu

 -Message d'origine-
 De : [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] De la part de Susan Joslyn
 Envoyi : mercredi 26 novembre 2008 11:26
 @ : u2-users@listserver.u2ug.org
 Objet : RE: [U2] Universe triggers + SB+
 
 Manu,
 You are a life-saver!  Thank you!  I didn't know about $OPTIONS PICK
 and
 that truly solves the problem!snip
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe triggers + SB+$ OPTIONS PICK

2008-11-26 Thread Anthony Youngman
Does the common contain dimensioned arrays? Quite likely, I would have thought.

And that would be why you need OPTIONS PICK. Ideal-flavour UV uses PI-style 
arrays which have an element (0). Pick-style arrays don't. I think there may 
also be something to do with how many entries in the common table are taken up 
by an array.

Cheers,
Wol

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Manu Fernandes
Sent: 26 November 2008 12:47
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe triggers + SB+$ OPTIONS PICK

Hi,

About $OPTIONS PICK,

Yes it is important  - to fix, we put it into the DMSKELCODE COMMON record ; on 
the first line - before COMMON statement.
SB+ is PICK flavor compiled .
On certain site, we have SB+ running under INFORMATION flavor account (backward 
compatibility of old application mixed with SB+ UI.
To be in ad equation with SB+, the new basic code must be (force) compiled 
under PICK FLAVOR.

Manu

 -Message d'origine-
 De : [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] De la part de Susan Joslyn
 Envoyi : mercredi 26 novembre 2008 11:26
 @ : u2-users@listserver.u2ug.org
 Objet : RE: [U2] Universe triggers + SB+

 Manu,
 You are a life-saver!  Thank you!  I didn't know about $OPTIONS PICK
 and
 that truly solves the problem!snip
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe triggers + SB+$ OPTIONS PICK

2008-11-26 Thread Manu Fernandes
Hi,

Yes, SB+ work with DIM arrays.
The difference between PICK/PI DIM arrays is the ability to redimension an 
array at runtime (PICK arrays are DIMed at compile time).

Dimensioned arrays are allocated either at compile time or at run time, 
depending on the flavor of the account (or compile $OPTIONS FLAVOR directive). 
Arrays allocated at run time are called standard arrays. 
Arrays allocated at compile time are called fixed arrays. 
Standard arrays are redimensionable; 
Fixed arrays are not redimensionable and do not have a zero element. 
All arrays are standard unless the program is compiled in a PICK, IN2, or 
REALITY flavor account, in which case they are fixed arrays. 
To use fixed arrays in PIOPEN, INFORMATION and IDEAL flavor accounts, use the 
STATIC.DIM option of the $OPTIONS statement. 
To use standard arrays in PICK, IN2, and REALITY flavor accounts, use $OPTIONS 
bSTATIC.DIM

Both vectors **var(n)** and matrices **var(n,n)** have a special zero element 
that is used in MATPARSE statement, MATREAD statements, and MATWRITE 
statements. 
The zero element of a vector is specified by vector.name(0), and the zero 
element of a matrix is specified by matrix.name(0,0). 
Zero elements are used to store fields that do not fit in the dimensioned 
elements on MATREAD or MATPARSE statements.

My two pence.
Manu


 -Message d'origine-
 DeB : [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] De la part de Anthony Youngman
 EnvoyC)B : mercredi 26 novembre 2008 15:48
 CB : u2-users@listserver.u2ug.org
 ObjetB : RE: [U2] Universe triggers + SB+$ OPTIONS PICK
 
 Does the common contain dimensioned arrays? Quite likely, I would have
 thought.
 
 And that would be why you need OPTIONS PICK. Ideal-flavour UV uses PI-
 style arrays which have an element (0). Pick-style arrays don't. I
 think there may also be something to do with how many entries in the
 common table are taken up by an array.
 
 Cheers,
 Wol
 
 -Original Message-
 From: [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] On Behalf Of Manu Fernandes
 Sent: 26 November 2008 12:47
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Universe triggers + SB+$ OPTIONS PICK
 
 Hi,
 
 About $OPTIONS PICK,
 
 Yes it is important  - to fix, we put it into the DMSKELCODE COMMON
 record ; on the first line - before COMMON statement.
 SB+ is PICK flavor compiled .
 On certain site, we have SB+ running under INFORMATION flavor account
 (backward compatibility of old application mixed with SB+ UI.
 To be in ad equation with SB+, the new basic code must be (force)
 compiled under PICK FLAVOR.
 
 Manu
 
  -Message d'origine-
  De : [EMAIL PROTECTED] [mailto:owner-u2-
  [EMAIL PROTECTED] De la part de Susan Joslyn
  Envoyi : mercredi 26 novembre 2008 11:26
  @ : u2-users@listserver.u2ug.org
  Objet : RE: [U2] Universe triggers + SB+
 
  Manu,
  You are a life-saver!  Thank you!  I didn't know about $OPTIONS PICK
  and
  that truly solves the problem!snip
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] Universe triggers + SB+

2008-11-25 Thread Susan Joslyn
Has anyone successfully enabled Universe trigger programs that call SB+
enabled programs?  I'm getting COMMON mis-match and other errors.

 

TIA,

Susan Joslyn
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe triggers + SB+

2008-11-25 Thread Manu Fernandes
Hi,

Do you use the $OPTIONS PICK into the basic code before INCLUDE DMSKELCODE 
COMMON ?

My two pence.
Manu


 -Message d'origine-
 De : [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] De la part de Susan Joslyn
 Envoyi : mardi 25 novembre 2008 18:10
 @ : u2-users@listserver.u2ug.org
 Objet : [U2] Universe triggers + SB+
 
 Has anyone successfully enabled Universe trigger programs that call SB+
 enabled programs?  I'm getting COMMON mis-match and other errors.
 
 
 
 TIA,
 
 Susan Joslyn
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers [not-secure]

2008-10-21 Thread Hennessey, Mark F.
snip
Ray, let's not talk about huge and (formerly) little known security
flaws in UV now... :)
/snip

Why not? It's the little known security flaws that'll get you... It
doesn't matter if it's Windows, Oracle, Aix or UniVerse... the more
people know, the more they can guard against.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe Triggers

2008-10-20 Thread Anthony W. Youngman
In message [EMAIL PROTECTED], Ken Wallis 
[EMAIL PROTECTED] writes

UniData has a VOC_READONLY environment variable which can be set that allows
it to run successfully in a directory where the VOC has no write permission.
Perhaps UniVerse has the same or similar.


Bear in mind the OP of this particular thread said If I can update the 
VOC, then your comment is irrelevant, but from what Susan says, I 
presume she has some magic way of dealing with that.


I can't conceive of a way to make this safe without setting suitable OS
level permissions.  I can see how it could be made safe enough that you
couldn't get round it with normal verbs and editors, but I can't see how it
could be fixed so that a programmer couldn't get around it, or even a savvy
user setting up VOC pointers from another account.

Exactly. How on earth is Remote VOC going to prevent me from messing 
about with the system if I have update capability and can recreate an 
unprotected, vanilla, VOC entry for ED or COPY or whatever verb happens 
to take my fancy ... ?


Cheers,
Wol
--
Anthony W. Youngman [EMAIL PROTECTED]
'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the
thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man
lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998
Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source Pick
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-20 Thread Ray Wurlod
You can even write to the VOC if you don't have write permission to the file.

Hint: usd runs with superuser privileges.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-20 Thread Hona, David S
Ray, let's not talk about huge and (formerly) little known security
flaws in UV now... :)


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ray Wurlod
Sent: Tuesday, 21 October 2008 12:44 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

You can even write to the VOC if you don't have write permission to the
file.

Hint: usd runs with superuser privileges.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-19 Thread phil walker
I bet you I can write to the VOC unless I do not have write permissions
to the file.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Susan Joslyn
Sent: Friday, 17 October 2008 1:45 a.m.
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

That's really REALLY (I swear!) not true. Even if you can do stuff to
the
VOC, if you put the verbs into the remote VOC and lock that up, you can
ABSOLUTELY prevent unauthorized TCL command usage.  You can't copy a VOC
command and make it work to bypass the wrapped one in the remote voc.
Honestly, you really can't. I can explain in more detail how I did it
for
PRC if you like - but there are plenty of ways to do it - just read up
on
the remote VOC.

Susan


Date: Wed, 15 Oct 2008 13:40:20 +0100
From: Anthony Youngman [EMAIL PROTECTED]
Subject: RE: [U2] Universe Triggers

But IF you can update VOC, you CAN bypass remote voc, which is what
David
said!

As part of your security you need to make sure that users CAN'T update
VOC
(which is rather harder than it seems at first glance).

Cheers,
Wol

- -Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Susan Joslyn
Sent: 15 October 2008 12:36
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

David,
With the use of remote voc you really can prevent by-pass of wrapped
TCL
commands.  Completely, unequivocably.

Regards,
Susan Joslyn
SJ+ Systems Associates, Inc.
PRC(r) Real software configuration management for U2!


- --

Date: Wed, 15 Oct 2008 08:26:00 +1100
From: Hona, David S [EMAIL PROTECTED]
Subject: RE: [U2] Universe Triggers

You can by-pass them if you can update the VOC.


- ---
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe Triggers

2008-10-19 Thread Peter Howe
In my IBM Administering Universe from Unix manual, Chapter 5 System  
Security, in section 5-8, it deals with VOC file security issues and  
Security Subroutines using Remote pointers and a call to a 'security'  
subroutine.


It isn't much doco to go on but it is what we based our VOC security  
on and it has been working for us for several years very successfully.



Cheers
Peter



On 20/10/2008, at 11:07 AM, Hona, David S wrote:


Yes, unless Susan is using some undocumented feature to block the
update/deletion of VOC entries with remote pointers that also have
security subroutines associated...then what she is saying isn't  
correct.



I've never heard of such a thing in UV, but that doesn't mean it isn't
hiding somewhere. Since she said look it up, it implies this so- 
called

lock down of the VOC is documented...which I cannot find anywhere.

She is offers no proof or IBM documentation to support her claim,  
then

we can only suspect what she states is incorrect.

UniVerse has poor security capabilities and I can't see this changing
any time soon! :)

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-16 Thread Susan Joslyn
That's really REALLY (I swear!) not true. Even if you can do stuff to the
VOC, if you put the verbs into the remote VOC and lock that up, you can
ABSOLUTELY prevent unauthorized TCL command usage.  You can't copy a VOC
command and make it work to bypass the wrapped one in the remote voc.
Honestly, you really can't. I can explain in more detail how I did it for
PRC if you like - but there are plenty of ways to do it - just read up on
the remote VOC.

Susan


Date: Wed, 15 Oct 2008 13:40:20 +0100
From: Anthony Youngman [EMAIL PROTECTED]
Subject: RE: [U2] Universe Triggers

But IF you can update VOC, you CAN bypass remote voc, which is what David
said!

As part of your security you need to make sure that users CAN'T update VOC
(which is rather harder than it seems at first glance).

Cheers,
Wol

- -Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Susan Joslyn
Sent: 15 October 2008 12:36
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

David,
With the use of remote voc you really can prevent by-pass of wrapped TCL
commands.  Completely, unequivocably.

Regards,
Susan Joslyn
SJ+ Systems Associates, Inc.
PRC(r) Real software configuration management for U2!


- --

Date: Wed, 15 Oct 2008 08:26:00 +1100
From: Hona, David S [EMAIL PROTECTED]
Subject: RE: [U2] Universe Triggers

You can by-pass them if you can update the VOC.


- ---
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-15 Thread Anthony Youngman
But IF you can update VOC, you CAN bypass remote voc, which is what David said!

As part of your security you need to make sure that users CAN'T update VOC 
(which is rather harder than it seems at first glance).

Cheers,
Wol

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Susan Joslyn
Sent: 15 October 2008 12:36
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

David,
With the use of remote voc you really can prevent by-pass of wrapped TCL
commands.  Completely, unequivocably.

Regards,
Susan Joslyn
SJ+ Systems Associates, Inc.
PRC(r) Real software configuration management for U2!


--

Date: Wed, 15 Oct 2008 08:26:00 +1100
From: Hona, David S [EMAIL PROTECTED]
Subject: RE: [U2] Universe Triggers

You can by-pass them if you can update the VOC.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe Triggers

2008-10-15 Thread Bill Haskett
Is this because you can change the permissions on the VOC to read-only?  
Does this have an affect on anything else?


Bill


Susan Joslyn wrote on 10/15/2008 4:35 AM:

David,
With the use of remote voc you really can prevent by-pass of wrapped TCL
commands.  Completely, unequivocably.

Regards,
Susan Joslyn
SJ+ Systems Associates, Inc.
PRC(r) Real software configuration management for U2!


--

Date: Wed, 15 Oct 2008 08:26:00 +1100
From: Hona, David S [EMAIL PROTECTED]
Subject: RE: [U2] Universe Triggers

You can by-pass them if you can update the VOC.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-15 Thread Susan Joslyn
David,
With the use of remote voc you really can prevent by-pass of wrapped TCL
commands.  Completely, unequivocably.

Regards,
Susan Joslyn
SJ+ Systems Associates, Inc.
PRC(r) Real software configuration management for U2!


--

Date: Wed, 15 Oct 2008 08:26:00 +1100
From: Hona, David S [EMAIL PROTECTED]
Subject: RE: [U2] Universe Triggers

You can by-pass them if you can update the VOC.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe Triggers

2008-10-15 Thread Clifton Oliver
Which can get interesting if you have some of that old pre-EXECUTE  
legacy code that generates a Proc, writes it to the VOC, and CHAINs to  
it. Or that executes CREATE.FILE. Or that...


Of course, you can put a trigger on the VOC to log changes.


Regards,

Clif


On Oct 15, 2008, at 5:40 AM, Anthony Youngman wrote:

But IF you can update VOC, you CAN bypass remote voc, which is what  
David said!


As part of your security you need to make sure that users CAN'T  
update VOC (which is rather harder than it seems at first glance).


Cheers,
Wol

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
] On Behalf Of Susan Joslyn

Sent: 15 October 2008 12:36
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

David,
With the use of remote voc you really can prevent by-pass of  
wrapped TCL

commands.  Completely, unequivocably.

Regards,
Susan Joslyn
SJ+ Systems Associates, Inc.
PRC(r) Real software configuration management for U2!


--

Date: Wed, 15 Oct 2008 08:26:00 +1100
From: Hona, David S [EMAIL PROTECTED]
Subject: RE: [U2] Universe Triggers

You can by-pass them if you can update the VOC.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-14 Thread Susan Joslyn
Both Universe and Unidata have remote voc options which can enable you to
wrap the tools such that TCL commands cannot be used to bypass them.
To get a complete configuration management solution you may need to wrap
tools and install triggers - since triggers cannot be use on your DIR type
files and TCL commands can be used to move items.

[AD] Naturally I will mention that if you'd like a complete solution, ready
to go, feel free to contact me to talk about PRC - complete software
configuration management / software development life-cycle management for
U2.  http://sjplus.com

Regards,
Susan

--

Date: Mon, 13 Oct 2008 08:00:54 -0400
From: Israel, John R. [EMAIL PROTECTED]
Subject: RE: [U2] Universe Triggers

There is still a hole to the wrapper approach.

Assuming you are trying to catch folks that use the ED (or AE) command, we
have to assume that these folks have access to TCL.  If you can get to TCL,
and you are wanting to hide your tracks, you could still copy your record to
a dir file, then use an OS native editor to make your sneaky change (like
vi in Unix or Textpad in Windows), then copy the temp record back
overwriting the original.

You never used the ED command, but you were still able to change the data
w/o the wrapper detecting it.

Granted, the offender has to know they are being tracked and care enough to
take an approach like this, but it would not be hard to do.

A trigger would still detect this change, and so, IMHO, would be a more
reliable approach.  If used sparingly and wisely, triggers (and native
indexes) are great!


John Israel
Sr. Programmer/Analyst
Dayton Superior Corporation
721 Richard St.
Dayton, OH  45342
937-866-0711 x44380
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-14 Thread Hona, David S
You can by-pass them if you can update the VOC.


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Susan Joslyn
Sent: Tuesday, 14 October 2008 10:12 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

Both Universe and Unidata have remote voc options which can enable you
to wrap the tools such that TCL commands cannot be used to bypass them.
To get a complete configuration management solution you may need to wrap
tools and install triggers - since triggers cannot be use on your DIR
type files and TCL commands can be used to move items.

[AD] Naturally I will mention that if you'd like a complete solution,
ready to go, feel free to contact me to talk about PRC - complete
software configuration management / software development life-cycle
management for U2.  http://sjplus.com

Regards,
Susan
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-13 Thread Hona, David S
I think the purpose of the trigger is to capture all non-application
changes. 

You can't by-pass the trigger easily, unless of course you disable it
entirely. 

It has the advantage of being largely transparent (if written correctly,
of course)...regards of where the file is accessed from. It has the
advantage of having the ability to abort changes that should be done via
(say) the line editor, should you code it to check and do so.

With a wrap-style command, it has to be installed in all the UV accounts
that you wish tracked, requiring the VOC to be updated and to remain
unchanged. 

Of course, the wrapper is also much easier thing to install and
configure, so worth considering anyway.



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David Webster
Sent: Monday, 13 October 2008 3:51 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

Hi Kate,

As another suggestion (if only tracking changes by 'ED') why not wrap
the 'ED' function and catalog it under a new name?

Eg: catalog the below code as 'ED' and re-catalog 'ED' as some ambiguous
name.

[snipped]


Regards,
Dave.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-13 Thread Israel, John R.
There is still a hole to the wrapper approach.

Assuming you are trying to catch folks that use the ED (or AE) command, we 
have to assume that these folks have access to TCL.  If you can get to TCL, and 
you are wanting to hide your tracks, you could still copy your record to a dir 
file, then use an OS native editor to make your sneaky change (like vi in 
Unix or Textpad in Windows), then copy the temp record back overwriting the 
original.

You never used the ED command, but you were still able to change the data w/o 
the wrapper detecting it.

Granted, the offender has to know they are being tracked and care enough to 
take an approach like this, but it would not be hard to do.

A trigger would still detect this change, and so, IMHO, would be a more 
reliable approach.  If used sparingly and wisely, triggers (and native indexes) 
are great!


John Israel
Sr. Programmer/Analyst
Dayton Superior Corporation
721 Richard St.
Dayton, OH  45342
937-866-0711 x44380

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Webster
Sent: Monday, October 13, 2008 12:51 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

Hi Kate,

As another suggestion (if only tracking changes by 'ED') why not wrap
the 'ED' function and catalog it under a new name?

Eg: catalog the below code as 'ED' and re-catalog 'ED' as some ambiguous
name.


 PROGRAM WRAP.ED
*
 CMD = SENTENCE()
*
 PROGRAM.NAME = FIELD(CMD, ' ', 1)
 FILENAME = FIELD(CMD, ' ', 2)
 REC.ID = FIELD(CMD, ' ', 3)
*
 OPEN '',FILENAME TO F.FILE THEN

;* read in record before editing so we can compare
;* results at the end of editing
READ ORIG.REC FROM F.FILE, REC.ID ELSE ORIG.REC = 

;* execute our original 'ED' re-cataloged
;* as a new name ORIG.ED
EXECUTE ORIG.ED :FILENAME: :REC.ID
*
;* read in record after editing to compare results
READ REC FROM F.FILE, REC.ID ELSE REC = 

;* if the records are different then
;* write out our log.
IF ORIG.REC # REC THEN
   CRT Records changed! Write out our log
END
 END

*
RETURN



Regards,
Dave.



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Kate Stanton
Sent: Monday, October 13, 2008 8:41 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Universe Triggers

We are hoping to implement triggers (to catch the rotters who change
data
using ED!!!), so are following this with interest.

Our interpretation of that advice was to have a single subroutine called
by
all triggers.  This single subroutine would all the trigger data,
including
reference to the file, to another subroutine which then decided which
trigger action subroutine(s) should be called, probably based on file
name.

The trick will be determining the data to be passed from that single
triggers subroutine, and if there are things which can only be done
within
the trigger subroutine (so an action code would need to be returned).

Suggestions/comment welcome!

Cheers, Kate

Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Ph: +64 9 360 5310  Fax: +64 9 376 0750  Mobile: +64 21 499 486
Email: [EMAIL PROTECTED]

- Original Message -
From: Bill Haskett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Saturday, October 11, 2008 2:50 AM
Subject: RE: [U2] Universe Triggers


 Stuart:

 Are you saying one should create a single trigger program like...

 MASTER.TRIGGER.U
 001 SUBROUTINE MASTER.TRIGGER.U (ExecStat, DictFlag, atFILENAME, atID,
 atRECORD)
 002 COMMON \trFILES\ TABLE.FV
 003 IF FILEINFO(TABLE.FV, 0) = 0 THEN   ; ** UD version
 004OPEN '', 'TABLE' TO TABLE.FV ELSE
 005   ExecStat = 0  ; ** don't update file
 006   RETURN
 007END
 008 END
 009 READ TriggerRec FROM TABLE.FV, 'TRIGGER.CONF' ELSE RETURN
 010 TriggerFiles   = TriggerRec1
 011 TriggerUpdates = TriggerRec2
 012 TriggerDeletes = TriggerRec3
 013 LOCATE(atFILENAME, TriggerFiles, 1; Pos) THEN
 014TriggerToRun = TriggerUpdates1,Pos
 015CALL @TriggerToRun
 016 END

 ...that essentially reads a table...

 TRIGGER.CONF
 001 APVENDOR]ARCUSTOMER
 002 U2.TRIGGER.SUB.U]U2.TRIGGER.SUB.U
 003 U2.TRIGGER.SUB.D]U2.TRIGGER.SUB.D

 ...for the file and globally cataloged subroutine to run.   Then one
 should...

CREATE.TRIGGER APVENDOR MASTER.TRIGGER.U UPDATE
CREATE.TRIGGER ARCUSTOMER MASTER.TRIGGER.U UPDATE
CREATE.TRIGGER APVENDOR MASTER.TRIGGER.D DELETE
CREATE.TRIGGER ARCUSTOMER MASTER.TRIGGER.D DELETE

 Thanks,

 Bill

snip
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

No virus found in this incoming message.
Checked by AVG - http://www.avg.com
Version: 8.0.173 / Virus Database

RE: [U2] Universe Triggers

2008-10-13 Thread Boydell, Stuart
Yep - pretty much.
1 - Globally cattledog the subprograms - otherwise it could crash your
update
2- If the subs change - recattledog them and they will reflect the
change immediately.
I'll see if I can put an eg up on the wiki tomorrow.
Stuart Boydell


-Original Message-
Are you saying one should create a single trigger program like...

MASTER.TRIGGER.U
001 SUBROUTINE MASTER.TRIGGER.U (ExecStat, DictFlag, atFILENAME, atID,
atRECORD)
002 COMMON \trFILES\ TABLE.FV

 
**
This email message and any files transmitted with it are confidential and 
intended solely for the use of addressed recipient(s). If you have received 
this communication in error, please reply to this e-mail to notify the sender 
of its incorrect delivery and then delete it and your reply.  It is your 
responsibility to check this email and any attachments for viruses and defects 
before opening or sending them on. Spotless collects information about you to 
provide and market our services. For information about use, disclosure and 
access, see our privacy policy at http://www.spotless.com.au 
Please consider our environment before printing this email. 
** 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-13 Thread John Jenkins
Don't forget Remote Verbs (aka Security Subroutines). The combination of
triggers and remote verbs is pretty robust, but not rock solid if someone
has access to the REAL O/S outside a database shell (for DIR files anyway).

Regards

JayJay

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Israel, John R.
Sent: 13 October 2008 13:01
To: 'u2-users@listserver.u2ug.org'
Subject: RE: [U2] Universe Triggers

There is still a hole to the wrapper approach.

Assuming you are trying to catch folks that use the ED (or AE) command, we
have to assume that these folks have access to TCL.  If you can get to TCL,
and you are wanting to hide your tracks, you could still copy your record to
a dir file, then use an OS native editor to make your sneaky change (like
vi in Unix or Textpad in Windows), then copy the temp record back
overwriting the original.

You never used the ED command, but you were still able to change the data
w/o the wrapper detecting it.

Granted, the offender has to know they are being tracked and care enough to
take an approach like this, but it would not be hard to do.

A trigger would still detect this change, and so, IMHO, would be a more
reliable approach.  If used sparingly and wisely, triggers (and native
indexes) are great!


John Israel
Sr. Programmer/Analyst
Dayton Superior Corporation
721 Richard St.
Dayton, OH  45342
937-866-0711 x44380

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David Webster
Sent: Monday, October 13, 2008 12:51 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

Hi Kate,

As another suggestion (if only tracking changes by 'ED') why not wrap
the 'ED' function and catalog it under a new name?

Eg: catalog the below code as 'ED' and re-catalog 'ED' as some ambiguous
name.


 PROGRAM WRAP.ED
*
 CMD = SENTENCE()
*
 PROGRAM.NAME = FIELD(CMD, ' ', 1)
 FILENAME = FIELD(CMD, ' ', 2)
 REC.ID = FIELD(CMD, ' ', 3)
*
 OPEN '',FILENAME TO F.FILE THEN

;* read in record before editing so we can compare
;* results at the end of editing
READ ORIG.REC FROM F.FILE, REC.ID ELSE ORIG.REC = 

;* execute our original 'ED' re-cataloged
;* as a new name ORIG.ED
EXECUTE ORIG.ED :FILENAME: :REC.ID
*
;* read in record after editing to compare results
READ REC FROM F.FILE, REC.ID ELSE REC = 

;* if the records are different then
;* write out our log.
IF ORIG.REC # REC THEN
   CRT Records changed! Write out our log
END
 END

*
RETURN



Regards,
Dave.



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Kate Stanton
Sent: Monday, October 13, 2008 8:41 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Universe Triggers

We are hoping to implement triggers (to catch the rotters who change
data
using ED!!!), so are following this with interest.

Our interpretation of that advice was to have a single subroutine called
by
all triggers.  This single subroutine would all the trigger data,
including
reference to the file, to another subroutine which then decided which
trigger action subroutine(s) should be called, probably based on file
name.

The trick will be determining the data to be passed from that single
triggers subroutine, and if there are things which can only be done
within
the trigger subroutine (so an action code would need to be returned).

Suggestions/comment welcome!

Cheers, Kate

Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Ph: +64 9 360 5310  Fax: +64 9 376 0750  Mobile: +64 21 499 486
Email: [EMAIL PROTECTED]

- Original Message -
From: Bill Haskett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Saturday, October 11, 2008 2:50 AM
Subject: RE: [U2] Universe Triggers


 Stuart:

 Are you saying one should create a single trigger program like...

 MASTER.TRIGGER.U
 001 SUBROUTINE MASTER.TRIGGER.U (ExecStat, DictFlag, atFILENAME, atID,
 atRECORD)
 002 COMMON \trFILES\ TABLE.FV
 003 IF FILEINFO(TABLE.FV, 0) = 0 THEN   ; ** UD version
 004OPEN '', 'TABLE' TO TABLE.FV ELSE
 005   ExecStat = 0  ; ** don't update file
 006   RETURN
 007END
 008 END
 009 READ TriggerRec FROM TABLE.FV, 'TRIGGER.CONF' ELSE RETURN
 010 TriggerFiles   = TriggerRec1
 011 TriggerUpdates = TriggerRec2
 012 TriggerDeletes = TriggerRec3
 013 LOCATE(atFILENAME, TriggerFiles, 1; Pos) THEN
 014TriggerToRun = TriggerUpdates1,Pos
 015CALL @TriggerToRun
 016 END

 ...that essentially reads a table...

 TRIGGER.CONF
 001 APVENDOR]ARCUSTOMER
 002 U2.TRIGGER.SUB.U]U2.TRIGGER.SUB.U
 003 U2.TRIGGER.SUB.D]U2.TRIGGER.SUB.D

 ...for the file and globally cataloged subroutine to run.   Then one
 should

Re: [U2] Universe Triggers

2008-10-12 Thread Kate Stanton
We are hoping to implement triggers (to catch the rotters who change data 
using ED!!!), so are following this with interest.


Our interpretation of that advice was to have a single subroutine called by 
all triggers.  This single subroutine would all the trigger data, including 
reference to the file, to another subroutine which then decided which 
trigger action subroutine(s) should be called, probably based on file name.


The trick will be determining the data to be passed from that single 
triggers subroutine, and if there are things which can only be done within 
the trigger subroutine (so an action code would need to be returned).


Suggestions/comment welcome!

Cheers, Kate

Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Ph: +64 9 360 5310  Fax: +64 9 376 0750  Mobile: +64 21 499 486
Email: [EMAIL PROTECTED]

- Original Message - 
From: Bill Haskett [EMAIL PROTECTED]

To: u2-users@listserver.u2ug.org
Sent: Saturday, October 11, 2008 2:50 AM
Subject: RE: [U2] Universe Triggers



Stuart:

Are you saying one should create a single trigger program like...

MASTER.TRIGGER.U
001 SUBROUTINE MASTER.TRIGGER.U (ExecStat, DictFlag, atFILENAME, atID,
atRECORD)
002 COMMON \trFILES\ TABLE.FV
003 IF FILEINFO(TABLE.FV, 0) = 0 THEN   ; ** UD version
004OPEN '', 'TABLE' TO TABLE.FV ELSE
005   ExecStat = 0  ; ** don't update file
006   RETURN
007END
008 END
009 READ TriggerRec FROM TABLE.FV, 'TRIGGER.CONF' ELSE RETURN
010 TriggerFiles   = TriggerRec1
011 TriggerUpdates = TriggerRec2
012 TriggerDeletes = TriggerRec3
013 LOCATE(atFILENAME, TriggerFiles, 1; Pos) THEN
014TriggerToRun = TriggerUpdates1,Pos
015CALL @TriggerToRun
016 END

...that essentially reads a table...

TRIGGER.CONF
001 APVENDOR]ARCUSTOMER
002 U2.TRIGGER.SUB.U]U2.TRIGGER.SUB.U
003 U2.TRIGGER.SUB.D]U2.TRIGGER.SUB.D

...for the file and globally cataloged subroutine to run.   Then one
should...


CREATE.TRIGGER APVENDOR MASTER.TRIGGER.U UPDATE
CREATE.TRIGGER ARCUSTOMER MASTER.TRIGGER.U UPDATE
CREATE.TRIGGER APVENDOR MASTER.TRIGGER.D DELETE
CREATE.TRIGGER ARCUSTOMER MASTER.TRIGGER.D DELETE


Thanks,

Bill

snip 
---

u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-12 Thread David Webster
Hi Kate,

As another suggestion (if only tracking changes by 'ED') why not wrap
the 'ED' function and catalog it under a new name?

Eg: catalog the below code as 'ED' and re-catalog 'ED' as some ambiguous
name.


 PROGRAM WRAP.ED
*   
 CMD = SENTENCE()   
*   
 PROGRAM.NAME = FIELD(CMD, ' ', 1)  
 FILENAME = FIELD(CMD, ' ', 2)  
 REC.ID = FIELD(CMD, ' ', 3)
*   
 OPEN '',FILENAME TO F.FILE THEN

;* read in record before editing so we can compare  
;* results at the end of editing
READ ORIG.REC FROM F.FILE, REC.ID ELSE ORIG.REC = 

;* execute our original 'ED' re-cataloged
;* as a new name ORIG.ED  
EXECUTE ORIG.ED :FILENAME: :REC.ID  
*   
;* read in record after editing to compare results  
READ REC FROM F.FILE, REC.ID ELSE REC =   

;* if the records are different then
;* write out our log.   
IF ORIG.REC # REC THEN  
   CRT Records changed! Write out our log 
END 
 END

*   
RETURN  



Regards,
Dave.



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Kate Stanton
Sent: Monday, October 13, 2008 8:41 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Universe Triggers

We are hoping to implement triggers (to catch the rotters who change
data 
using ED!!!), so are following this with interest.

Our interpretation of that advice was to have a single subroutine called
by 
all triggers.  This single subroutine would all the trigger data,
including 
reference to the file, to another subroutine which then decided which 
trigger action subroutine(s) should be called, probably based on file
name.

The trick will be determining the data to be passed from that single 
triggers subroutine, and if there are things which can only be done
within 
the trigger subroutine (so an action code would need to be returned).

Suggestions/comment welcome!

Cheers, Kate

Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Ph: +64 9 360 5310  Fax: +64 9 376 0750  Mobile: +64 21 499 486
Email: [EMAIL PROTECTED]

- Original Message - 
From: Bill Haskett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Saturday, October 11, 2008 2:50 AM
Subject: RE: [U2] Universe Triggers


 Stuart:

 Are you saying one should create a single trigger program like...

 MASTER.TRIGGER.U
 001 SUBROUTINE MASTER.TRIGGER.U (ExecStat, DictFlag, atFILENAME, atID,
 atRECORD)
 002 COMMON \trFILES\ TABLE.FV
 003 IF FILEINFO(TABLE.FV, 0) = 0 THEN   ; ** UD version
 004OPEN '', 'TABLE' TO TABLE.FV ELSE
 005   ExecStat = 0  ; ** don't update file
 006   RETURN
 007END
 008 END
 009 READ TriggerRec FROM TABLE.FV, 'TRIGGER.CONF' ELSE RETURN
 010 TriggerFiles   = TriggerRec1
 011 TriggerUpdates = TriggerRec2
 012 TriggerDeletes = TriggerRec3
 013 LOCATE(atFILENAME, TriggerFiles, 1; Pos) THEN
 014TriggerToRun = TriggerUpdates1,Pos
 015CALL @TriggerToRun
 016 END

 ...that essentially reads a table...

 TRIGGER.CONF
 001 APVENDOR]ARCUSTOMER
 002 U2.TRIGGER.SUB.U]U2.TRIGGER.SUB.U
 003 U2.TRIGGER.SUB.D]U2.TRIGGER.SUB.D

 ...for the file and globally cataloged subroutine to run.   Then one
 should...

CREATE.TRIGGER APVENDOR MASTER.TRIGGER.U UPDATE
CREATE.TRIGGER ARCUSTOMER MASTER.TRIGGER.U UPDATE
CREATE.TRIGGER APVENDOR MASTER.TRIGGER.D DELETE
CREATE.TRIGGER ARCUSTOMER MASTER.TRIGGER.D DELETE

 Thanks,

 Bill

snip 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

No virus found in this incoming message.
Checked by AVG - http://www.avg.com 
Version: 8.0.173 / Virus Database: 270.8.0/1721 - Release Date:
10/12/2008 12:00 PM

The information contained in this email and any attached files are strictly
private

RE: [U2] Universe Triggers

2008-10-10 Thread Boydell, Stuart
Always ensure that any file opens in triggers resolve to specific paths
or accounts - that quick and dirty q-pointer from the 'wrong' account
will get you if you don't.

You can't debug through triggers (because they run in a transaction).

We also use a 'sub' trigger system but call @subroutines instead of
reading a table.

No performance issues.


-Original Message-
We are getting ready to implement triggers on a universe system running
under Windows Server 2003.  I created a trigger and tested it out and
it
appears to do exactly what we need.  My question is are there any
gotchas or
issues we should be concerned about with triggers?  Are there any
performance issues that anyone has seen related to triggers?

 
**
This email message and any files transmitted with it are confidential and 
intended solely for the use of addressed recipient(s). If you have received 
this communication in error, please reply to this e-mail to notify the sender 
of its incorrect delivery and then delete it and your reply.  It is your 
responsibility to check this email and any attachments for viruses and defects 
before opening or sending them on. Spotless collects information about you to 
provide and market our services. For information about use, disclosure and 
access, see our privacy policy at http://www.spotless.com.au 
Please consider our environment before printing this email. 
** 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-10 Thread Bill Haskett
Stuart:

Are you saying one should create a single trigger program like...

MASTER.TRIGGER.U
001 SUBROUTINE MASTER.TRIGGER.U (ExecStat, DictFlag, atFILENAME, atID,
atRECORD)
002 COMMON \trFILES\ TABLE.FV
003 IF FILEINFO(TABLE.FV, 0) = 0 THEN   ; ** UD version
004OPEN '', 'TABLE' TO TABLE.FV ELSE
005   ExecStat = 0  ; ** don't update file
006   RETURN
007END
008 END
009 READ TriggerRec FROM TABLE.FV, 'TRIGGER.CONF' ELSE RETURN
010 TriggerFiles   = TriggerRec1
011 TriggerUpdates = TriggerRec2
012 TriggerDeletes = TriggerRec3
013 LOCATE(atFILENAME, TriggerFiles, 1; Pos) THEN
014TriggerToRun = TriggerUpdates1,Pos
015CALL @TriggerToRun
016 END

...that essentially reads a table...

TRIGGER.CONF
001 APVENDOR]ARCUSTOMER
002 U2.TRIGGER.SUB.U]U2.TRIGGER.SUB.U
003 U2.TRIGGER.SUB.D]U2.TRIGGER.SUB.D

...for the file and globally cataloged subroutine to run.   Then one
should...

CREATE.TRIGGER APVENDOR MASTER.TRIGGER.U UPDATE
CREATE.TRIGGER ARCUSTOMER MASTER.TRIGGER.U UPDATE
CREATE.TRIGGER APVENDOR MASTER.TRIGGER.D DELETE
CREATE.TRIGGER ARCUSTOMER MASTER.TRIGGER.D DELETE

Thanks,

Bill

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Boydell, Stuart
Sent: Thursday, October 09, 2008 11:56 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

Always ensure that any file opens in triggers resolve to specific paths
or accounts - that quick and dirty q-pointer from the 'wrong' account
will get you if you don't.

You can't debug through triggers (because they run in a transaction).

We also use a 'sub' trigger system but call @subroutines instead of
reading a table.

No performance issues.


-Original Message-
We are getting ready to implement triggers on a universe system running
under Windows Server 2003.  I created a trigger and tested it out and
it
appears to do exactly what we need.  My question is are there any
gotchas or
issues we should be concerned about with triggers?  Are there any
performance issues that anyone has seen related to triggers?

 
**
This email message and any files transmitted with it are confidential and
intended solely for the use of addressed recipient(s). If you have received
this communication in error, please reply to this e-mail to notify the
sender of its incorrect delivery and then delete it and your reply.  It is
your responsibility to check this email and any attachments for viruses and
defects before opening or sending them on. Spotless collects information
about you to provide and market our services. For information about use,
disclosure and access, see our privacy policy at http://www.spotless.com.au 
Please consider our environment before printing this email. 
** 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-10 Thread Brian Leach
Hi Bill


That's pretty much what I do, except each file has a list of small
subtriggers. That way, if we need to add another action (e.g. another
secondary update) or to temporarily suspend an action, they can be added
into or knocked out of the list. The overhead is on calling the master
trigger in the first place, rather than in the number of routines called
from then.

OF course, any complex updates that are not time-critical are logged to a
workfile and then handled by phantoms, to keep the load away from the most
sensitive major file updates.


Brian

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Bill Haskett
 Sent: 10 October 2008 14:50
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Universe Triggers
 
 Stuart:
 
 Are you saying one should create a single trigger program like...
 
 MASTER.TRIGGER.U
 001 SUBROUTINE MASTER.TRIGGER.U (ExecStat, DictFlag, atFILENAME, atID,
 atRECORD)
 002 COMMON \trFILES\ TABLE.FV
 003 IF FILEINFO(TABLE.FV, 0) = 0 THEN   ; ** UD version
 004OPEN '', 'TABLE' TO TABLE.FV ELSE
 005   ExecStat = 0  ; ** don't update file
 006   RETURN
 007END
 008 END
 009 READ TriggerRec FROM TABLE.FV, 'TRIGGER.CONF' ELSE RETURN
 010 TriggerFiles   = TriggerRec1
 011 TriggerUpdates = TriggerRec2
 012 TriggerDeletes = TriggerRec3
 013 LOCATE(atFILENAME, TriggerFiles, 1; Pos) THEN
 014TriggerToRun = TriggerUpdates1,Pos
 015CALL @TriggerToRun
 016 END
 
 ...that essentially reads a table...
 
 TRIGGER.CONF
 001 APVENDOR]ARCUSTOMER
 002 U2.TRIGGER.SUB.U]U2.TRIGGER.SUB.U
 003 U2.TRIGGER.SUB.D]U2.TRIGGER.SUB.D
 
 ...for the file and globally cataloged subroutine to run.   Then one
 should...
 
 CREATE.TRIGGER APVENDOR MASTER.TRIGGER.U UPDATE CREATE.TRIGGER 
 ARCUSTOMER MASTER.TRIGGER.U UPDATE CREATE.TRIGGER APVENDOR 
 MASTER.TRIGGER.D DELETE CREATE.TRIGGER ARCUSTOMER MASTER.TRIGGER.D 
 DELETE
 
 Thanks,
 
 Bill
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of 
 Boydell, Stuart
 Sent: Thursday, October 09, 2008 11:56 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Universe Triggers
 
 Always ensure that any file opens in triggers resolve to 
 specific paths or accounts - that quick and dirty q-pointer 
 from the 'wrong' account will get you if you don't.
 
 You can't debug through triggers (because they run in a transaction).
 
 We also use a 'sub' trigger system but call @subroutines 
 instead of reading a table.
 
 No performance issues.
 
 
 -Original Message-
 We are getting ready to implement triggers on a universe 
 system running 
 under Windows Server 2003.  I created a trigger and tested it out and
 it
 appears to do exactly what we need.  My question is are there any
 gotchas or
 issues we should be concerned about with triggers?  Are there any 
 performance issues that anyone has seen related to triggers?
 
  
 **
 This email message and any files transmitted with it are 
 confidential and intended solely for the use of addressed 
 recipient(s). If you have received this communication in 
 error, please reply to this e-mail to notify the sender of 
 its incorrect delivery and then delete it and your reply.  It 
 is your responsibility to check this email and any 
 attachments for viruses and defects before opening or sending 
 them on. Spotless collects information about you to provide 
 and market our services. For information about use, 
 disclosure and access, see our privacy policy at 
 http://www.spotless.com.au Please consider our environment 
 before printing this email. 
 **
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-10 Thread Bill Haskett
Brian:

I have a couple of questions:

1)  Does the subroutine called by the master trigger need to be globally
cataloged?
2)  Does a CALL @... always reload the routine, as opposed to using a cached
copy,
especially if the subroutine is globally cataloged?

Thanks,

Bill

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Brian Leach
Sent: Friday, October 10, 2008 7:31 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

Hi Bill

That's pretty much what I do, except each file has a list of small
subtriggers. That way, if we need to add another action (e.g. another
secondary update) or to temporarily suspend an action, they can be added
into or knocked out of the list. The overhead is on calling the master
trigger in the first place, rather than in the number of routines called
from then.

OF course, any complex updates that are not time-critical are logged to a
workfile and then handled by phantoms, to keep the load away from the most
sensitive major file updates.

Brian

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Bill Haskett
 Sent: 10 October 2008 14:50
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Universe Triggers
 
 Stuart:

[snipped]
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-09 Thread Christian PAGER
Hi Brian,

Assuming read of corresponding table is done once when first trigger is
fired, no ?

Cheers
Christian 

-Message d'origine-
De : [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] De la part de Brian Leach
Envoyi : mercredi 8 octobre 2008 10:54
@ : u2-users@listserver.u2ug.org
Objet : RE: [U2] Universe Triggers

One gotcha is that once a trigger is on there, you can't easily
change/extend it unless your system has a downtime period in which everyone
is logged out. For this reason on 24x7 sites I use a master trigger that can
call subtriggers, held as a list in a parameter file. This means that a new
subtrigger can be inserted, old subtriggers removed etc without having to
log everyone out. Yes, it means an extra read and yes it is an imperfect
solution in an imperfect world..

And of course remember you are running under transactional constraints when
using triggers.

Brian 

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Mike Roosa
 Sent: 08 October 2008 04:22
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Universe Triggers
 
 We are getting ready to implement triggers on a universe system 
 running under Windows Server 2003.  I created a trigger and tested it 
 out and it appears to do exactly what we need.  My question is are 
 there any gotchas or issues we should be concerned about with 
 triggers?  Are there any performance issues that anyone has seen 
 related to triggers?
 
 Thanks,
 Mike Roosa
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-08 Thread Hona, David S
Poorly written, implemented, designed and tested triggers - will have a
high impact on your UV system.

Hopefully, you have down a full-scale (real world-like) production-like
test in your UAT environment prior to implementing them.  If you have
done this and tested real world scenarios like file, group  record-lock
contention - the stuff you could possibly get in your environment -
you'd probably ok. :)

As we don't know your application, your existing system load, existing
file types or configuration or what your trigger does...we can only
speculate wildly on the impact. :)

As others have commented, the overhead can be substantial. So it is a
trade-off of functionality your desire versus the actual performance
hit. A delicate balance here, that only you can decide through thorough
and rigorous testing.

The more reading and writing your triggers do - the greater the impact
(and the more locks they will hold). 

Clearly, if your triggers are updating, you do need be very concerned
about performance.

If you have no updating, there is less to worry about. However, just
reading records can also set database record locks, as well. 

Regards,
David


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Mike Roosa
Sent: Wednesday, 8 October 2008 2:22 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Universe Triggers

We are getting ready to implement triggers on a universe system running
under Windows Server 2003.  I created a trigger and tested it out and it
appears to do exactly what we need.  My question is are there any
gotchas or
issues we should be concerned about with triggers?  Are there any
performance issues that anyone has seen related to triggers?

Thanks,
Mike Roosa
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe Triggers

2008-10-08 Thread Clifton Oliver

Why not just test it?

Create a file with some number of records. Write a simple program to  
select the file and change one character in the record. Write it back  
to the file. Time it.


Add an AFTER UPDATE trigger calling a subroutine that does *nothing*  
but a RETURN. Run the program again. Time it.


You have your overhead answer.

Don't ask opinions of pontificators when the machine will tell you the  
truth.


Regards,

Clif

--
W. Clifton Oliver, CCP
CLIFTON OLIVER  ASSOCIATES
Tel: +1 619 460 5678Web: www.oliver.com



On Oct 7, 2008, at 8:22 PM, Mike Roosa wrote:

We are getting ready to implement triggers on a universe system  
running
under Windows Server 2003.  I created a trigger and tested it out  
and it
appears to do exactly what we need.  My question is are there any  
gotchas or

issues we should be concerned about with triggers?  Are there any
performance issues that anyone has seen related to triggers?

Thanks,
Mike Roosa
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-08 Thread Israel, John R.
We use UniData on HP Unix, so I am not sure how much of this will transfer 
over, but here are things we found:

1)  Triggers must be globally cataloged.  This means that if you have a 
development account on that same box, you have to play games if you want to 
make changes.  We have both a development account and a staging account in 
addition to our LIVE account, so this was a real problem for us.  To get around 
this problem, I moved all the code from the trigger into a 2nd, DIRECTly 
cataloged program, and had the original trigger do nothing but call the 2nd 
subroutine.  This works VERY well.  I think this is what Brian was saying.

2)  You should also CLOSE all opened files that are in a trigger.  We found out 
the hard way that triggers do not close files when they terminate (not sure 
why), and we quickly hit the max # of files problem.

3)  Do NOT use triggers to build indexes.  Use the native indexes, but just 
like triggers, use them sparingly and wisely.

4)  You have to be root (or have root privileges) to put a trigger on a file.


John Israel

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brian Leach
Sent: Wednesday, October 08, 2008 4:54 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

One gotcha is that once a trigger is on there, you can't easily
change/extend it unless your system has a downtime period in which everyone
is logged out. For this reason on 24x7 sites I use a master trigger that can
call subtriggers, held as a list in a parameter file. This means that a new
subtrigger can be inserted, old subtriggers removed etc without having to
log everyone out. Yes, it means an extra read and yes it is an imperfect
solution in an imperfect world..

And of course remember you are running under transactional constraints when
using triggers.

Brian

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Mike Roosa
 Sent: 08 October 2008 04:22
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Universe Triggers

 We are getting ready to implement triggers on a universe
 system running under Windows Server 2003.  I created a
 trigger and tested it out and it appears to do exactly what
 we need.  My question is are there any gotchas or issues we
 should be concerned about with triggers?  Are there any
 performance issues that anyone has seen related to triggers?

 Thanks,
 Mike Roosa
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe Triggers

2008-10-08 Thread Mike Roosa
Brian, definitely one of my concerns was dealing with changes that were
needed in the future so I like the idea of the subtriggers.  In my little
bit of testing I found that you don't want to be messing with these very
often after you set them.

Jeff, are you suggesting that I can use an index instead of a trigger.  It
seems like I did something like this before with an I-description calling a
subroutine but it seemed like I had some issues in there.  Maybe I'll give
that another try as well and see which fits better.

Thanks for the help.

On Wed, Oct 8, 2008 at 4:54 AM, Brian Leach [EMAIL PROTECTED] wrote:

 One gotcha is that once a trigger is on there, you can't easily
 change/extend it unless your system has a downtime period in which everyone
 is logged out. For this reason on 24x7 sites I use a master trigger that
 can
 call subtriggers, held as a list in a parameter file. This means that a new
 subtrigger can be inserted, old subtriggers removed etc without having to
 log everyone out. Yes, it means an extra read and yes it is an imperfect
 solution in an imperfect world..

 And of course remember you are running under transactional constraints when
 using triggers.

 Brian

  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Mike Roosa
  Sent: 08 October 2008 04:22
  To: u2-users@listserver.u2ug.org
  Subject: [U2] Universe Triggers
 
  We are getting ready to implement triggers on a universe
  system running under Windows Server 2003.  I created a
  trigger and tested it out and it appears to do exactly what
  we need.  My question is are there any gotchas or issues we
  should be concerned about with triggers?  Are there any
  performance issues that anyone has seen related to triggers?
 
  Thanks,
  Mike Roosa
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-08 Thread Brian Leach
One gotcha is that once a trigger is on there, you can't easily
change/extend it unless your system has a downtime period in which everyone
is logged out. For this reason on 24x7 sites I use a master trigger that can
call subtriggers, held as a list in a parameter file. This means that a new
subtrigger can be inserted, old subtriggers removed etc without having to
log everyone out. Yes, it means an extra read and yes it is an imperfect
solution in an imperfect world..

And of course remember you are running under transactional constraints when
using triggers.

Brian 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Mike Roosa
 Sent: 08 October 2008 04:22
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Universe Triggers
 
 We are getting ready to implement triggers on a universe 
 system running under Windows Server 2003.  I created a 
 trigger and tested it out and it appears to do exactly what 
 we need.  My question is are there any gotchas or issues we 
 should be concerned about with triggers?  Are there any 
 performance issues that anyone has seen related to triggers?
 
 Thanks,
 Mike Roosa
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe Triggers

2008-10-08 Thread Clifton Oliver
Brian wrote an excellent article about UniVerse Triggers in the Nov/ 
Dec 2007 of International Spectrum magazine (p. 12). You can download  
that issue from


http://www.intl-spectrum.com/mag/NOVDEC.2007/default.aspx

Regards,

Clif

--
W. Clifton Oliver, CCP
CLIFTON OLIVER  ASSOCIATES
Tel: +1 619 460 5678Web: www.oliver.com



On Oct 8, 2008, at 1:54 AM, Brian Leach wrote:


One gotcha is that once a trigger is on there, you can't easily
change/extend it unless your system has a downtime period in which  
everyone
is logged out. For this reason on 24x7 sites I use a master trigger  
that can
call subtriggers, held as a list in a parameter file. This means  
that a new
subtrigger can be inserted, old subtriggers removed etc without  
having to
log everyone out. Yes, it means an extra read and yes it is an  
imperfect

solution in an imperfect world..

And of course remember you are running under transactional  
constraints when

using triggers.

Brian

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-08 Thread Bill Haskett
Mike:

We've been using triggers for many years; first with D3 then with UniData.
We use them mostly to keep names up-to-date and several files synchronized.
We have ten files with two triggers each on them, and these files are
reasonably small (maybe 50K records in one and less than 5K in the rest).

For the most part these triggers are designed to operate in a transaction
environment, not in a batch environment.

These triggers have a negligible impact on our application, by design
mostly.  So you should test your design pretty thoroughly, especially if
you're running large batch processes that use multiple triggers on
undersized files.

HTH,

Bill

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Hona, David S
Sent: Tuesday, October 07, 2008 10:55 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Universe Triggers

Poorly written, implemented, designed and tested triggers - will have a
high impact on your UV system.

Hopefully, you have down a full-scale (real world-like) production-like
test in your UAT environment prior to implementing them.  If you have
done this and tested real world scenarios like file, group  record-lock
contention - the stuff you could possibly get in your environment -
you'd probably ok. :)

As we don't know your application, your existing system load, existing
file types or configuration or what your trigger does...we can only
speculate wildly on the impact. :)

As others have commented, the overhead can be substantial. So it is a
trade-off of functionality your desire versus the actual performance
hit. A delicate balance here, that only you can decide through thorough
and rigorous testing.

The more reading and writing your triggers do - the greater the impact
(and the more locks they will hold). 

Clearly, if your triggers are updating, you do need be very concerned
about performance.

If you have no updating, there is less to worry about. However, just
reading records can also set database record locks, as well. 

Regards,
David


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Mike Roosa
Sent: Wednesday, 8 October 2008 2:22 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Universe Triggers

We are getting ready to implement triggers on a universe system running
under Windows Server 2003.  I created a trigger and tested it out and it
appears to do exactly what we need.  My question is are there any
gotchas or
issues we should be concerned about with triggers?  Are there any
performance issues that anyone has seen related to triggers?

Thanks,
Mike Roosa
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe Triggers

2008-10-08 Thread Jeff Butera
To ask a naive question:  Having not used Universe, are triggers and their 
impact substantially different between Unidata and Universe?

I've got 47+ triggers on various Unidata (7.1.x) files, some with 50+ 
records and not experienced any performance issues.  Like others have 
commented, performance depends entirely on what you're trying to accomplish 
in the trigger - we try to keep ours as lightweight as possible.

-- 
Jeff Butera, Ph.D.
Administrative Systems
Hampshire College
[EMAIL PROTECTED]
413-559-5556

Where I'm from, we believe all sorts of
things that aren't true. We call it history.
   The Wizard, Wicked
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Universe Triggers

2008-10-08 Thread Clifton Oliver

Mike:

Another thing to watch out for is the transaction constraints Brian  
mentioned. Where I've seen this most often is if your application has  
programs that add new records to a file without first getting a record  
lock with a READU. UniVerse lets you write in the dark if you want  
to. (Whether that is right or wrong is a different debate, but it  
happens.) Since triggers force transaction constraints, this will then  
fail. I don't remember the exact wording of the error message,  
something about ISO isolation level.


Regards,

Clif

--
W. Clifton Oliver, CCP
CLIFTON OLIVER  ASSOCIATES
Tel: +1 619 460 5678Web: www.oliver.com
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe Triggers

2008-10-07 Thread Jeff Marcos
From our testing a couple of years back (using version 10.2), we found
triggers to be very very very slow compared to indexes.



Regards,

Jeff Marcos

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Mike Roosa
Sent: Wednesday, 8 October 2008 2:22 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Universe Triggers



We are getting ready to implement triggers on a universe system running

under Windows Server 2003.  I created a trigger and tested it out and it

appears to do exactly what we need.  My question is are there any
gotchas or

issues we should be concerned about with triggers?  Are there any

performance issues that anyone has seen related to triggers?



Thanks,

Mike Roosa

---

u2-users mailing list

u2-users@listserver.u2ug.org

To unsubscribe please visit http://listserver.u2ug.org/


The information contained in this email and any attached files are strictly
private and confidential. This email should be read by the intended addressee
only.  If the recipient of this message is not the intended addressee, please
call Corporate Express Australia Limited on +61 2 9335 0555 or Corporate
Express
New Zealand Limited on +64 9 279 2555 and promptly delete this email and any
attachments.  The intended recipient of this email may only use, reproduce,
disclose or distribute the information contained in this email and any
attached
files with Corporate Express' permission. If you are not the intended
addressee,
you are strictly prohibited from using, reproducing, disclosing or
distributing
the information contained in this email and any attached files.  Corporate
Express advises that this email and any attached files should be scanned to
detect viruses. Corporate Express accepts no liability for loss or damage
(whether caused by negligence or not) resulting from the use of any attached
files.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] UniVerse Triggers

2008-05-08 Thread Clifton Oliver

The Nov/Dec 2007 issue, available at:

http://www.intl-spectrum.com/t/135520/link.aspx



On May 8, 2008, at 5:35 AM, Brian Leach wrote:


Mike
If you check the recent issues (pdfs on their site) I wrote an  
article on triggers for Spectrum you might find useful.


Brian



-Original Message-
From: Mike Randall[EMAIL PROTECTED]
Sent: 08/05/08 03:58:08
To: u2-users@listserver.u2ug.orgu2-users@listserver.u2ug.org
Subject: RE: [U2] UniVerse Triggers

Interesting,  I actually saw the trigger reference under SQL  
and made the
incorrect assumption that it was referring to actual SQL  
commands rather

than calling BASIC subroutines.   Thanks for correction.

Mike Randall,  MCP






-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of  
Clifton Oliver

Sent: Wednesday, May 07, 2008 8:58 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] UniVerse Triggers

It's a UniVerse SQL command (yes, even if the file is not an  
SQL table).


CREATE TRIGGER triggername { BEFORE | AFTER } event [ OR  
event ]  ON

tablename FOR EACH ROW CALLING ' program ' ;

Details are in chapter 5 of the UniVerse SQL Reference.



[Message truncated. Tap Edit-Mark for Download to get remaining  
portion.]

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UniVerse Triggers

2008-05-08 Thread Mike Randall
Brian,

An excellent article.  One that should be required reading by every systems
architect that works in the U2 environment.   I'm stunned that many don't
realize the power in triggers, especially those of you supporting systems
with no source!

Again, great article.

Mike Randall,  MCP


 
 


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Brian Leach
Sent: Thursday, May 08, 2008 8:35 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] UniVerse Triggers

Mike
If you check the recent issues (pdfs on their site) I wrote an article on
triggers for Spectrum you might find useful.

Brian



-Original Message-
From: Mike Randall[EMAIL PROTECTED]
Sent: 08/05/08 03:58:08
To: u2-users@listserver.u2ug.orgu2-users@listserver.u2ug.org
Subject: RE: [U2] UniVerse Triggers

Interesting,  I actually saw the trigger reference under SQL and made
the
incorrect assumption that it was referring to actual SQL commands rather
than calling BASIC subroutines.   Thanks for correction.

Mike Randall,  MCP


 
 


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Clifton Oliver
Sent: Wednesday, May 07, 2008 8:58 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] UniVerse Triggers

It's a UniVerse SQL command (yes, even if the file is not an SQL table).

CREATE TRIGGER triggername { BEFORE | AFTER } event [ OR event ]  ON  
tablename FOR EACH ROW CALLING ' program ' ;

Details are in chapter 5 of the UniVerse SQL Reference.



[Message truncated. Tap Edit-Mark for Download to get remaining portion.]
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UniVerse Triggers

2008-05-07 Thread Mike Randall
On UV triggers,  I've used them often on UD and now have a great application
for them on UV.   I searched the VOC and found no commands with the word
'trigger' in them.  I was expecting the CREATE.TRIGGER of Unidata.What's
the  syntax for setting them up in UV?   

Mike Randall,  MCP


 
 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Friday, April 25, 2008 11:02 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] UniVerse Triggers

Hello,

We have received reports that UV triggers have shown some instability. Does
anyone have anything to share on this?

We have been using them for a couple of years with no issues but were hoping
for more details from other users, if available.

Thanks much,
-Baker
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UniVerse Triggers

2008-05-07 Thread Tom Dodds
Try looking in the SQL.HELP file.

02 SEARCH SQL.HELP
STRING:TRIGGER
STRING:

4 record(s) selected to SELECT list #0.
LIST ONLY SQL.HELP
LIST ONLY SQL.HELP 05:52:53pm  07 May 2008  PAGE1
SYS.HELP

CREATE SCHEMA
CREATE TRIGGER
ALTER TABLE
DROP TRIGGER

4 records listed.

Tom Dodds
[EMAIL PROTECTED]
630.235.2975


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Mike Randall
Sent: Wednesday, May 07, 2008 4:28 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] UniVerse Triggers

On UV triggers,  I've used them often on UD and now have a great application
for them on UV.   I searched the VOC and found no commands with the word
'trigger' in them.  I was expecting the CREATE.TRIGGER of Unidata.What's
the  syntax for setting them up in UV?   

Mike Randall,  MCP


 
 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Friday, April 25, 2008 11:02 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] UniVerse Triggers

Hello,

We have received reports that UV triggers have shown some instability. Does
anyone have anything to share on this?

We have been using them for a couple of years with no issues but were hoping
for more details from other users, if available.

Thanks much,
-Baker
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Fwd: [U2] UniVerse Triggers

2008-05-07 Thread Clifton Oliver
Excuse me. I mistyped. That is three 90 minute sessions, not one hour.


Regards,

Clif


Begin forwarded message:

 From: Clifton Oliver [EMAIL PROTECTED]
 Date: May 7, 2008 5:58:05 PM PDT
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] UniVerse Triggers

 It's a UniVerse SQL command (yes, even if the file is not an SQL
 table).

 CREATE TRIGGER triggername { BEFORE | AFTER } event [ OR event ] 
 ON tablename FOR EACH ROW CALLING ' program ' ;

 Details are in chapter 5 of the UniVerse SQL Reference.

 [AD]

 Also, I will be conducting a webinar through Spectrum University on
 the topic of UniVerse Triggers starting next Thursday. The course
 is three one-hour sessions on three consecutive Thursdays.

 For more information, please see

 http://www.intl-spectrum.com/tabid/159/univ/15/default.aspx

 [/AD]

 Regards,

 Clif

 --
 W. Clifton Oliver, CCP
 CLIFTON OLIVER  ASSOCIATES
 Tel: +1 619 460 5678Web: www.oliver.com



 On May 7, 2008, at 4:28 PM, Mike Randall wrote:

 On UV triggers,  I've used them often on UD and now have a great
 application
 for them on UV.   I searched the VOC and found no commands with
 the word
 'trigger' in them.  I was expecting the CREATE.TRIGGER of
 Unidata.What's
 the  syntax for setting them up in UV?

 Mike Randall,  MCP





 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
 Sent: Friday, April 25, 2008 11:02 AM
 To: 'u2-users@listserver.u2ug.org'
 Subject: [U2] UniVerse Triggers

 Hello,

 We have received reports that UV triggers have shown some
 instability. Does
 anyone have anything to share on this?

 We have been using them for a couple of years with no issues but
 were hoping
 for more details from other users, if available.

 Thanks much,
 -Baker
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] UniVerse Triggers

2008-05-07 Thread Clifton Oliver

It's a UniVerse SQL command (yes, even if the file is not an SQL table).

CREATE TRIGGER triggername { BEFORE | AFTER } event [ OR event ]  ON  
tablename FOR EACH ROW CALLING ' program ' ;


Details are in chapter 5 of the UniVerse SQL Reference.

[AD]

Also, I will be conducting a webinar through Spectrum University on  
the topic of UniVerse Triggers starting next Thursday. The course is  
three one-hour sessions on three consecutive Thursdays.


For more information, please see

http://www.intl-spectrum.com/tabid/159/univ/15/default.aspx

[/AD]

Regards,

Clif

--
W. Clifton Oliver, CCP
CLIFTON OLIVER  ASSOCIATES
Tel: +1 619 460 5678Web: www.oliver.com



On May 7, 2008, at 4:28 PM, Mike Randall wrote:

On UV triggers,  I've used them often on UD and now have a great  
application
for them on UV.   I searched the VOC and found no commands with the  
word
'trigger' in them.  I was expecting the CREATE.TRIGGER of  
Unidata.What's

the  syntax for setting them up in UV?

Mike Randall,  MCP





-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Friday, April 25, 2008 11:02 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] UniVerse Triggers

Hello,

We have received reports that UV triggers have shown some  
instability. Does

anyone have anything to share on this?

We have been using them for a couple of years with no issues but  
were hoping

for more details from other users, if available.

Thanks much,
-Baker
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UniVerse Triggers

2008-05-07 Thread Mike Randall
Interesting,  I actually saw the trigger reference under SQL and made the
incorrect assumption that it was referring to actual SQL commands rather
than calling BASIC subroutines.   Thanks for correction.

Mike Randall,  MCP


 
 


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Clifton Oliver
Sent: Wednesday, May 07, 2008 8:58 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] UniVerse Triggers

It's a UniVerse SQL command (yes, even if the file is not an SQL table).

CREATE TRIGGER triggername { BEFORE | AFTER } event [ OR event ]  ON  
tablename FOR EACH ROW CALLING ' program ' ;

Details are in chapter 5 of the UniVerse SQL Reference.

[AD]

Also, I will be conducting a webinar through Spectrum University on  
the topic of UniVerse Triggers starting next Thursday. The course is  
three one-hour sessions on three consecutive Thursdays.

For more information, please see

http://www.intl-spectrum.com/tabid/159/univ/15/default.aspx

[/AD]

Regards,

Clif

-- 
W. Clifton Oliver, CCP
CLIFTON OLIVER  ASSOCIATES
Tel: +1 619 460 5678Web: www.oliver.com



On May 7, 2008, at 4:28 PM, Mike Randall wrote:

 On UV triggers,  I've used them often on UD and now have a great  
 application
 for them on UV.   I searched the VOC and found no commands with the  
 word
 'trigger' in them.  I was expecting the CREATE.TRIGGER of  
 Unidata.What's
 the  syntax for setting them up in UV?

 Mike Randall,  MCP





 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
 Sent: Friday, April 25, 2008 11:02 AM
 To: 'u2-users@listserver.u2ug.org'
 Subject: [U2] UniVerse Triggers

 Hello,

 We have received reports that UV triggers have shown some  
 instability. Does
 anyone have anything to share on this?

 We have been using them for a couple of years with no issues but  
 were hoping
 for more details from other users, if available.

 Thanks much,
 -Baker
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] UniVerse Triggers

2008-04-26 Thread Clifton Oliver
I have several clients who have been using triggers for a couple of  
years with no reported issues, other than the performance hit.


Regards,

Clif

--
W. Clifton Oliver, CCP
CLIFTON OLIVER  ASSOCIATES
Tel: +1 619 460 5678Web: www.oliver.com




On Apr 25, 2008, at 11:42 PM, Horacio Pellegrino wrote:

We started using triggers some months ago and so far no problems at  
all...
I'm interested in what kind of instability issues you came across.  
Please

let me know.


( We are a 370-Micro$oft Windows shop!)

Horacio Pellegrino


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Friday, April 25, 2008 8:02 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] UniVerse Triggers

Hello,

We have received reports that UV triggers have shown some  
instability. Does

anyone have anything to share on this?

We have been using them for a couple of years with no issues but  
were hoping

for more details from other users, if available.

Thanks much,
-Baker
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] UniVerse Triggers

2008-04-25 Thread Baker Hughes
Hello,

We have received reports that UV triggers have shown some instability. Does 
anyone have anything to share on this?

We have been using them for a couple of years with no issues but were hoping 
for more details from other users, if available.

Thanks much,
-Baker
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UniVerse Triggers

2008-04-25 Thread Horacio Pellegrino
We started using triggers some months ago and so far no problems at all...
I'm interested in what kind of instability issues you came across. Please
let me know.


( We are a 370-Micro$oft Windows shop!)

Horacio Pellegrino


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
Sent: Friday, April 25, 2008 8:02 AM
To: 'u2-users@listserver.u2ug.org'
Subject: [U2] UniVerse Triggers

Hello,

We have received reports that UV triggers have shown some instability. Does
anyone have anything to share on this?

We have been using them for a couple of years with no issues but were hoping
for more details from other users, if available.

Thanks much,
-Baker
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/