Ed, I ran into the same type of problem converting R91 software to Universe/NT.
If you EXECUTE 'basic.program.that.builds.a.list', how is the list created and where is it saved in that second program? If the executed basic program itself executes a select and them executes a save, the list is in the workspace of the first EXECUTE and the save action occurs in the workspace of the second EXECUTE in which there is no list to be saved. EXECUTing a basic program that builds the list only moves the issue of multiple EXECUTES to the basic program the creates the list. Why would one EXECUTE another program from within an existing program to build a list rather than building the list from within the existing program unless all of the actions associated with the use of the list were to occur in the second program, which does not appear to be the case here? The DATA statement is used to keep all the related functions needed to create and save a list in the same workspace. Besides the use of the DATA statement, I have also seen here on the list the use of a single STMT = (first function):AM:(second function), EXECUTE STMT. This, for me, is more intuitive in terms of the sequence of functions executed and still keeps all the actions associated with creating and saving the list within the same workspace. hth, Dave Dave Taylor President Sysmark Information Systems, Inc. 49 Aspen Way Rolling Hills Estates, CA 90274 800-SYSMARK (800-797-6275) (O) 310-544-1974 (C) 310-561-5200 (P) 800-339-1497 (F) 310-377-3550 Your Source for Integrated EDI Translation and DataSync Integration www.sysmarkinfo.com ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[email protected]> Sent: Monday, February 13, 2006 2:51 PM Subject: RE: [U2] Question about execute and stacked data. > I've got a bunch of code coming from another system where this worked. > We have a lot of places with things like: > DATA 'basic.program.that.uses.a.list' > EXECUTE 'basic.program.that.builds.a.list' > And under universe this just isn't working. The basic program isn't > setting something that universe wants to see before it will execute the > DATA. Some of it could easily be changed to > PERFORM 'basic.program.that.builds.a.list' > PERFORM 'basic.program.that.uses.a.list' > Or as > EXECUTE 'basic.program.that.builds.a.list' RTNLIST LST > EXECUTE 'basic.program.that.uses.a.list' PASSLIST LST > But I was hoping someone knew the internals that allow > DATA 'SAVE-LIST LST' > EXECUTE 'SELECT VOC' > To work but > DATA 'SAVE-LIST LST' > EXECUTE 'basic.program.that.builds.a.list' > To not work. > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [HYPERLINK > "mailto:[EMAIL PROTECTED]"mailto:[EMAIL PROTECTED] > ver.u2ug.org] On Behalf Of > > Louie Bergsagel > > Sent: Monday, February 13, 2006 4:11 PM > > To: [email protected] > > Subject: Re: [U2] Question about execute and stacked data. > > > > > > What are you trying to do? > > > > If you want to execute different commands based on whether or > > not something like a SAVE.LIST exists, just test > > @SYSTEM.RETURN.CODE after your select and do what you wish. > > > > EXECUTE "GET.LIST TEST" > > IF @SYSTEM.RETURN.CODE LT 1 THEN > > CRT "Enter a SAVE.LIST name: ": > > INPUT SAVE.LIST.NAME > > END > > > > I like to put constructs like the above in a loop which I > > repeat until the user enters a valid SAVE.LIST (one with > > records), or enters nothing, and then I exit the loop and > > either process the records (if any) or exit the program (if none). > > > > -- Louie Bergsagel > > > > > > > > On 2/13/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > > > > > This is on universe 10.0.10 on windows xp. > > > If you have stacked data, it will be executed after an EXECUTE, so: > > > 001 DATA 'WHO' 002 EXECUTE 'SELECT VOC' > > > Will select the voc to list 0, then execute WHO. > > > If the command in EXECUTE doesn't yield a list, then the data isn't > > > executed, so > > > 001 DATA 'WHO' > > > 002 EXECUTE 'GET-LIST VOCCRAP' ;* assuming you don't have a > > list named > > > voccrap > > > 003 INPUT A > > > 004 CRT A > > > The GET-LIST doesn't return a list, so the WHO stays > > stacked and gets > > > picked up by the INPUT later. > > > > > > Now here's the problem/question. > > > Suppose you have a basic program that creates a list, for > > example: 001 > > > L='A':@AM:'B' 002 SELECTN L TO 0 > > > Saved and cataloged as MY.LIST.PROG > > > And change the test program above to > > > 001 DATA 'WHO' > > > 002 EXECUTE 'MY.LIST.PROG' > > > 003 CRT @SELECTED > > > The WHO does not execute, even though the basic program > > creates a list. > > > You can fiddle with the VOC catalog entries adding 'K' to > > attribute 4 so > > > that you can see the list created by running the program from TCL. > > > So the question is, what magic does a basic program need to > > do so that > > > it can create a list and participate in the serial > > execution of stacked > > > data? > > > > > > -- > > > No virus found in this outgoing message. > > > Checked by AVG Free Edition. > > > Version: 7.1.375 / Virus Database: 267.15.6/258 - Release Date: > > > 2/13/2006 > > > ------- > > > u2-users mailing list > > > [email protected] > > > To unsubscribe please visit HYPERLINK > "http://listserver.u2ug.org/"http://listserver.u2ug.org/ > > ------- > > u2-users mailing list > > [email protected] > > To unsubscribe please visit HYPERLINK > "http://listserver.u2ug.org/"http://listserver.u2ug.org/ > > > > -- > > No virus found in this incoming message. > > Checked by AVG Free Edition. > > Version: 7.1.375 / Virus Database: 267.15.6/258 - Release > > Date: 2/13/2006 > > > > > > -- > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.1.375 / Virus Database: 267.15.6/258 - Release Date: > 2/13/2006 > ------- > 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/
