Thanks for all the responses.

This was a case where Program A called subroutine B (which is generic
screen message display subroutine). Program A was always meant to be run
from TCL level.

Someone then wrote a program "C" that did an execute of program "A" with
a capturing mode not knowing that in the case of any errors, subroutine
B would be called to display the error to the user and wait for a
response.

Since subroutine B is used extensively throughout the system, probably
called hundreds of thousands of times a week, I cannot afford to put in
any logic to open files, read records, etc. The system degradation would
be just too painful to trap the one time a programmer did something
silly.

Since this comes up only once every year or two, I think we will just
deal with it when it happens.

Interesting approaches though.  Maybe Rocket might add a SYSTEM variable
in the future (hint)

Doug


-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Ed Clark
Sent: Tuesday, June 26, 2012 2:32 PM
To: U2 Users List
Subject: Re: [U2] Is there any way to tell if I am in anEXECUTE level
andCAPTURING is turned on?

That's only partially correct.

The capture log file is put into _PH_ in the account that you originally
logged in to. If you change accounts with LOGTO you will need to use the
@ACCOUNT variable to find the original account path.

The capture file name (on my windows system) is Z_nnnuuuu where uuuu is
your pid (@userno). The pid does not appear to be padded, so can be any
length. nnn appears to be the @LEVEL of the program that does the
execute with capturing. So if you have program1 execute program2 which
executes program3 with capturing, you will have a file Z_001uuuu open
during program3. If program1 executes program2 with capturing, which
executes program3, you will have Z_000uuuu open during program2 and
program3. If you nest more levels and have more than 1 program execute
with capture, then you have 2 capture files. unidata doesn't allow more
than 2 captures at a time.

So to find out if you were capturing, you would have to look in the
original account's _PH_, and either select ids like Z_3npid, or loop and
read for n=0 to @level-1. That could potentially be a lot of overhead on
a live system where there are lots of captures going on. Or maybe not
since most programs don't nest too deeply, and you only need to check
for the file when you need to know.

Are you on windows or on something else? If you aren't on windows, you
could maybe open the tty device directly and write to it rather than
using crt. I think that would go to the screen.


On Jun 26, 2012, at 1:23 PM, Symeon Breen wrote:

>> From experimentation on unidata on linux, if you execute something 
>> with
> capturing it creates an entry in _PH_ of Z_{pid}  the pid is zero 
> filled to
> 8 digits e.g. _PH_/Z_00022141
> 
> 
> 
> 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of David A. 
> Green
> Sent: 26 June 2012 15:01
> To: 'U2 Users List'
> Subject: Re: [U2] Is there any way to tell if I am in an EXECUTE level

> andCAPTURING is turned on?
> 
> How about creating a COMMON variable that the program can set before 
> executing the command with a CAPTURING clause?
> 
> David A. Green
> (480) 813-1725
> DAG Consulting
> 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Doug Farmer
> Sent: Friday, June 22, 2012 6:49 AM
> To: U2 Users List
> Subject: Re: [U2] Is there any way to tell if I am in an EXECUTE level

> andCAPTURING is turned on?
> 
> UniData
> 
> Looks like there is no easy solution. Messages are shown in a generic 
> subroutine and I do not want to do a lot of IO or CPU time to 
> determine if CAPTURING is on. The subroutine is called thousands of 
> times a day for a user. For the few times this has happened over the 
> years, I guess I will just fix the problems when they come up.
> 
> Thanks everyone for their input.
> 
> Doug
> 
> 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Ed Clark
> Sent: Thursday, June 21, 2012 5:22 PM
> To: U2 Users List
> Subject: Re: [U2] Is there any way to tell if I am in an EXECUTE level

> andCAPTURING is turned on?
> 
> universe or unidata? I don't have a full answer either way, but I seem

> to recall that unidata holds CAPTURING output in a temporary file. 
> Maybe that file can be checked for.
> 
> On Jun 21, 2012, at 10:08 AM, Doug Farmer wrote:
> 
>> I just had a situation where a program was printing an error message 
>> and waiting for the user to respond by pressing Enter. But, the 
>> program was being executed by another program using the CAPTURING
> option.
>> 
>> Is there any way someone knows of to tell if the CAPTURING option is
> on?
>> If so, I can write the error message to a log file instead of 
>> displaying it and waiting for a response.
>> 
>> I looked at all the SYSTEM(xx) options and do not see anything there.
>> 
>> Thanks in Advance
>> 
>> Doug
>> --------------------------------------------------------
>> 
>> This e-mail is for the use of the intended recipient(s) only. If you
> have received this e-mail in error, please notify the sender 
> immediately and then delete it. If you are not the intended recipient,

> you must not use, disclose or distribute this e-mail without the 
> author's prior permission. We have taken precautions to minimize the 
> risk of transmitting software viruses, but we advise you to carry out 
> your own virus checks on any attachment to this message. We cannot 
> accept liability for any loss or damage caused by software viruses. 
> Any views and/or opinions expressed in this e-mail are of the author 
> only and do not represent the views of Epicor Software Corporation or
any other company within its group.
>> 
>> 
>> This message has been scanned for malware by Websense. 
>> www.websense.com _______________________________________________
>> U2-Users mailing list
>> [email protected]
>> http://listserver.u2ug.org/mailman/listinfo/u2-users
> 
> _______________________________________________
> U2-Users mailing list
> [email protected]
> http://listserver.u2ug.org/mailman/listinfo/u2-users
> 
> 
> Click
> https://www.mailcontrol.com/sr/ZHJSQLX+SpPTndxI!oX7Us7Qlo!t9IHt4WE2DA5
> Hj !kWNSr8qrt6LXg6vr6+3RaGatMIqsrnApW1yubdBaCdqw==  to report this 
> email as spam.
> --------------------------------------------------------
> 
> This e-mail is for the use of the intended recipient(s) only. If you 
> have received this e-mail in error, please notify the sender 
> immediately and then delete it. If you are not the intended recipient,

> you must not use, disclose or distribute this e-mail without the 
> author's prior permission. We have taken precautions to minimize the 
> risk of transmitting software viruses, but we advise you to carry out 
> your own virus checks on any attachment to this message. We cannot 
> accept liability for any loss or damage caused by software viruses. 
> Any views and/or opinions expressed in this e-mail are of the author 
> only and do not represent the views of Epicor Software Corporation or
any other company within its group.
> _______________________________________________
> U2-Users mailing list
> [email protected]
> http://listserver.u2ug.org/mailman/listinfo/u2-users
> 
> _______________________________________________
> U2-Users mailing list
> [email protected]
> http://listserver.u2ug.org/mailman/listinfo/u2-users
> -----
> No virus found in this message.
> Checked by AVG - www.avg.com
> Version: 2012.0.2180 / Virus Database: 2437/5093 - Release Date: 
> 06/25/12
> 
> _______________________________________________
> U2-Users mailing list
> [email protected]
> http://listserver.u2ug.org/mailman/listinfo/u2-users

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

This e-mail is for the use of the intended recipient(s) only. If you have 
received this e-mail in error, please notify the sender immediately and then 
delete it. If you are not the intended recipient, you must not use, disclose or 
distribute this e-mail without the author's prior permission. We have taken 
precautions to minimize the risk of transmitting software viruses, but we 
advise you to carry out your own virus checks on any attachment to this 
message. We cannot accept liability for any loss or damage caused by software 
viruses. Any views and/or opinions expressed in this e-mail are of the author 
only and do not represent the views of Epicor Software Corporation or any other 
company within its group.
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to