RE: [U2] UltPlus to UV
Thanks to everyone that responded. Not the solution I had hoped for, but no worse that the one I expected. Thanks Glenn for reminding me about the @USERNO requirement. Thanks again. Tom Dodds [EMAIL PROTECTED] 708-234-9608 Office 630-235-2975 Cell -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Glenn Herbert Sent: Friday, January 20, 2006 3:42 PM To: u2-users@listserver.u2ug.org Cc: [EMAIL PROTECTED]; Userr group U2 Subject: Re: [U2] UltPlus to UV I believe the one solution that I used to use in my "conversion" days was the following: EXECUTE SENT ,//SELECT.>OUTPUT.LIST (or EXECUTE SENT RTNLIST OUTPUT.LIST ) EXECUTE "SAVE.LIST SELCNV.":@USERNO ,//SELECT. < OUTPUT.LIST ,//OUT.>SCREEN.TO.TOSS READLIST OUTPUT.LIST FROM SELCNV.":@USERNO ELSE DELETELIST "SELCNV.":@USERNO It basically does what you indicated, but uses @USERNO appended to SELCNV. to keep the list id's unique per user execution, so you don't have to deal with a bunch of different variable names. If you then needed to convert the dynamic array OUTPUT.LIST (from the READLIST operation) you can use SELECT OUTPUT.LIST TO then use for READNEXT's, etc. You may have to fiddle around a bit, as I'm pretty rusty on this now. Good Luck! _ "I reject your reality and substitute my own" - Adam Savage Glenn M. Herbert - Connectivity Development Engineer Information Integration Solutions, IBM Software Group 50 Washington Street Westboro, MA 01581 508-599-7281 direct [EMAIL PROTECTED] wrote on 01/20/2006 02:42:15 PM: > We are migrating a system from UltPlus to UniVerse 10.1.14. In the EXECUTE > statement, when using the RTNLIST or the PASSLIST function the resultant > list is a list.varialble or cursor and not a simple variable. In the > UltPlus system it is both or can be used as both. I am using RTNLIST and > PASSLIST as the generic word for the variety of keywords to represent that > functionality. > > In the statement: > EXECUTE SENT ,//IN. ,//OUT.>OUT.DATA ,//SELECT.>OUTPUT.LIST > > the PASSLIST variable "INPUT.LIST" and the RTNLIST variable "OUT.DATA" can > function as both a simple variable and a list.variable while in UniVerse > they are only list.variables. SENT is the beginning of a select statement > 'SELECT filename '. Some statements have just the PASSLIST and some have > just the RTNLIST. > > Does anyone know of a clean way of handling this difference? My only > solution is to save the list, read it back in as a variable and the use > GETLIST/READLIST to activate a list.variable. This will require multiple > variable names and some tricky coding to determine which variable to use > where. > > We have over 300 programs with various combinations of this code and I > would rather not address each of them individually. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] UltPlus to UV
Tom, It's still probably going to require some rewrite, but as Ed pointed out (conversely): the second EXECUTE does not save a list created by the first EXECUTE because each EXECUTE operates in its own workspace, not only separate from the program that launched it but also separate from each other EXECUTE in that program (a strict interpretation of generic Pick code). To use EXECUTE, precede the first instance with a DATA statement that contains the second instruction to be executed, so the second statement is executed following the first statement and in the same workspace - eg: DATA "SAVE-LIST X" EXECUTE "SELECT (filename) WITH (etc.)" At least, continuing to use EXECUTE in this way retains the generic Pick syntax so the the software can be again moved to another generic Pick database if necessary without further rewrite. hth. 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: Sent: Friday, January 20, 2006 12:39 PM Subject: RE: [U2] UltPlus to UV > On option would be to use PERFORM instead of EXECUTE. It's benefit is > that the PERFORMEd program gets the active select list, so you can do > things like: > PERFORM 'SELECT CUSTOMER-FILE WITH ACTIVE.FLAG STATE.CODE' > PERFORM 'SELECT STATE-TABLE SAVING UNIQUE STATE.NAME' > Instead of > EXECUTE 'SELECT CUSTOMER-FILE WITH ACTIVE.FLAG STATE.CODE' RTNLIST CODES > EXECUTE 'SELECT STATE-TABLE SAVING UNIQUE STATE.NAME' PASSLIST CODES > Or the proc-like: > DATA 'SELECT STATE-TABLE SAVING UNIQUE STATE.NAME' > EXECUTE 'SELECT CUSTOMER-FILE WITH ACTIVE.FLAG STATE.CODE > The downside is that PERFORM doesn't allow any of the > CAPTURE/RETURN/IN/OUT clauses, which could be a killer. Also obviously > you need to do some extra juggling to maintain the correct active list. > > > -Original Message- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Tom Dodds > > Sent: Friday, January 20, 2006 2:42 PM > > To: Userr group U2 > > Subject: [U2] UltPlus to UV > > > > > > We are migrating a system from UltPlus to UniVerse 10.1.14. > > In the EXECUTE statement, when using the RTNLIST or the > > PASSLIST function the resultant list is a list.varialble or > > cursor and not a simple variable. In the UltPlus system it > > is both or can be used as both. I am using RTNLIST and > > PASSLIST as the generic word for the variety of keywords to > > represent that functionality. > > > > > > > > In the statement: > > > > > > > > EXECUTE SENT ,//IN. > ,//SELECT.OUT.DATA ,//SELECT.>OUTPUT.LIST > > > > > > > > the PASSLIST variable "INPUT.LIST" and the RTNLIST variable > > "OUT.DATA" can function as both a simple variable and a > > list.variable while in UniVerse they are only list.variables. > > SENT is the beginning of a select statement 'SELECT filename > > '. Some statements have just the PASSLIST and some have just > > the RTNLIST. > > > > > > > > Does anyone know of a clean way of handling this difference? > > My only solution is to save the list, read it back in as a > > variable and the use GETLIST/READLIST to activate a > > list.variable. This will require multiple variable names and > > some tricky coding to determine which variable to use where. > > > > > > > > We have over 300 programs with various combinations of this > > code and I would rather not address each of them individually. > > > > > > > > Any thoughts or experiences would be appreciated. > > > > > > > > > > > > Tom Dodds > > > > [EMAIL PROTECTED] > > > > 708-234-9608 Office > > > > 630-235-2975 Cell > > --- > > u2-users mailing list > > u2-users@listserver.u2ug.org > > To unsubscribe please visit http://listserver.u2ug.org/ > --- > u2-users mailing list > u2-users@listserver.u2ug.org > To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
Re: [U2] UltPlus to UV
I believe the one solution that I used to use in my "conversion" days was the following: EXECUTE SENT ,//SELECT.>OUTPUT.LIST (or EXECUTE SENT RTNLIST OUTPUT.LIST ) EXECUTE "SAVE.LIST SELCNV.":@USERNO ,//SELECT. < OUTPUT.LIST ,//OUT.>SCREEN.TO.TOSS READLIST OUTPUT.LIST FROM SELCNV.":@USERNO ELSE DELETELIST "SELCNV.":@USERNO It basically does what you indicated, but uses @USERNO appended to SELCNV. to keep the list id's unique per user execution, so you don't have to deal with a bunch of different variable names. If you then needed to convert the dynamic array OUTPUT.LIST (from the READLIST operation) you can use SELECT OUTPUT.LIST TO then use for READNEXT's, etc. You may have to fiddle around a bit, as I'm pretty rusty on this now. Good Luck! _ "I reject your reality and substitute my own" - Adam Savage Glenn M. Herbert - Connectivity Development Engineer Information Integration Solutions, IBM Software Group 50 Washington Street Westboro, MA 01581 508-599-7281 direct [EMAIL PROTECTED] wrote on 01/20/2006 02:42:15 PM: > We are migrating a system from UltPlus to UniVerse 10.1.14. In the EXECUTE > statement, when using the RTNLIST or the PASSLIST function the resultant > list is a list.varialble or cursor and not a simple variable. In the > UltPlus system it is both or can be used as both. I am using RTNLIST and > PASSLIST as the generic word for the variety of keywords to represent that > functionality. > > In the statement: > EXECUTE SENT ,//IN. ,//OUT.>OUT.DATA ,//SELECT.>OUTPUT.LIST > > the PASSLIST variable "INPUT.LIST" and the RTNLIST variable "OUT.DATA" can > function as both a simple variable and a list.variable while in UniVerse > they are only list.variables. SENT is the beginning of a select statement > 'SELECT filename '. Some statements have just the PASSLIST and some have > just the RTNLIST. > > Does anyone know of a clean way of handling this difference? My only > solution is to save the list, read it back in as a variable and the use > GETLIST/READLIST to activate a list.variable. This will require multiple > variable names and some tricky coding to determine which variable to use > where. > > We have over 300 programs with various combinations of this code and I > would rather not address each of them individually. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] UltPlus to UV
On option would be to use PERFORM instead of EXECUTE. It's benefit is that the PERFORMEd program gets the active select list, so you can do things like: PERFORM 'SELECT CUSTOMER-FILE WITH ACTIVE.FLAG STATE.CODE' PERFORM 'SELECT STATE-TABLE SAVING UNIQUE STATE.NAME' Instead of EXECUTE 'SELECT CUSTOMER-FILE WITH ACTIVE.FLAG STATE.CODE' RTNLIST CODES EXECUTE 'SELECT STATE-TABLE SAVING UNIQUE STATE.NAME' PASSLIST CODES Or the proc-like: DATA 'SELECT STATE-TABLE SAVING UNIQUE STATE.NAME' EXECUTE 'SELECT CUSTOMER-FILE WITH ACTIVE.FLAG STATE.CODE The downside is that PERFORM doesn't allow any of the CAPTURE/RETURN/IN/OUT clauses, which could be a killer. Also obviously you need to do some extra juggling to maintain the correct active list. > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Tom Dodds > Sent: Friday, January 20, 2006 2:42 PM > To: Userr group U2 > Subject: [U2] UltPlus to UV > > > We are migrating a system from UltPlus to UniVerse 10.1.14. > In the EXECUTE statement, when using the RTNLIST or the > PASSLIST function the resultant list is a list.varialble or > cursor and not a simple variable. In the UltPlus system it > is both or can be used as both. I am using RTNLIST and > PASSLIST as the generic word for the variety of keywords to > represent that functionality. > > > > In the statement: > > > > EXECUTE SENT ,//IN. ,//SELECT.OUT.DATA ,//SELECT.>OUTPUT.LIST > > > > the PASSLIST variable "INPUT.LIST" and the RTNLIST variable > "OUT.DATA" can function as both a simple variable and a > list.variable while in UniVerse they are only list.variables. > SENT is the beginning of a select statement 'SELECT filename > '. Some statements have just the PASSLIST and some have just > the RTNLIST. > > > > Does anyone know of a clean way of handling this difference? > My only solution is to save the list, read it back in as a > variable and the use GETLIST/READLIST to activate a > list.variable. This will require multiple variable names and > some tricky coding to determine which variable to use where. > > > > We have over 300 programs with various combinations of this > code and I would rather not address each of them individually. > > > > Any thoughts or experiences would be appreciated. > > > > > > Tom Dodds > > [EMAIL PROTECTED] > > 708-234-9608 Office > > 630-235-2975 Cell > --- > u2-users mailing list > u2-users@listserver.u2ug.org > To unsubscribe please visit http://listserver.u2ug.org/ --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/
RE: [U2] UltPlus to UV
Tom, READLIST sounds like the BASIC statement you're looking for: READLIST dynarray FROM listnumber THEN/ELSE But it does seem to require a list number rather than a list variable name. If you leave out the FROM listnumber clause, it will use the active list #0. If your EXECUTE statement can be modified to use list numbers, you could then use the READLIST statement to suck the unused contents of the list into a dynamic array. SENT = "SELECT filename . TO 4" EXECUTE SENT ,//IN.OUT.DATA {no ,//SELECT.> clause} . . READLIST OUTPUT.LIST FROM 4 ELSE . Not exactly a straight-forward port, but should duplicate the functionality. One caveat: READLIST behaves quite differently in PICK, REALITY, and IN2 flavors. --Ron P. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tom Dodds Sent: Friday, January 20, 2006 1:42 PM To: Userr group U2 Subject: [U2] UltPlus to UV We are migrating a system from UltPlus to UniVerse 10.1.14. In the EXECUTE statement, when using the RTNLIST or the PASSLIST function the resultant list is a list.varialble or cursor and not a simple variable. In the UltPlus system it is both or can be used as both. I am using RTNLIST and PASSLIST as the generic word for the variety of keywords to represent that functionality. --- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/