Wol,

Thanks for the suggestion.

The problem is the order of magnitude. I have 889 programs with at least one or 
more instances of this code to change. That's a fair amount of code to change 
and test. I don't want to enable PIOPEN.EXECUTE or use PERFORM universally 
because, depending on the program, we may have one or two instances of this 
select list type of code combined with a recursive executed program or a 
program that executes another program with named common variables so I do not 
want to share the workspace. If possible, I would certainly elect to permit 
select lists to be active in a new environment like the system I am porting 
from.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Anthony Youngman
Sent: Friday, August 03, 2007 10:13 AM
To: [email protected]
Subject: RE: [U2] EXECUTE environment in Universe


Seeing as you don't say whether you're wanting to enable PIOPEN.EXECUTE
as a global option, or just in programs as you need to recompile them,
it's not clear what exactly your problem is. Two things ...

1. Look at using PERFORM instead of EXECUTE. I'm not sure of the
difference, but I strongly suspect that PERFORM *always* does a PI-style
execute. I think PERFORM stays in the calling program's exec level,
while EXECUTE by default creates a new one.

2. Look at rewriting your code something like

EXECPHRASE = "PA" :@FM: "SELECT ..." :@FM: "PRINT BACKORDER.REPORT"
PERFORM EXECPHRASE


That way, you're guaranteed stable behaviour of select lists, etc etc.
But if you're porting code, it looks like you're relying on PI-style
executes, so setting PIOPEN.EXECUTE is unlikely to be a problem.

Cheers,
Wol

-----Original Message-----
From: Dave Greer [mailto:[EMAIL PROTECTED] 
Sent: 03 August 2007 14:41
To: U2-Users (E-mail)
Subject: [U2] EXECUTE environment in Universe

Is there a configuration setting or $OPTIONS routine, other than
$OPTIONS
PIOPEN.EXECUTE, that keeps select lists active when an Execute command
is run?
Our software package uses basic programs with execute statements rather
than
procs to run reports. An example might be something like the following:

EXECUTE 'SSELECT ORDER WITH B/O.FLAG "Y" BY CUSTOMER BY DUE.DATE'
CAPTURING
REPLY RETURNING MSG
IF SYSTEM(11) = 1 THEN
EXECUTE 'PRINT BACKORDER.REPORT'
END

I'm afraid of the unintended consequences of using PIOPEN.EXECUTE
because
EXECUTES are used throughout hundreds of programs and many include named
common variables.
  _____

Dave Greer
Director of Information Systems

 NewAge Industries AdvantaPure
<http://www.newageindustries.com/images/nalogo.jpg>

NewAge Industries, Inc.
[EMAIL PROTECTED]
www.newageindustries.com <http://www.newageindustries.com/>
215.526.2300 PHONE
215.526.2191 FAX



 <http://www.newageindustries.com/>
Notice: If you are not the named recipient of this transmission, please
notify
us immediately, by telephone, and delete or destroy any copy of this
message.
You should not disclose or use this information in any way. Disclosure
or use
of this information may expose you to criminal or civil liabilities. We
apologize for the inconvenience and thank you for your attention to this
notice.
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to