Bob, this is exactly what I'm attempting, to save the current 0 list and
restore it.  David, checking the list before the FORM.LIST appears to have
solved the problem.  Thank you.

Has this kind of thing always been this onerous?  I recall doing it much
more easily - on Unidata - but it's been years.

On Mon, Sep 24, 2012 at 11:57 AM, Woodward, Bob
<bob_woodw...@k2sports.com>wrote:

> 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
>
_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to