Seems like the simple solution would be in your subroutine, before you
need to generate your select, test the SYSTEM variable to see if an
active select is already in use.  If it is, do a READLIST into a
variable.  Then at the end of your subroutine, if anything is in your
variable, do a UNIBASIC SELECT to reestablish the active select list.
You might just always check for an active list at the beginning of your
subroutine as a normal setup function then as a exit routine, restore
the active list.

Just a thought.

-----Original Message-----
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King
Sent: Monday, September 24, 2012 10:43 AM
To: U2 Users List
Subject: Re: [U2] Unidata 7.1.16 Multiple Active Select Lists

Well, that success was short lived.  While the READLIST and FORMLIST
allow my SUBR(..) field to not consume the active select list zero,
these two commands produce different results:

LIST ORDER.LINE WITH fieldName fieldName

...this will show the lines that have this field set, and will show the
field properly.  However, this command returns no items:

SELECT ORDER.LINE WITH fieldName

Basically my program is doing this:

READLIST ACTIVE.LIST FROM 0 ELSE NULL
*
CMD = "select ... TO 2"
EXECUTE CMD CAPTURING OUTPUT
*
EOF = @FALSE
LOOP
  READNEXT ID FROM 2 ELSE EOF = @TRUE
UNTIL EOF DO
  ..
REPEAT
*
CLEARSELECT 2
*
FORMLIST ACTIVE.LIST TO 0

All other input/ideas appreciated.

On Mon, Sep 24, 2012 at 11:26 AM, Kevin King <ke...@precisonline.com>
wrote:

> And we have a winner!  Thank you everyone!  The READLIST and FORMLIST 
> will work; seems kinda kludgy, but hey, it's working.
>
>
> On Mon, Sep 24, 2012 at 11:21 AM, David A. Green 
> <dgr...@dagconsulting.com
> > wrote:
>
>> If you already have an active list then you'll have to save it, then 
>> restore it.  See READLIST and FORMLIST.
>>
>> 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 Kevin King
>> Sent: Monday, September 24, 2012 10:11 AM
>> To: U2 Users List
>> Subject: Re: [U2] Unidata 7.1.16 Multiple Active Select Lists
>>
>> It's all fine if the program controls both lists, but in this case 
>> the
>> SUBR(..) type field could be accessed in just about any context, from

>> TCL, from a download, from MITS, from another BASIC routine, with or 
>> without a select list...
>>
>> The RTNLIST doesn't solve the problem of my "select" command 
>> consuming the active list 0.  It seems that the PASSLIST extension to

>> EXECUTE is designed specifically for this purpose, but it produces 
>> nothing but compilation
>> errors:
>>
>> CMD = "select ..."
>> EXECUTE CMD CAPTURING OUTPUT RTNLIST 2 PASSLIST 2
>>
>> ...produces a compilation error about the "misuse" of RTNLIST, 
>> despite the documentation saying this should be possible.
>>
>> The point is that I want to leave select list 0 entirely alone, which

