Re: [U2] Universe Server Hibernation
Many thanks for the responses :) - lost of food for thought! George, Thanks; I'm aware of the UPS being able to trigger processes; in fact I'm working toward a control system that will in future help to handle such incidents; there is a handful of less critical servers involved as well. Wol - the hibernation is not set up yet; and yes; I want to suspend the entire server and operating system to disk - no VMs involved. Our UV server is the server least often shut down or rebooted; to the point where I actually delay OS patches for months on end; having a 100% uptime of 6 months on the UV server is nothing new here. In fact last week's incident was the first in 3 years where this server went down without pre-scheduled downtime. John, a generator is high on my priority list. Proposals and funding for one have been repeatedly rejected during the last couple of years by my directors. We have invested heavily in wireless technology in our warehouses in the last year though, and I'm busy preparing new proposals which should be more open to acceptance, as power outages will have a much bigger impact on our business operations than in the past. We don't have a large user base - just 120 users at present, but that incorporates a whopping 50% growth in just the last year; it's been playing havoc with capacity planning and licensing! Thanks Stuart - it looks like I'll have to do some testing then. I'll just install a copy of UV on a test machine and restore a backup to it and run the tests within the 30 day licensing grace period; I really feel Rocket wouldn't bust my butt for a once-off test like this. If anybody from Rocket reads this, I would appreciate your comments before I do it though. If/Once I'm happy with the software tests, I can do a controlled test on the actual server to check for hardware related issues. There are two other small UV sites here in Namibia that may also benefit from this localised experience - I'll post feedback on the test results. Ross, thanks; the processes run in serial from a paragraph list - unfortunately it needs some user data inputs to start up thus the need for a telnet session on the server console to start it; we learnt years ago it's not good to run this lot from a networked session! No SAN / NAS - just a proper RAID system in the server itself. The console telnet session is my main concern though... I might have to see if we can start the processing off from a local UV shell; that might be more feasible than a local telnet session. Kind Regards Arnold Bosch IT Administrator Taeuber Corssen SWA (Pty) Ltd -- - Disclaimer: This email message is intended solely for the use of the individual or entity to whom it is addressed and may contain confidential information which may be privileged and protected by law. If you are not the intended recipient, please notify us at our email address, delete this message and do not disclose the contents of this email message to any other person use it for any purpose or store or copy this email in any manner or form. Opinions, conclusions and other information contained in this email message that do not relate to our official business shall be understood as neither given nor endorsed by us. We do not represent, warrant and/or guarantee that the integrity of this communication has been maintained or that this communication is free of errors, virus, interception or interference. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Universe Server Hibernation
We had serious power issues for a few years while the surrounding roads were under construction. The APC Automatic shutdown process built into the parachute software (donno if this is what it's still called) seemed to work well enough. We never had any issues with UniVerse shutting down or restarting afterwards. We utilize a generator for short outages, but usually the heat gets to a point where we have to shut down after a few hours anyway. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Arnold Bosch Sent: Wednesday, July 20, 2011 6:41 AM To: U2 Users List Subject: Re: [U2] Universe Server Hibernation Many thanks for the responses :) - lost of food for thought! George, Thanks; I'm aware of the UPS being able to trigger processes; in fact I'm working toward a control system that will in future help to handle such incidents; there is a handful of less critical servers involved as well. Wol - the hibernation is not set up yet; and yes; I want to suspend the entire server and operating system to disk - no VMs involved. Our UV server is the server least often shut down or rebooted; to the point where I actually delay OS patches for months on end; having a 100% uptime of 6 months on the UV server is nothing new here. In fact last week's incident was the first in 3 years where this server went down without pre-scheduled downtime. John, a generator is high on my priority list. Proposals and funding for one have been repeatedly rejected during the last couple of years by my directors. We have invested heavily in wireless technology in our warehouses in the last year though, and I'm busy preparing new proposals which should be more open to acceptance, as power outages will have a much bigger impact on our business operations than in the past. We don't have a large user base - just 120 users at present, but that incorporates a whopping 50% growth in just the last year; it's been playing havoc with capacity planning and licensing! Thanks Stuart - it looks like I'll have to do some testing then. I'll just install a copy of UV on a test machine and restore a backup to it and run the tests within the 30 day licensing grace period; I really feel Rocket wouldn't bust my butt for a once-off test like this. If anybody from Rocket reads this, I would appreciate your comments before I do it though. If/Once I'm happy with the software tests, I can do a controlled test on the actual server to check for hardware related issues. There are two other small UV sites here in Namibia that may also benefit from this localised experience - I'll post feedback on the test results. Ross, thanks; the processes run in serial from a paragraph list - unfortunately it needs some user data inputs to start up thus the need for a telnet session on the server console to start it; we learnt years ago it's not good to run this lot from a networked session! No SAN / NAS - just a proper RAID system in the server itself. The console telnet session is my main concern though... I might have to see if we can start the processing off from a local UV shell; that might be more feasible than a local telnet session. Kind Regards Arnold Bosch IT Administrator Taeuber Corssen SWA (Pty) Ltd -- - Disclaimer: This email message is intended solely for the use of the individual or entity to whom it is addressed and may contain confidential information which may be privileged and protected by law. If you are not the intended recipient, please notify us at our email address, delete this message and do not disclose the contents of this email message to any other person use it for any purpose or store or copy this email in any manner or form. Opinions, conclusions and other information contained in this email message that do not relate to our official business shall be understood as neither given nor endorsed by us. We do not represent, warrant and/or guarantee that the integrity of this communication has been maintained or that this communication is free of errors, virus, interception or interference. ___ 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] Trailing blanks attributes....
ok. UV / Information Flavor If I create the following and write it out, it seems fine. X= X1=DATA X2= WRITE X ON FILE,ITEM If I Edit the Item, it has 2 attribute lines. 001: DATA 002: Now If I add the following: X= X1=DATA X2= INS DATA2 BEFORE X2 It doesn't create: 001: DATA 002: DATA2 003: But instead the INS eliminates the trailing attribute 001: DATA 002: DATA2 BUT. I had the following: X= X1=DATA X2= X3= INS DATA2 BEFORE X2 It respects the trailing attribute giving: 001: DATA 002: DATA2 003: 004: Is there an $OPTIONS setting to stop this? George Gallen Senior Programmer/Analyst Accounting/Data Division, EDI Administrator ggal...@wyanokegroup.com ph:856.848.9005 Ext 220 The Wyanoke Group http://www.wyanokegroup.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] SELECT question, paginated select.
I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
Hi Chris: This is a problem we first tried to figure out when we went to the Web. The easiest way for us was to save off the client select using SAVE.LIST. You will need a few variableS to keep track of where you are CURRENT.PAGE.NO, ITEMS.PER.PAGE and NEW.PAGE.NO. Use you math skills you can get your list and process only a the what page you need. Regards, Doug www.u2logic.com 100% Web applications for Universe and Unidata ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
Doug, Thanks for the reply. I'm a little confused as to how to execute your suggestion though. EXECUTE 'SELECT CLIENT WITH @ID = A] SAMPLE 10' CAPTURING CAPTURED PASSLIST REC.COUNT = @SELECTED*SYSTEM(11) IF REC.COUNT THEN EXECUTE 'SAVE.LIST CLIENT.LIST ' END RETURN In the above example we SELECT 10 clients, then the 10 clients are saved to CLIENT.LIST. How would we go about getting the next 10 clients? Are you suggesting we use our CLIENT.LIST in the next SELECT so the next SELECT would look something like this: EXECUTE 'SELECT CLIENT WITH @ID = A] AND WITH @ID [CLIENT.LIST] ' Date: Wed, 20 Jul 2011 11:38:50 -0600 From: dave...@gmail.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Hi Chris: This is a problem we first tried to figure out when we went to the Web. The easiest way for us was to save off the client select using SAVE.LIST. You will need a few variableS to keep track of where you are CURRENT.PAGE.NO, ITEMS.PER.PAGE and NEW.PAGE.NO. Use you math skills you can get your list and process only a the what page you need. Regards, Doug www.u2logic.com 100% Web applications for Universe and Unidata ___ 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
Re: [U2] SELECT question, paginated select.
Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
Chris: For instance, we have checks file. A number of our clients have over a million records in the file. It's indexed on vendor no. and check date. The index would look like: 00CAPGE15857 (7 digit vendor and 5 digit date) This is a left justified so it's easy to sort and select. I can select any item in the file for any vendor and even limit it to any date... SELECT VENDCHECKS WITH INDEX_1 = 00CAPGE] SELECT VENDCHECKS WITH INDEX_1 00CAPGE15786 Within a second or less you'll get your data since an index is being selected. If you want to traverse the index, you'll need to do it within BASIC. In D3 they had the KEY() function, In UniData they have the SETINDEX, READFWD, and READBCK, commands (with a few other derivatives). But these allow you to set an index to start with (let's say in wanted to start accessing checks with vend# CAPGE and with checkdate of 21 Mar 2011). From here you can read forward or backward for {n} number of records. When you have the number you want you need to return to the calling program with this data including the top and bottom values. You'll display what you want then if you go to the next page you can READFWD from the bottom of the page. To go backward you'll READBCK from the top of the page. For UniVerse, you'll have to do a bit of a dance, although, compared to D3 you have to do a bit of a dance in UniData. But I know UniData works well and assume it's also true with UniVerse, although UV doesn't store in a B-Tree, so the first item read may have a large number of items in the list. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 11:20 AM *Subject:* Re: [U2] SELECT question, paginated select. Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
Chris, I agree with Bill, using an index is your best solution. Are you able to apply any kind of filter criteria to the names? If not here's one of your dilemmas... If you make your drop down list too small nobody will use it because it will take too long to get to anyone beyond the A's. If you make it too long it will be cumbersome to find someone on the page and the build time of the drop down list on the client side may be too slow. I strongly recommend, from experience, using something other than a dropdown list, even using a combo box list allows the user to provide some criteria to narrow the search. Hth Curt Stewart Chris Austin cjausti...@hotmail.com wrote: Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
Bill, I guess my question is regarding how to traverse the index. In this case the field we're using is the @ID, so it's indexed by default. Below you stated that we have to traverse in BASIC, is this using the SAVE.LIST approach that Doug talks about? In your example: SELECT VENDCHECKS WITH INDEX_1 = 00CAPGE] how would you limit that to the first 10 entries? And then how would you get the next 10 after that? We're on UniVerse so I assume the UniData commands below won't work for our application. Chris Date: Wed, 20 Jul 2011 11:39:42 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: For instance, we have checks file. A number of our clients have over a million records in the file. It's indexed on vendor no. and check date. The index would look like: 00CAPGE15857 (7 digit vendor and 5 digit date) This is a left justified so it's easy to sort and select. I can select any item in the file for any vendor and even limit it to any date... SELECT VENDCHECKS WITH INDEX_1 = 00CAPGE] SELECT VENDCHECKS WITH INDEX_1 00CAPGE15786 Within a second or less you'll get your data since an index is being selected. If you want to traverse the index, you'll need to do it within BASIC. In D3 they had the KEY() function, In UniData they have the SETINDEX, READFWD, and READBCK, commands (with a few other derivatives). But these allow you to set an index to start with (let's say in wanted to start accessing checks with vend# CAPGE and with checkdate of 21 Mar 2011). From here you can read forward or backward for {n} number of records. When you have the number you want you need to return to the calling program with this data including the top and bottom values. You'll display what you want then if you go to the next page you can READFWD from the bottom of the page. To go backward you'll READBCK from the top of the page. For UniVerse, you'll have to do a bit of a dance, although, compared to D3 you have to do a bit of a dance in UniData. But I know UniData works well and assume it's also true with UniVerse, although UV doesn't store in a B-Tree, so the first item read may have a large number of items in the list. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 11:20 AM *Subject:* Re: [U2] SELECT question, paginated select. Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
Curt, My problem is understanding how to traverse the query. Our dropdown is paginated, we can specify the # of results per paginated drop-down so it being super long or short isn't an issue. The problem is getting the SELECT statements/UniVerse to match what we want the dropdown to do. For example if I query a table called CLIENT which has @ID indexed, I do the following: EXECUTE 'SELECT CLIENT BY @ID' My questions are: #1) How would I specify 10 results back from the query? #2) How would I 'pick up' where I left off for page 2 (values 11-20)? Doug mentioned using SAVE.LIST to do this, Bill says that you have to do a dance in UniVerse. I guess I'm curious what this dance is that I need to do? If it's not handled in the SELECT then what technique are you using in UniVerse? Chris Date: Wed, 20 Jul 2011 13:59:48 -0500 From: cstew...@tri-sysconsulting.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris, I agree with Bill, using an index is your best solution. Are you able to apply any kind of filter criteria to the names? If not here's one of your dilemmas... If you make your drop down list too small nobody will use it because it will take too long to get to anyone beyond the A's. If you make it too long it will be cumbersome to find someone on the page and the build time of the drop down list on the client side may be too slow. I strongly recommend, from experience, using something other than a dropdown list, even using a combo box list allows the user to provide some criteria to narrow the search. Hth Curt Stewart Chris Austin cjausti...@hotmail.com wrote: Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
Look at the BSCAN directive. It allows you to scan and traverse B-Tree type files and alternate indices. Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 12:19 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Curt, My problem is understanding how to traverse the query. Our dropdown is paginated, we can specify the # of results per paginated drop-down so it being super long or short isn't an issue. The problem is getting the SELECT statements/UniVerse to match what we want the dropdown to do. For example if I query a table called CLIENT which has @ID indexed, I do the following: EXECUTE 'SELECT CLIENT BY @ID' My questions are: #1) How would I specify 10 results back from the query? #2) How would I 'pick up' where I left off for page 2 (values 11-20)? Doug mentioned using SAVE.LIST to do this, Bill says that you have to do a dance in UniVerse. I guess I'm curious what this dance is that I need to do? If it's not handled in the SELECT then what technique are you using in UniVerse? Chris Date: Wed, 20 Jul 2011 13:59:48 -0500 From: cstew...@tri-sysconsulting.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris, I agree with Bill, using an index is your best solution. Are you able to apply any kind of filter criteria to the names? If not here's one of your dilemmas... If you make your drop down list too small nobody will use it because it will take too long to get to anyone beyond the A's. If you make it too long it will be cumbersome to find someone on the page and the build time of the drop down list on the client side may be too slow. I strongly recommend, from experience, using something other than a dropdown list, even using a combo box list allows the user to provide some criteria to narrow the search. Hth Curt Stewart Chris Austin cjausti...@hotmail.com wrote: Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
I have no idea what the BSCAN directive is? Is that a UniVerse command? It seems that there's not really a straightforward consensus on the solution to this problem. Chris From: lar...@wcs-corp.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 12:42:10 -0700 Subject: Re: [U2] SELECT question, paginated select. Look at the BSCAN directive. It allows you to scan and traverse B-Tree type files and alternate indices. Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 12:19 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Curt, My problem is understanding how to traverse the query. Our dropdown is paginated, we can specify the # of results per paginated drop-down so it being super long or short isn't an issue. The problem is getting the SELECT statements/UniVerse to match what we want the dropdown to do. For example if I query a table called CLIENT which has @ID indexed, I do the following: EXECUTE 'SELECT CLIENT BY @ID' My questions are: #1) How would I specify 10 results back from the query? #2) How would I 'pick up' where I left off for page 2 (values 11-20)? Doug mentioned using SAVE.LIST to do this, Bill says that you have to do a dance in UniVerse. I guess I'm curious what this dance is that I need to do? If it's not handled in the SELECT then what technique are you using in UniVerse? Chris Date: Wed, 20 Jul 2011 13:59:48 -0500 From: cstew...@tri-sysconsulting.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris, I agree with Bill, using an index is your best solution. Are you able to apply any kind of filter criteria to the names? If not here's one of your dilemmas... If you make your drop down list too small nobody will use it because it will take too long to get to anyone beyond the A's. If you make it too long it will be cumbersome to find someone on the page and the build time of the drop down list on the client side may be too slow. I strongly recommend, from experience, using something other than a dropdown list, even using a combo box list allows the user to provide some criteria to narrow the search. Hth Curt Stewart Chris Austin cjausti...@hotmail.com wrote: Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
We have had similar problems - one solution that works very well is to not contact the database to do big selects like this. We write such data into xml files onto the web server and make them accessible via a web service that is cached. This speeds up performance considerably, it sounds like a supplier list is not something that changes every minute so caching should not be a problem. You can then do whatever paging etc required within the xml and webservice. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: 20 July 2011 18:15 To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1390 / Virus Database: 1518/3776 - Release Date: 07/20/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
If your objective is: To get the search results down to something small that the user can deal with... I believe the person that mentioned a combo box, would be your Easiest Solution. However, it may not be the fastest, because you will inevitably have to use a wildcard search in RETRIEVE to get some data back. You said you were using dojo... so here is a link to comboboxes in dojo. http://dojotoolkit.org/reference-guide/dijit/form/ComboBox.html Basically the user could type in a search phrase, and as the user types you would fire up a Universe Query (however you are doing that), that would grab some data and send it back. Then the user would have a scrollable list of results they could choose from. I have never used dojo. I have used jquery ui and made it work. http://jqueryui.com/demos/autocomplete/ However, you should set a minimum number of characters before it fires the search (something like 3 or 4), otherwise, every time the user types a character, another UV SELECT will fire. Remember, how I said this is the easiest and NOT the fastest. So if your website is going to have a hundred hits every few minutes on this search box, maybe this is not a good idea for you. In addition to that, the subroutine on the Universe side would probably have to do a wildcard search. Something like: SELECT CLIENT WITH @ID = AUTO] If the ID is indexed, what I have noticed is... that a left OR right wildcard search goes pretty quickly. However, if you do a wildcard search on both sides, I don't believe it uses the index at all. (i.e. SELECT CLIENT WITH @ID = [AUTO]) I don't know if wildcards use indexes at all, I'm sure someone knows that answer on here. I'm fairly sure that you cannot query on multiple indexes with one RETRIEVE statement. If you find that your system is not fast enough to do those wildcard searches every time one fires, then, I do not have an answer for that. It seems to me that you would have to do some fancy BASIC programming on the Universe side for that... I even dabbled in using FINDSTR (In UniBASIC) for that, but, it did not seem to be any faster than a wildcard search on our system. It actually seemed slower once the string of names became too long. We are just running a plain old U320 SCSI RAID 10 array on AIX 5.3. As in anything with web programming (especially with MV), there are million ways to skin the cat. Hope that helps. On Wed, Jul 20, 2011 at 3:49 PM, Chris Austin cjausti...@hotmail.comwrote: I have no idea what the BSCAN directive is? Is that a UniVerse command? It seems that there's not really a straightforward consensus on the solution to this problem. Chris From: lar...@wcs-corp.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 12:42:10 -0700 Subject: Re: [U2] SELECT question, paginated select. Look at the BSCAN directive. It allows you to scan and traverse B-Tree type files and alternate indices. Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 12:19 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Curt, My problem is understanding how to traverse the query. Our dropdown is paginated, we can specify the # of results per paginated drop-down so it being super long or short isn't an issue. The problem is getting the SELECT statements/UniVerse to match what we want the dropdown to do. For example if I query a table called CLIENT which has @ID indexed, I do the following: EXECUTE 'SELECT CLIENT BY @ID' My questions are: #1) How would I specify 10 results back from the query? #2) How would I 'pick up' where I left off for page 2 (values 11-20)? Doug mentioned using SAVE.LIST to do this, Bill says that you have to do a dance in UniVerse. I guess I'm curious what this dance is that I need to do? If it's not handled in the SELECT then what technique are you using in UniVerse? Chris Date: Wed, 20 Jul 2011 13:59:48 -0500 From: cstew...@tri-sysconsulting.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris, I agree with Bill, using an index is your best solution. Are you able to apply any kind of filter criteria to the names? If not here's one of your dilemmas... If you make your drop down list too small nobody will use it because it will take too long to get to anyone beyond the A's. If you make it too long it will be cumbersome to find someone on the page and the build time of the drop down list on the client side may be too slow. I strongly recommend, from experience, using something other than a dropdown list, even using a combo box list allows the user to provide some criteria to narrow the search. Hth Curt Stewart Chris Austin cjausti...@hotmail.com wrote:
Re: [U2] SELECT question, paginated select.
I'll also add that, I'm fairly new at this myself, so, if you read that and go... Thats way too resource intensive I realize that, but, its the only experience I have with your type of problem :) On Wed, Jul 20, 2011 at 4:05 PM, John Thompson jthompson...@gmail.comwrote: If your objective is: To get the search results down to something small that the user can deal with... I believe the person that mentioned a combo box, would be your Easiest Solution. However, it may not be the fastest, because you will inevitably have to use a wildcard search in RETRIEVE to get some data back. You said you were using dojo... so here is a link to comboboxes in dojo. http://dojotoolkit.org/reference-guide/dijit/form/ComboBox.html Basically the user could type in a search phrase, and as the user types you would fire up a Universe Query (however you are doing that), that would grab some data and send it back. Then the user would have a scrollable list of results they could choose from. I have never used dojo. I have used jquery ui and made it work. http://jqueryui.com/demos/autocomplete/ However, you should set a minimum number of characters before it fires the search (something like 3 or 4), otherwise, every time the user types a character, another UV SELECT will fire. Remember, how I said this is the easiest and NOT the fastest. So if your website is going to have a hundred hits every few minutes on this search box, maybe this is not a good idea for you. In addition to that, the subroutine on the Universe side would probably have to do a wildcard search. Something like: SELECT CLIENT WITH @ID = AUTO] If the ID is indexed, what I have noticed is... that a left OR right wildcard search goes pretty quickly. However, if you do a wildcard search on both sides, I don't believe it uses the index at all. (i.e. SELECT CLIENT WITH @ID = [AUTO]) I don't know if wildcards use indexes at all, I'm sure someone knows that answer on here. I'm fairly sure that you cannot query on multiple indexes with one RETRIEVE statement. If you find that your system is not fast enough to do those wildcard searches every time one fires, then, I do not have an answer for that. It seems to me that you would have to do some fancy BASIC programming on the Universe side for that... I even dabbled in using FINDSTR (In UniBASIC) for that, but, it did not seem to be any faster than a wildcard search on our system. It actually seemed slower once the string of names became too long. We are just running a plain old U320 SCSI RAID 10 array on AIX 5.3. As in anything with web programming (especially with MV), there are million ways to skin the cat. Hope that helps. On Wed, Jul 20, 2011 at 3:49 PM, Chris Austin cjausti...@hotmail.comwrote: I have no idea what the BSCAN directive is? Is that a UniVerse command? It seems that there's not really a straightforward consensus on the solution to this problem. Chris From: lar...@wcs-corp.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 12:42:10 -0700 Subject: Re: [U2] SELECT question, paginated select. Look at the BSCAN directive. It allows you to scan and traverse B-Tree type files and alternate indices. Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 12:19 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Curt, My problem is understanding how to traverse the query. Our dropdown is paginated, we can specify the # of results per paginated drop-down so it being super long or short isn't an issue. The problem is getting the SELECT statements/UniVerse to match what we want the dropdown to do. For example if I query a table called CLIENT which has @ID indexed, I do the following: EXECUTE 'SELECT CLIENT BY @ID' My questions are: #1) How would I specify 10 results back from the query? #2) How would I 'pick up' where I left off for page 2 (values 11-20)? Doug mentioned using SAVE.LIST to do this, Bill says that you have to do a dance in UniVerse. I guess I'm curious what this dance is that I need to do? If it's not handled in the SELECT then what technique are you using in UniVerse? Chris Date: Wed, 20 Jul 2011 13:59:48 -0500 From: cstew...@tri-sysconsulting.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris, I agree with Bill, using an index is your best solution. Are you able to apply any kind of filter criteria to the names? If not here's one of your dilemmas... If you make your drop down list too small nobody will use it because it will take too long to get to anyone beyond the A's. If you make it too long it will be cumbersome to find someone on the page and the build
Re: [U2] SELECT question, paginated select.
Chris: Indexes aren't created by default. The @ID is hashed into the file which allows you to retrieve an item via the @ID with a single disk read. To index, you need to create a dictionary. I create all our index dictionaries as INDEX_{n} (e.g. INDEX_1, INDEX_2, etc). They're I-Descriptors like: 5 Allegis (0)- AE DICT ARTLEDGER INDEX_1 Top of INDEX_1 in DICT ARTLEDGER, 9 lines, 434 characters. *--: P 001: I This is the INDEX dictionary that determines what the index is for. Structure: Client# Cust# YrMo Ctrl# 002: OCONV( CLIENTNO, 'MR%4' ) : OCONV( UNITNO, 'MR%7' ) : YRMO_PSTD : OCONV( INVNO, 'MR%7' ) 003: 004: 005: 24L 006: S 007: As you can see they simply build a string that will be indexed by the CREATE.INDEX command at TCL. It looks like: 5 Dev (0)- LIST.INDEX ARTMASTER Alternate Key Index Details for File ARTMASTER Page 1 File.. ARTMASTER Alternate key length.. 45 Node/Block size... 4K OV blocks. 1 (1 in use, 0 overflowed) Indices... 3 (0 D-type) Index updates. Enabled, No updates pending Index-Name.. F-type K-type Built Empties Dups In-DICT S/M F-no/VF-expr INDEX_1 V TxtYes Yes Yes Yes M SUBR( '-CATS', S UBR( T.LFM, NI D, @FILE.NAME, @ RECORD ), REUSE( OCONV( *OCONV( @ID, 'G1*1' )*, 'MR%7' ) ) ) . . Then you have to execute the BUILD.INDEX command from TCL to populate the index. Here's some quick and dirty BASIC code that manages an index. First you need to open the file that's indexed. * *** Open files FileErr = NULL$ OPEN '', 'ARTLEDGER' TO ARTLEDGER ELSE FileErr := ' ARTLEDGER' IF FileErr NE NULL$ THEN HLDMSG = Missing files: : FileErr GOTO ABORT.PROGRAM END Then you need to define the index variable... ** Read index codes from ARTLEDGER file ARL.INDEX.1 = INDEX_1 A.CODE = ARL.INDEX.1 Then you need to use the index. ** Read transaction pointers DONE = 0 TextLine = NULL$ TOP.START = CLIENT R(%4) : CUST R(%7) NAME.KEY = TOP.START IF NOT(ReverseSort) THEN SETINDEX A.CODE, NAME.KEY ON ARTLEDGER; ** UD version END ELSE TEST.KEY = TOP.START : ICONV('7B', 'MX0C'); ** UD version SETINDEX A.CODE, GE TEST.KEY ON ARTLEDGER ; ** UD version READXFWD NAME.KEY FROM ARTLEDGER ELSE ; ** UD version SETINDEX A.CODE, LAST_ALT_KEY ON ARTLEDGER ; ** UD version END ; ** UD version END * ** Loop through transactions LOOP IF ReverseSort THEN ; ** UD version READXBCK NAME.KEY FROM ARTLEDGER ELSE DONE = 1 ; ** UD version END ELSE ; ** UD version READXFWD NAME.KEY FROM ARTLEDGER ELSE DONE = 1 ; ** UD version END ; ** UD version KEY.ID = @ID ; ** UD version IF NOT(DONE) THEN ; ** UD version treeClient = FIELD(KEY.ID, '*', 1) treeCust = FIELD(KEY.ID, '*', 2) RefNo = FIELD(KEY.ID, '*', 3) * ** Validate client and customer IF treeClient NE CLIENT THEN EXIT IF treeCust NE CUST THEN EXIT * ** Read transactions READ HREC FROM ARTLEDGER, KEY.ID ELSE HREC = NULL$ SOURCE = HRECARTLEDGER.SOURCE DESC = HRECARTLEDGER.DESC TDATE = HRECARTLEDGER.TDATE AMOUNT = HRECARTLEDGER.AMOUNT + 0 ACCT = HRECARTLEDGER.ACCTS HNAME = HRECARTLEDGER.LNAME PREV = HRECARTLEDGER.PREV CURR = HRECARTLEDGER.CURR CUSTNO = TRIM(HRECARTLEDGER.ASSOC_CUST) * ** Build output line TextLine = OCONV(TDATE, 'D2-'):SP2:RefNo L(#9):HNAME L(#27) TextLine := DESC L(#48):AMOUNT R26,C(#11):SP2 TextLine := PREV R26,E(#11):SP2:CURR R26,E(#11) PRINT TextLine END ELSE EXIT REPEAT This should get you pointed in the right direction. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 12:04 PM *Subject:* Re: [U2] SELECT question, paginated select. Bill, I guess my question is regarding how to traverse the index. In this case the field we're using is the @ID, so it's indexed by default. Below you stated that we have to traverse in BASIC, is this using the SAVE.LIST approach that Doug talks about? In your example: SELECT VENDCHECKS WITH INDEX_1 = 00CAPGE] how would you limit that to the first 10 entries? And then how would you get
Re: [U2] SELECT question, paginated select.
Which is a great thingunless you're the cat! And then, you'd pray that a committee be setup to decide on which method to use! As in anything with web programming (especially with MV), there are million ways to skin the cat. Hope that helps. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
I thought we discussed this about a year ago, with the solution using SQL on UV to do your selection, which was able to produce a row number, then only include certain row numbers on the final query. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
Chris, Bscan is a universe command that will let you traverse a secondary index. Say the last company on the page was ABC Company, your BSCAN commands match value could be Abc and then step thru the list with a loop. The UV docs description isn't too bad. Curt Chris Austin cjausti...@hotmail.com wrote: I have no idea what the BSCAN directive is? Is that a UniVerse command? It seems that there's not really a straightforward consensus on the solution to this problem. Chris From: lar...@wcs-corp.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 12:42:10 -0700 Subject: Re: [U2] SELECT question, paginated select. Look at the BSCAN directive. It allows you to scan and traverse B-Tree type files and alternate indices. Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 12:19 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Curt, My problem is understanding how to traverse the query. Our dropdown is paginated, we can specify the # of results per paginated drop-down so it being super long or short isn't an issue. The problem is getting the SELECT statements/UniVerse to match what we want the dropdown to do. For example if I query a table called CLIENT which has @ID indexed, I do the following: EXECUTE 'SELECT CLIENT BY @ID' My questions are: #1) How would I specify 10 results back from the query? #2) How would I 'pick up' where I left off for page 2 (values 11-20)? Doug mentioned using SAVE.LIST to do this, Bill says that you have to do a dance in UniVerse. I guess I'm curious what this dance is that I need to do? If it's not handled in the SELECT then what technique are you using in UniVerse? Chris Date: Wed, 20 Jul 2011 13:59:48 -0500 From: cstew...@tri-sysconsulting.com To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris, I agree with Bill, using an index is your best solution. Are you able to apply any kind of filter criteria to the names? If not here's one of your dilemmas... If you make your drop down list too small nobody will use it because it will take too long to get to anyone beyond the A's. If you make it too long it will be cumbersome to find someone on the page and the build time of the drop down list on the client side may be too slow. I strongly recommend, from experience, using something other than a dropdown list, even using a combo box list allows the user to provide some criteria to narrow the search. Hth Curt Stewart Chris Austin cjausti...@hotmail.com wrote: Bill, I was curious if you had a quick example? I'm just curious how you guys are suggesting to do this Chris Date: Wed, 20 Jul 2011 11:13:04 -0700 From: wphask...@advantos.net To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Chris: I'm betting the solution also needs indexing, because you want to pick up where the last list left off and you don't want to wait for a select to return to save the list. So, SAMPLE isn't really a solution but indexing is. We do this all the time, but we have to use indexing. In fact, we parse through a file with millions of records to get a page full of stuff and the pop-up list is instantaneous. Secondly, I'm not sure a dropdown list is the appropriate choice for a thousand items. HTH, Bill - Original Message - *From:* cjausti...@hotmail.com *To:* u2-users@listserver.u2ug.org *Date:* 7/20/2011 10:14 AM *Subject:* [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list
Re: [U2] SELECT question, paginated select.
Interesting, I wonder if anyone still has an example of this? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:15:58 -0500 Subject: Re: [U2] SELECT question, paginated select. I thought we discussed this about a year ago, with the solution using SQL on UV to do your selection, which was able to produce a row number, then only include certain row numbers on the final query. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
And even easier: ED DICT CLIENT PAGE 0001: I 0002: @1+1 ; INT((@1+1-2)/20)+1 0003: 0004: PAGE 0005: 5R 0006: S Making the assumption that 20 rows / page SELECT CLIENT WITH .. AND WITH PAGE = 1 SELECT CLIENT WITH .. AND WITH PAGE = 14 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, July 20, 2011 4:23 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
George, Is the dictionary change below used for the SQL solution you mentioned? In other words, do I have to add this to use the SQL queries to paginate it based on row? Or is this a trick to use a UniVerse SELECT? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:22:44 -0500 Subject: Re: [U2] SELECT question, paginated select. OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
I believe he has created an I descriptor for you. You can use this with a Universe SELECT. On Wed, Jul 20, 2011 at 4:33 PM, Chris Austin cjausti...@hotmail.comwrote: George, Is the dictionary change below used for the SQL solution you mentioned? In other words, do I have to add this to use the SQL queries to paginate it based on row? Or is this a trick to use a UniVerse SELECT? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:22:44 -0500 Subject: Re: [U2] SELECT question, paginated select. OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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 -- John Thompson ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
This works with UV, and not the SQL solution. However, I did find if you need to do a sorted select, you first have to do the select then a second select to pull the rows / pages SELECT CLIENT WITH NAME LIKE A... SELECT CLIENT WITH PAGE = 4 SELECT CLIENT WITH NAME LIKE A... AND WITH PAGE = 4 WILL NOT WORK CORRECTLY I'm making the assumption that the @1 trick works in Pick flavor, as I'm using Information flavor. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 4:34 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, Is the dictionary change below used for the SQL solution you mentioned? In other words, do I have to add this to use the SQL queries to paginate it based on row? Or is this a trick to use a UniVerse SELECT? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:22:44 -0500 Subject: Re: [U2] SELECT question, paginated select. OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
To clarify that statement, if you are SORTING your results you must make it two statements to get the correct results. SELECT CLIENT WITH NAME LIKE A... BY NAME SELECT CLIENT WITH PAGE = 4 SELECT CLIENT WITH NAME LIKE A... BY NAME AND WITH PAGE = 4 Will give you the page 4 of the unsorted names. Not what you asked for. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, July 20, 2011 4:39 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. This works with UV, and not the SQL solution. However, I did find if you need to do a sorted select, you first have to do the select then a second select to pull the rows / pages SELECT CLIENT WITH NAME LIKE A... SELECT CLIENT WITH PAGE = 4 SELECT CLIENT WITH NAME LIKE A... AND WITH PAGE = 4 WILL NOT WORK CORRECTLY I'm making the assumption that the @1 trick works in Pick flavor, as I'm using Information flavor. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 4:34 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, Is the dictionary change below used for the SQL solution you mentioned? In other words, do I have to add this to use the SQL queries to paginate it based on row? Or is this a trick to use a UniVerse SELECT? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:22:44 -0500 Subject: Re: [U2] SELECT question, paginated select. OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
I just added these two items (ROW and PAGE) to my VOC, so they can be used on any file now although I changed the PAGE name to PAGE20, for 20 items per Page. ED VOC ROW 001: I 002: @1+1 003: 004: ROW 005: 6R 006: S ED VOC PAGE20 001: I 002: @1+1 ; INT((@1+1-2)/20)+1 003: 004: PAGE 005: 6R 006: S ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
George, I put PAGE in my CLIENT DICT so it looks like the following: PAGE 0001 I 0002 @1+1 ; INT((@1+1-2)/20)+1 0003 0004 PAGE 0005 6R 0006 S After I filed it I got a message stating an I-descriptor needs to be compiled but I didn't do that. When I do a LIST CLIENT PAGE I see the page #'s. To paginate in order using the 2 selects are you suggesting I do something like SELECT CLIENT WITH NAME = A] and then save that to a LIST where I use it in the 2nd SELECT with PAGE = 4? Thanks for the help so far, I believe I have the PAGE I-descriptor setup properly. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:38:39 -0500 Subject: Re: [U2] SELECT question, paginated select. This works with UV, and not the SQL solution. However, I did find if you need to do a sorted select, you first have to do the select then a second select to pull the rows / pages SELECT CLIENT WITH NAME LIKE A... SELECT CLIENT WITH PAGE = 4 SELECT CLIENT WITH NAME LIKE A... AND WITH PAGE = 4 WILL NOT WORK CORRECTLY I'm making the assumption that the @1 trick works in Pick flavor, as I'm using Information flavor. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 4:34 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, Is the dictionary change below used for the SQL solution you mentioned? In other words, do I have to add this to use the SQL queries to paginate it based on row? Or is this a trick to use a UniVerse SELECT? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:22:44 -0500 Subject: Re: [U2] SELECT question, paginated select. OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
I've seen this technique described before but it doesn't work for me on UD7.1. Is there a way of doing this in UniData? Thx, Brad. From: George Gallen ggal...@wyanokegroup.com To: U2 Users List u2-users@listserver.u2ug.org Date: 07/20/2011 03:23 PM Subject:Re: [U2] SELECT question, paginated select. Sent by:u2-users-boun...@listserver.u2ug.org OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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 U.S. BANCORP made the following annotations - Electronic Privacy Notice. This e-mail, and any attachments, contains information that is, or may be, covered by electronic communications privacy laws, and is also confidential and proprietary in nature. If you are not the intended recipient, please be advised that you are legally prohibited from retaining, using, copying, distributing, or otherwise disclosing this information in any manner. Instead, please reply to the sender that you have received this communication in error, and then immediately delete it. Thank you in advance for your cooperation. - ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
You only need to use the second select if you are sorting (using the BY). I believe if you are just doing a select, then you can append the WITH PAGE = x to your statement. I don't know how your doing your SELECT from the web page. I don't know if you can stack selects from it, so it will execute one SELECT, then follow it up with a second SELECT based on the results of the first SELECT. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:04 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I put PAGE in my CLIENT DICT so it looks like the following: PAGE 0001 I 0002 @1+1 ; INT((@1+1-2)/20)+1 0003 0004 PAGE 0005 6R 0006 S After I filed it I got a message stating an I-descriptor needs to be compiled but I didn't do that. When I do a LIST CLIENT PAGE I see the page #'s. To paginate in order using the 2 selects are you suggesting I do something like SELECT CLIENT WITH NAME = A] and then save that to a LIST where I use it in the 2nd SELECT with PAGE = 4? Thanks for the help so far, I believe I have the PAGE I-descriptor setup properly. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:38:39 -0500 Subject: Re: [U2] SELECT question, paginated select. This works with UV, and not the SQL solution. However, I did find if you need to do a sorted select, you first have to do the select then a second select to pull the rows / pages SELECT CLIENT WITH NAME LIKE A... SELECT CLIENT WITH PAGE = 4 SELECT CLIENT WITH NAME LIKE A... AND WITH PAGE = 4 WILL NOT WORK CORRECTLY I'm making the assumption that the @1 trick works in Pick flavor, as I'm using Information flavor. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 4:34 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, Is the dictionary change below used for the SQL solution you mentioned? In other words, do I have to add this to use the SQL queries to paginate it based on row? Or is this a trick to use a UniVerse SELECT? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:22:44 -0500 Subject: Re: [U2] SELECT question, paginated select. OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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
Re: [U2] SELECT question, paginated select.
I don't know UD. I guess it's a UV thing only. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of bradley.sch...@usbank.com Sent: Wednesday, July 20, 2011 5:08 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. I've seen this technique described before but it doesn't work for me on UD7.1. Is there a way of doing this in UniData? Thx, Brad. From: George Gallen ggal...@wyanokegroup.com To: U2 Users List u2-users@listserver.u2ug.org Date: 07/20/2011 03:23 PM Subject:Re: [U2] SELECT question, paginated select. Sent by:u2-users-boun...@listserver.u2ug.org OK. Try this ED DICT CLIENT ROW 0001: I 0002: @1+1 0003: 0004: ROW 0005: 5R Now, you can SELECT CLIENT WITH . AND WITH ROW =1 AND ROW =20 As long as the selection stays the same, This should work. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 1:15 PM To: u2-users@listserver.u2ug.org Subject: [U2] SELECT question, paginated select. I'm working on a screen in our webapp where we're using a dojo widjet to create a drop down with client names. The problem is that we have 1,000's of clients and when we do a SELECT on this many clients it takes a while. I know we can index the field but I was wondering if you can do smart selecting in UniVerse. For example if I wanted to use this query: SELECT CLIENT WITH @ID = A] SAMPLE 10 (returns 10 clients starting with the letter A). I want to paginate my drop down so the first query has the above data. The problem I'm facing is that I don't know how to get the NEXT 10 clients? Is there a way to do this? For example if I wanted to return the next 10 CLIENTS, without including any of the first 10. Chris ___ 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 U.S. BANCORP made the following annotations - Electronic Privacy Notice. This e-mail, and any attachments, contains information that is, or may be, covered by electronic communications privacy laws, and is also confidential and proprietary in nature. If you are not the intended recipient, please be advised that you are legally prohibited from retaining, using, copying, distributing, or otherwise disclosing this information in any manner. Instead, please reply to the sender that you have received this communication in error, and then immediately delete it. Thank you in advance for your cooperation. - ___ 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
Re: [U2] SELECT question, paginated select.
You understand that the value for PAGE is specific to the SELECT / LIST which is why when you list the names, it displays as page 1, which is based on that output. When you did the select, it pulled from the page numbers from that selection. As to how it works. If I understand correctly myself @1 is the results of the first value in an I - descriptor, which apparantly is not cleared from item to item in a listing, but is zero'd at the beginning of a select/list. So...the first row, @1 = 0, and we do an @1+1, which adds 1 to the 0 and now 1 becomes @1 (the first value), and the next row uses the previously uncleared value, and so on. Now, I don't know if this is a bug (not clearing the value) or if it's supposed to do that! So if it's a bugit could stop working on a later release of UV, if it's a feature, it's a cool one. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME returns the following: U058623 1 ALEXANDER U056354 1 ALEXANDER U058721 ALEXANDER U054398 1 ALEXANDER U054399 1 ALEXANDER Y0561 ALICE ZMUDA Y0705 1 ALICE ZMUDA U054029B1 ALLEN U056237 1 ALLEN U056238 1 ALLEN U060355 1 ALLEN Y0161 ALLEN WHITE 13591 ALLSTATE ADJUSTERS U056091 ALMA J STRAIN U05405I 1 ALONZI U059501 1 ALSOP Y022 1 ALTERRA CLARE BRIDGE U054912 1 ALTMAN U058306 1 ALVIN A. K Since we're on this subject I must ask, how does this I-descriptor work? I'm not too familiar with UniVerse, it would be nice to know how the I-descriptor works so I can explain it to my colleague :) Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:13:41 -0500 Subject: Re: [U2] SELECT question, paginated select. You only need to use the second select if you are sorting (using the BY). I believe if you are just doing a select, then you can append the WITH PAGE = x to your statement. I don't know how your doing your SELECT from the web page. I don't know if you can stack selects from it, so it will execute one SELECT, then follow it up with a second SELECT based on the results of the first SELECT. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:04 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I put PAGE in my CLIENT DICT so it looks like the following: PAGE 0001 I 0002 @1+1 ; INT((@1+1-2)/20)+1 0003 0004 PAGE 0005 6R 0006 S After I filed it I got a message stating an I-descriptor needs to be compiled but I didn't do that. When I do a LIST CLIENT PAGE I see the page #'s. To paginate in order using the 2 selects are you suggesting I do something like SELECT CLIENT WITH NAME = A] and then save that to a LIST where I use it in the 2nd SELECT with PAGE = 4? Thanks for the help so far, I believe I have the PAGE I-descriptor setup properly. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:38:39 -0500 Subject: Re: [U2] SELECT question, paginated select. This works with UV, and not the SQL solution. However, I did find if you need to do a sorted select, you first have to do the select then a second select to pull the rows / pages SELECT CLIENT WITH NAME LIKE A... SELECT CLIENT WITH PAGE = 4 SELECT CLIENT WITH NAME LIKE A... AND WITH PAGE = 4 WILL NOT WORK CORRECTLY I'm making the assumption that the @1 trick works in Pick flavor, as I'm using Information flavor. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 4:34 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, Is
Re: [U2] SELECT question, paginated select.
Thank you! We don't do a lot of double select statements in our programs, I assume you do the 1st SELECT and then do some sort of CAPTURED or PASSLIST command to pass the first selected values into the 2nd SELECT. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:32:54 -0500 Subject: Re: [U2] SELECT question, paginated select. You understand that the value for PAGE is specific to the SELECT / LIST which is why when you list the names, it displays as page 1, which is based on that output. When you did the select, it pulled from the page numbers from that selection. As to how it works. If I understand correctly myself @1 is the results of the first value in an I - descriptor, which apparantly is not cleared from item to item in a listing, but is zero'd at the beginning of a select/list. So...the first row, @1 = 0, and we do an @1+1, which adds 1 to the 0 and now 1 becomes @1 (the first value), and the next row uses the previously uncleared value, and so on. Now, I don't know if this is a bug (not clearing the value) or if it's supposed to do that! So if it's a bugit could stop working on a later release of UV, if it's a feature, it's a cool one. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME returns the following: U058623 1 ALEXANDER U056354 1 ALEXANDER U058721 ALEXANDER U054398 1 ALEXANDER U054399 1 ALEXANDER Y0561 ALICE ZMUDA Y0705 1 ALICE ZMUDA U054029B1 ALLEN U056237 1 ALLEN U056238 1 ALLEN U060355 1 ALLEN Y0161 ALLEN WHITE 13591 ALLSTATE ADJUSTERS U056091 ALMA J STRAIN U05405I 1 ALONZI U059501 1 ALSOP Y022 1 ALTERRA CLARE BRIDGE U054912 1 ALTMAN U058306 1 ALVIN A. K Since we're on this subject I must ask, how does this I-descriptor work? I'm not too familiar with UniVerse, it would be nice to know how the I-descriptor works so I can explain it to my colleague :) Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:13:41 -0500 Subject: Re: [U2] SELECT question, paginated select. You only need to use the second select if you are sorting (using the BY). I believe if you are just doing a select, then you can append the WITH PAGE = x to your statement. I don't know how your doing your SELECT from the web page. I don't know if you can stack selects from it, so it will execute one SELECT, then follow it up with a second SELECT based on the results of the first SELECT. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:04 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I put PAGE in my CLIENT DICT so it looks like the following: PAGE 0001 I 0002 @1+1 ; INT((@1+1-2)/20)+1 0003 0004 PAGE 0005 6R 0006 S After I filed it I got a message stating an I-descriptor needs to be compiled but I didn't do that. When I do a LIST CLIENT PAGE I see the page #'s. To paginate in order using the 2 selects are you suggesting I do something like SELECT CLIENT WITH NAME = A] and then save that to a LIST where I use it in the 2nd SELECT with PAGE = 4? Thanks for the help so far, I believe I have the PAGE I-descriptor setup properly. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 15:38:39 -0500 Subject: Re: [U2] SELECT question, paginated select. This works with UV, and not the SQL solution. However, I did find if you need to do a sorted select, you first have to do the select then a second select to pull the rows / pages SELECT CLIENT WITH NAME LIKE A... SELECT CLIENT WITH PAGE = 4 SELECT CLIENT
Re: [U2] SELECT question, paginated select.
I'm not sure if this works on Pick flavor but... ED VOC GETCLIENTS 001: PA 002: SELECT CLIENT BY NAME WITH NAME = I2,SRCH 003: SELECT CLIENT WITH PAGE = I2,PAGNO NOW, You can get your results with GETCLIENTS A 4 GETCLIENTS ALEX 6 George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
oops forgot the bracket: Should read: SELECT CLIENT BY NAME WITH NAME = I2,SRCH] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, July 20, 2011 5:48 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. I'm not sure if this works on Pick flavor but... ED VOC GETCLIENTS 001: PA 002: SELECT CLIENT BY NAME WITH NAME = I2,SRCH 003: SELECT CLIENT WITH PAGE = I2,PAGNO NOW, You can get your results with GETCLIENTS A 4 GETCLIENTS ALEX 6 George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME ___ 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
Re: [U2] SELECT question, paginated select.
If your doing the selects from a Basic program, In order to avoid passlist and a second execute, you can pass a dynamic array of the commands you want to execute. CMD1='SELECT CLIENT BY NAME WITH NAME = A]' CMD1-1='SELECT CLIENT WITH PAGE = 4' EXECUTE CMD1 [RTNLIST] [CAPTURING] OR CMD1='SELECT CLIENT BY NAME WITH NAME = A]':@AM:'SELECT CLIENT WITH PAGE = 4' EXECUTE CMD1 [RTNLIST] [CAPTURING] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:46 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Thank you! We don't do a lot of double select statements in our programs, I assume you do the 1st SELECT and then do some sort of CAPTURED or PASSLIST command to pass the first selected values into the 2nd SELECT. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:32:54 -0500 Subject: Re: [U2] SELECT question, paginated select. You understand that the value for PAGE is specific to the SELECT / LIST which is why when you list the names, it displays as page 1, which is based on that output. When you did the select, it pulled from the page numbers from that selection. As to how it works. If I understand correctly myself @1 is the results of the first value in an I - descriptor, which apparantly is not cleared from item to item in a listing, but is zero'd at the beginning of a select/list. So...the first row, @1 = 0, and we do an @1+1, which adds 1 to the 0 and now 1 becomes @1 (the first value), and the next row uses the previously uncleared value, and so on. Now, I don't know if this is a bug (not clearing the value) or if it's supposed to do that! So if it's a bugit could stop working on a later release of UV, if it's a feature, it's a cool one. George ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SELECT question, paginated select.
I setup my VOC as follows: PA SELECT CLIENT BY NAME WITH NAME = I2,SRCH] SELECT CLIENT WITH PAGE = I2,PAGNO I received an error though: CHRISGETCLIENTS A 4 6000 record(s) selected to SELECT list #0. RetrieVe: syntax error. Unexpected symbol. Token was . Scanned command was SELECT CLIENT WITH PAGE = A Without setting up a VOC entry is there an easy way to execute 2 selects in a program (just like in telnet)? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:50:08 -0500 Subject: Re: [U2] SELECT question, paginated select. oops forgot the bracket: Should read: SELECT CLIENT BY NAME WITH NAME = I2,SRCH] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, July 20, 2011 5:48 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. I'm not sure if this works on Pick flavor but... ED VOC GETCLIENTS 001: PA 002: SELECT CLIENT BY NAME WITH NAME = I2,SRCH 003: SELECT CLIENT WITH PAGE = I2,PAGNO NOW, You can get your results with GETCLIENTS A 4 GETCLIENTS ALEX 6 George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME ___ 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
Re: [U2] SELECT question, paginated select.
George, The first example worked beautifully, thanks for all help! :) Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:58:38 -0500 Subject: Re: [U2] SELECT question, paginated select. If your doing the selects from a Basic program, In order to avoid passlist and a second execute, you can pass a dynamic array of the commands you want to execute. CMD1='SELECT CLIENT BY NAME WITH NAME = A]' CMD1-1='SELECT CLIENT WITH PAGE = 4' EXECUTE CMD1 [RTNLIST] [CAPTURING] OR CMD1='SELECT CLIENT BY NAME WITH NAME = A]':@AM:'SELECT CLIENT WITH PAGE = 4' EXECUTE CMD1 [RTNLIST] [CAPTURING] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:46 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. Thank you! We don't do a lot of double select statements in our programs, I assume you do the 1st SELECT and then do some sort of CAPTURED or PASSLIST command to pass the first selected values into the 2nd SELECT. Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:32:54 -0500 Subject: Re: [U2] SELECT question, paginated select. You understand that the value for PAGE is specific to the SELECT / LIST which is why when you list the names, it displays as page 1, which is based on that output. When you did the select, it pulled from the page numbers from that selection. As to how it works. If I understand correctly myself @1 is the results of the first value in an I - descriptor, which apparantly is not cleared from item to item in a listing, but is zero'd at the beginning of a select/list. So...the first row, @1 = 0, and we do an @1+1, which adds 1 to the 0 and now 1 becomes @1 (the first value), and the next row uses the previously uncleared value, and so on. Now, I don't know if this is a bug (not clearing the value) or if it's supposed to do that! So if it's a bugit could stop working on a later release of UV, if it's a feature, it's a cool one. George ___ 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
Re: [U2] SELECT question, paginated select.
OK cool, thanks. Just out of curiosity how would you do 2 selects using a PASSLIST? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 17:06:50 -0500 Subject: Re: [U2] SELECT question, paginated select. SORRY, My mistake. that should have been SELECT CLIENT WITH PAGE = I3,PAGENO That should clear up the error. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 6:02 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. I setup my VOC as follows: PA SELECT CLIENT BY NAME WITH NAME = I2,SRCH] SELECT CLIENT WITH PAGE = I2,PAGNO I received an error though: CHRISGETCLIENTS A 4 6000 record(s) selected to SELECT list #0. RetrieVe: syntax error. Unexpected symbol. Token was . Scanned command was SELECT CLIENT WITH PAGE = A Without setting up a VOC entry is there an easy way to execute 2 selects in a program (just like in telnet)? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:50:08 -0500 Subject: Re: [U2] SELECT question, paginated select. oops forgot the bracket: Should read: SELECT CLIENT BY NAME WITH NAME = I2,SRCH] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, July 20, 2011 5:48 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. I'm not sure if this works on Pick flavor but... ED VOC GETCLIENTS 001: PA 002: SELECT CLIENT BY NAME WITH NAME = I2,SRCH 003: SELECT CLIENT WITH PAGE = I2,PAGNO NOW, You can get your results with GETCLIENTS A 4 GETCLIENTS ALEX 6 George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME ___ 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
Re: [U2] SELECT question, paginated select.
CMD1=SELECT1 EXECUTE CMD1 RTNLIST [VARNAME] CMD2=SELECT2 EXECUTE CMD1 PASSLIST [VARNAME] RTNLIST [VARNAME] Where [VARNAME] is an optional variable name to hold the list in case you had multiple lists you were working on. I believe you can hold selectlist variables in a regular array ()'s, but not in a dynamic array 's IE. EXECUTE CMD1 RTNLIST LIST1 HOLDIT(1)=LIST1 LIST1=HOLDIT(1) EXECUTE CMD2 PASSLIST LIST1 RTNLIST LIST2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 6:15 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. OK cool, thanks. Just out of curiosity how would you do 2 selects using a PASSLIST? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 17:06:50 -0500 Subject: Re: [U2] SELECT question, paginated select. SORRY, My mistake. that should have been SELECT CLIENT WITH PAGE = I3,PAGENO That should clear up the error. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 6:02 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. I setup my VOC as follows: PA SELECT CLIENT BY NAME WITH NAME = I2,SRCH] SELECT CLIENT WITH PAGE = I2,PAGNO I received an error though: CHRISGETCLIENTS A 4 6000 record(s) selected to SELECT list #0. RetrieVe: syntax error. Unexpected symbol. Token was . Scanned command was SELECT CLIENT WITH PAGE = A Without setting up a VOC entry is there an easy way to execute 2 selects in a program (just like in telnet)? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:50:08 -0500 Subject: Re: [U2] SELECT question, paginated select. oops forgot the bracket: Should read: SELECT CLIENT BY NAME WITH NAME = I2,SRCH] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, July 20, 2011 5:48 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. I'm not sure if this works on Pick flavor but... ED VOC GETCLIENTS 001: PA 002: SELECT CLIENT BY NAME WITH NAME = I2,SRCH 003: SELECT CLIENT WITH PAGE = I2,PAGNO NOW, You can get your results with GETCLIENTS A 4 GETCLIENTS ALEX 6 George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME ___ 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
Re: [U2] SELECT question, paginated select.
I just answered my own question right after I sent that last reply..lol. The PASSLIST way (which I will not be using btw) is below: SEL.STMT = 'SELECT CLIENT BY NAME WITH NAME = A]' EXECUTE SEL.STMT CAPTURING CAPTURED PASSLIST IF (SYSTEM(11)*@SELECTED) THEN LIST.STMT = 'SELECT CLIENT WITH PAGE = 4' EXECUTE LIST.STMT CAPTURING CAPTURED PASSLIST LOOP WHILE READNEXT CLIENT.KEY CALL LFSIO.DATAFILE('QREAD*CLIENT',CLIENT.REC,CLIENT.KEY,'','') PRINT CLIENT.KEY:' ':CLIENT.RECCL$NAME REPEAT END RETURN Like you said, why do 2 executes when you don't need to, although when you stack your SELECT commands like you did with the following: CMD1 = 'SELECT CLIENT BY NAME WITH NAME = A]' CMD1-1 = 'SELECT CLIENT WITH PAGE = 1' EXECUTE CMD1 RTNLIST CLIENT.LIST You would think that does 2 executes, 1 behind the scenes but maybe not? It must someone execute the first SELECT doesn't it, or is it a system level command when you stack select's that the system processes 1 first, then the 2nd with the first's results. Chris From: cjausti...@hotmail.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 17:14:53 -0500 Subject: Re: [U2] SELECT question, paginated select. OK cool, thanks. Just out of curiosity how would you do 2 selects using a PASSLIST? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 17:06:50 -0500 Subject: Re: [U2] SELECT question, paginated select. SORRY, My mistake. that should have been SELECT CLIENT WITH PAGE = I3,PAGENO That should clear up the error. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 6:02 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. I setup my VOC as follows: PA SELECT CLIENT BY NAME WITH NAME = I2,SRCH] SELECT CLIENT WITH PAGE = I2,PAGNO I received an error though: CHRISGETCLIENTS A 4 6000 record(s) selected to SELECT list #0. RetrieVe: syntax error. Unexpected symbol. Token was . Scanned command was SELECT CLIENT WITH PAGE = A Without setting up a VOC entry is there an easy way to execute 2 selects in a program (just like in telnet)? Chris From: ggal...@wyanokegroup.com To: u2-users@listserver.u2ug.org Date: Wed, 20 Jul 2011 16:50:08 -0500 Subject: Re: [U2] SELECT question, paginated select. oops forgot the bracket: Should read: SELECT CLIENT BY NAME WITH NAME = I2,SRCH] -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of George Gallen Sent: Wednesday, July 20, 2011 5:48 PM To: U2 Users List Subject: Re: [U2] SELECT question, paginated select. I'm not sure if this works on Pick flavor but... ED VOC GETCLIENTS 001: PA 002: SELECT CLIENT BY NAME WITH NAME = I2,SRCH 003: SELECT CLIENT WITH PAGE = I2,PAGNO NOW, You can get your results with GETCLIENTS A 4 GETCLIENTS ALEX 6 George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users- boun...@listserver.u2ug.org] On Behalf Of Chris Austin Sent: Wednesday, July 20, 2011 5:26 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] SELECT question, paginated select. George, I must say, you the man! And thanks for everyone else's help too. That I-descriptor works beautifully and saved me a ton of time, thanks a bunch. To get my results in order I have to do the double select, such as: 03 SELECT CLIENT BY NAME WITH NAME = A] 02 SELECT CLIENT WITH PAGE = 4 01 LIST CLIENT PAGE NAME ___ 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
Re: [U2] Universe Server Hibernation
Perhaps once you have the initial user input, then fire the backend off as a phantom - if you need to check progress, write progress inf out to a file that you could LIST from another session Ross Ferris Stamina Software Visage Better by Design! Ross, thanks; the processes run in serial from a paragraph list - unfortunately it needs some user data inputs to start up thus the need for a telnet session on the server console to start it; we learnt years ago it's not good to run this lot from a networked session! No SAN / NAS - just a proper RAID system in the server itself. The console telnet session is my main concern though... I might have to see if we can start the processing off from a local UV shell; that might be more feasible than a local telnet session. Kind Regards Arnold Bosch IT Administrator Taeuber Corssen SWA (Pty) Ltd -- ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users