>> is why I'm using $BASICTYPE "U".  BASICTYPE "P" - standard on these 
>> SB+ systems - does not allow one to READNEXT from anything but list 
>> 0, and I want to leave list zero untouched.
>>
>> Gotta be a way, right?
>>
>> -K
>>
>> On Mon, Sep 24, 2012 at 10:56 AM, Martin Braid <mbr...@epicor.com>
wrote:
>>
>> > Hi Kevin, Any reason why you are using type "U" ?     This
certainly
>> > works using "P" ...
>> >
>> > S='SELECT SOMEFILE WITH SOMETHING = "OOJIT"'
>> > EXECUTE S RTNLIST MYLIST CAPTURING ANYOUTPUT
>> > EOF=0
>> > LOOP UNTIL EOF DO
>> >   READNEXT MYID FROM MYLIST THEN
>> >     GSOUB MYMESS
>> >   END ELSE EOF=1
>> > REPEAT
>> >
>> > Martin
>> >
>> >
>> > -----Original Message-----
>> > From: u2-users-boun...@listserver.u2ug.org
>> > [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Baker 
>> > Hughes
>> > Sent: 24 September 2012 17:49
>> > To: 'U2 Users List'
>> > Subject: Re: [U2] Unidata 7.1.16 Multiple Active Select Lists
>> >
>> > Can you use SELECT yourfile WITH whatever TO 8 {specific list 
>> > number} in the master process, and let your SUBR virtual field 
>> > default to list
>> > 0 {zero}?
>> >
>> > The other option could be to do a READLIST within the SUBR function

>> > and reset the list when RETURNing, but this could be onerous in 
>> > terms of processing speed.
>> >
>> > HTH
>> > -Baker
>> >
>> >
>> >
>> > -----Original Message-----
>> > From: u2-users-boun...@listserver.u2ug.org
>> > [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin 
>> > King
>> > Sent: Monday, September 24, 2012 11:43 AM
>> > To: U2 Users List
>> > Subject: [U2] Unidata 7.1.16 Multiple Active Select Lists
>> >
>> > How does one manage multiple active select lists in Unidata?  I 
>> > could have sworn I've done this before, but for some reason it's 
>> > not working at all as I recall.
>> >
>> > I have this SUBR(..) type field in file A that selects records from

>> > file B to calculate an aggregate.  This works fine when listing 
>> > file A and showing the field.  However, if there's an active select

>> > list when file A is listed with this field, the select statement in

>> > my SUBR(..) is consuming the active select list 0 and returning
incorrect results.
>> >
>> > My subroutine is $BASICTYPE "U" and is selecting records using the 
>> > lower case select and selecting to active list #3.  It then 
>> > processes from list
>> > #3 and returns its result.  I've tried using the RTNLIST and 
>> > PASSLIST options on the EXECUTE statements and I get a "Misuse of 
>> > Reserved Word 'PASSLIST'" or "Misuse of Reserved Word 'RTNLIST'".  
>> > I've tried UDTEXECUTE with no compilation errors but also no 
>> > improvement on the problem.  I've even tried MDPERFORM but I get 
>> > the misuse errors with the RTNLIST and PASSLIST options.  Oddly 
>> > enough, removing $BASICTYPE "U" I don't get an error on MDPERFORM 
>> > but I can't READNEXT from a numbered select without the $BASICTYPE
"U".
>> >
>> > How should I structure this SUBR(..) so that it does not consume 
>> > list
>> > 0 when selecting to list 3?
>> > _______________________________________________
>> > U2-Users mailing list
>> > U2-Users@listserver.u2ug.org
>> > http://listserver.u2ug.org/mailman/listinfo/u2-users
>> >
>> > ________________________________
>> >
>> > This communication, its contents and any file attachments 
>> > transmitted with it are intended solely for the addressee(s) and 
>> > may contain confidential proprietary information.
>> > Access by any other party without the express written permission of

>> > the sender is STRICTLY PROHIBITED.
>> > If you have received this communication in error you may not copy, 
>> > distribute or use the contents, attachments or information in any
way.
>> > Please destroy it and contact the sender.
>> > _______________________________________________
>> > U2-Users mailing list
>> > U2-Users@listserver.u2ug.org
>> > http://listserver.u2ug.org/mailman/listinfo/u2-users
>> >
>> >
>> > Click
>> > https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg==
>> > 04y!LlOoL8USVGrPZehFfPKcPPmbfFPdrr1lqOECv!Swg==  to report this 
>> > email as spam.
>> > --------------------------------------------------------
>> >
>> > Epicor Software (UK) is a limited company registered in England &
Wales.
>> > Registration Number: 2338274.   Registered Office:  6th Floor, One
>> London
>> > Wall, London EC2Y 5EB
>> > 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 (UK) Limited

>> > or any other company within
>> its
>> group.
>> >
>> >
>> > This message has been scanned for malware by Websense.
>> > www.websense.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-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

Reply via email to