Re: [U2] OT: Monitoring Program: Can This Be Done?
You really don't want to use TIMEOUT for every user since that can cause a lot of trouble. I only execute it for certain users like shop floor terminals. I put macros into the sbc files on those PCs so you only click on the icon and it logs you on to Linux with the right ID and password for that machine and sits on a menu with only 2 options 1. Log on to UD and X to exit SBClient. If you choose 1 it logs you on to UD automatically so machine operators don't need to know and remember any user IDs and passwords. Of course those users have limited access and can only run processes for the shop floor like labour bookings. If the screen is logged on to UD and is idle for 5 minutes UD times out and the screen goes back to the Linux menu. Ever since I put that in we have on average 50 users less logged on at any time and don't get even close to running out of licenses any more. On 26/06/2013 22:47, Susan Lynch wrote: UniData has a TIMEOUT command that we sometimes put in the VOC LOGIN for clients whose users let their sessions tie up licenses while sitting idle. Susan Lynch F. W. Davison Company, Inc. -Original Message- From:] On Behalf Of Ed Clark universe has an AUTOLOGOUT command. I think unidata has something similar. ___ 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] How do I get the U2 Metadata Manager to work
I can do all that with SSIS, VB.net and/or c# classes too without having to install another server, buy extra software and learn a new language. On 09/06/2013 01:09, Bill Brutzman wrote: Mecki: While the old-fashioned approach is decent, it appears that there would be the fallout of having to manually mop-up the dead rows. To me... a more robust way is to... have the CF middleware read the Seiki data... CF clean the old SQL rows... CF would call the new Rocket REST tool to call a UniBasic sub to write the data to the UD Avante table. The CF handler might be less than a dozen lines of HTML-like tags... or CF script. Upon doing this... there would likely be other data translation apps that would come to mind... like integrating Avante with other ODBC... United Parcel Service, employee time clock, shop floor equipment etc. Likewise, I expect that ASP.net could do most all of the CF part. Of course, the main idea here is that a server would be running agents (services). The latest CF 10 has TomCat built-in. I got turned on to The Zen of REST by the author Scott Davis at a Philadelphia Emerging Technologies conference. Slick Willy -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Saturday, June 8, 2013 3:52 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] How do I get the U2 Metadata Manager to work Bill, What I try to achieve is converting production data collected by Seiki software into labour bookings on our Avante ERP system. Currently operators use Seiki on the machine and also book the jobs on a separate screen to update ERP. So I have one application writing to a SQL Server table and I want to run a phantom on UD that picks up changes on that table and updates several UD files using existing business logic when it finds any. That way the operator doesn't have to enter labour bookings and make mistakes any more. I also want to remove the rows from the SQL Server table once they are marked as completed operations and update SQL Server with changes of the production schedule to produce loading lists on the machines. How can a browser or Coldfusion help me with that? If I really wanted a browser based front end I would most likely use Designbais or SBXA since I don't see the point and don't have the time trying to learn yet another new language (or a whole bunch of them) just for that. I think I'll just go the old fashioned way and run a SSIS package on SQL server that checks for changes on the table and writes these to a Samba share on the UD server as a Tab delimited text file and also updates the tables Seiki uses for loading lists. Then my phantom can pick up those changed rows every minute or so and update my files. I just wanted a more elegant solution and and see if and how the UD tools work. Mecki On 07/06/2013 23:02, Bill Brutzman wrote: Mecki: While it may be counter-intuitive that ColdFusion is very hot... The compelling gravity in the entire web UniVerse is the idea is the idea browser front end. As CF was originally tag-based... if a programmer knows any HTML... that same programmer already knows much CF. Where CF shines is middleware to connect to databases... and rapid application development. It is worth it to go to adobe.com and check out CF. A related impossibility is that the CF community is even more gung-ho that the U2 community. Who knew? --Bill ___ 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] How do I get the U2 Metadata Manager to work
I know, tried it and it doesn't work on our setup because BCI only seems to work if the OS on the UD server is 32 bit. We were told it didn't matter so they built a Redhat Linux 64 bit virtual server and put UD in that. Now if I try to connect trough BCI I only get memory errors. AFAIK EDA is only for connecting from SQL Server to U2 so no good for what I want to do. On 07/06/2013 09:39, Symeon Breen wrote: And I am still looking for a way to read data from a relational database in a Basic program. This has been around for years Mecki - look up the bci functions like SQLPrepare etc. Or there is the new EDA function as well. Rgds Symeon. ___ 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] How do I get the U2 Metadata Manager to work
This is really all new for me, so you have to excuse my ignorance. What is EDT? I know EDA but that is for writing data to SQL Server but not for reading from it. At least that's what it says in the documentation. Doesn't that use replication? I also have BDT working on 64 bit Linux but how does that help me? And if you actually have BCI working on 64 bit Linux, which ODBC driver did you use? Are there any 'gotchas' when installing it? In that regard I am totally at the mercy of our sys admin since he is the only one who installs anything on Linux. He installed a 64 bit ODBC driver and from a Linux shell he can connect to the SQL Server box I want to connect to with no problem. I followed the documentation in setting up BCI but when I try to use CONNECT in a Basic program I always get a memory error. On 07/06/2013 15:57, Symeon Breen wrote: Hi - I have udt 7.1 on redhat 64bit and we use BDT ok ??? Also EDT is for unidata to get access to external data sources like sql server so that would also solve the problem -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: 07 June 2013 14:54 To: u2-users@listserver.u2ug.org Subject: Re: [U2] How do I get the U2 Metadata Manager to work I know, tried it and it doesn't work on our setup because BCI only seems to work if the OS on the UD server is 32 bit. We were told it didn't matter so they built a Redhat Linux 64 bit virtual server and put UD in that. Now if I try to connect trough BCI I only get memory errors. AFAIK EDA is only for connecting from SQL Server to U2 so no good for what I want to do. On 07/06/2013 09:39, Symeon Breen wrote: And I am still looking for a way to read data from a relational database in a Basic program. This has been around for years Mecki - look up the bci functions like SQLPrepare etc. Or there is the new EDA function as well. Rgds Symeon. ___ 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] How do I get the U2 Metadata Manager to work
I don't think that is an option for me. That sounds far too complicated for an old dinosaur like me. I am no nuclear physicist but even I know that cold fusion is an urban myth and doesn't work! You need temperatures and pressure like in the centre of the sun to get fusion going. And that is VERY hot! The Ajax I know has been dead for millennia and where I come from rest is for after work. :-) On 07/06/2013 15:51, Bill Brutzman wrote: Mecki: Consider using Adobe's ColdFusion as middleware... possibly with the new U2 REST tool. View = HTML Middle = CF, U2 ReST DataBase = U2, SQL A cool thing about U2 Rest is that... it is fairly easy to leverage existing UniBasic code... especially Subs. Rocket has an outstanding three-part video on how to do AJAX and ReST. ColdFusion has many desirable features. --Bill -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Friday, June 7, 2013 9:54 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] How do I get the U2 Metadata Manager to work I know, tried it and it doesn't work on our setup because BCI only seems to work if the OS on the UD server is 32 bit. We were told it didn't matter so they built a Redhat Linux 64 bit virtual server and put UD in that. Now if I try to connect trough BCI I only get memory errors. AFAIK EDA is only for connecting from SQL Server to U2 so no good for what I want to do. On 07/06/2013 09:39, Symeon Breen wrote: And I am still looking for a way to read data from a relational database in a Basic program. This has been around for years Mecki - look up the bci functions like SQLPrepare etc. Or there is the new EDA function as well. Rgds Symeon. ___ 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] How do I get the U2 Metadata Manager to work
Ever since we finally upgraded UniData at work I have been trying out the new tools and don't seem to have much fun with them. The best one is XAdmin and I use it a lot these days. IMHO the interface is a bit crude and clunky, but I guess that's Eclipse and you can't do much about that. The BDT is not of much use since I need to make tweaks of the program using AE (even if it only to make PRC work) but when I then open it again in BDT it reverts to the old version. Looks like it keeps that in memory on my PC so any changes made on the server are lost. Looks nice and shiny but the syntax check isn't really working either. 99% of the errors shown turn out to be no errors at all. The latest one I tried is the Metadata Manager. It installed fine and I can connect to the server and the database no problem. I can see the files and the dictionaries and can even change data on the server but that's it. The metadata tools I want to use are all greyed out, so what am I doing wrong? As stated in the Help I ran MIGRATE.SQL on the server but all I achieved is that I now cannot change anything using the old Avante Batch Schema Generation process. It goes through the motions but just hangs up at the end now. So at the end I am not overly impressed. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do I get the U2 Metadata Manager to work
I'll keep that refresh option in mind. Still a hassle and I would prefer if they would just get rid of that 'feature'. I also noticed that unassigned variable error that pops up for all functions including CALL that return a new variable. Some people may regard assigning a value before you use a function as good coding standard, I don't see the point, though. I haven't tried this in anger, but I recall that BDT treats all files as data files and you can edit data as well. Maybe this is a feature they could add to keep Dict files and hashed files separate so you don't have to look for the BP within 1000 data files every time. I have been using an external editor (mv developer) for several years now. I always save the program to disk, open it with ED, add a blank line somewhere and file it with FIBC. That takes care of PRC. Locking works when you open a program externally, so the only chance that someone could snatch the program ab incorporate it into another project is in that short period between saving in the external editor and opening it with ED on the UD server for the first time. Since I am the only UD programmer in the company it is virtually impossible that will ever happen. Well, and as long as you have OS.ED you can bypass PRC anyway. OK, if you NEVER EVER fix data with ED then you could probably remove it, but who would voluntarily block the only fire escape? We have a really old version of PRC (3.9) and I can't make a business case to invest in new software. There are other tools like mv.SSIS that I'd rather get first. Especially since tools like Rocket's Metadata Manager don't seem to work or I am too stupid to install them properly. I managed to get at least VSG to work on one SQL Server 2008 box, but that is a really primitive tool and I hate it. And I am still looking for a way to read data from a relational database in a Basic program. On 06/06/2013 18:30, Tom Whitmore wrote: Hi Mecki, One think that I always do with BDT is right-click on the program, select refresh, then open the program. That seems to be the only way to make sure I have the current version. Currently, BDT is sort of working with PRC but it isn't honoring file ownership so I'm unable to let the programmers use BDT. You do need to get some programs from Susan for things to work as I have it now. I'm told the latest version of PRC supports BDT. We are currently testing the new version of PRC but I haven't had an opportunity to try BDT on this version.. As far as false errors, the latest version of BDT is greatly improved. However, I have noticed couple of false errors: 1) if the numeric subroutine label does not have a : BDT doesn't recognize the label (like 99*). 2) LOCATE(J,ORIG.PH,2;XXXPOS) THEN FOUND=1 ELSE FOUND=0 , BDT will report that XXXPOS was never assigned a value. There are other instances of this type of problem. One thing I wish I could do is edit records in hashed files, but I don't see how to accomplish this. Tom Whitmore RATEX Business Solutions -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Thursday, June 06, 2013 12:06 PM To: U2 Users List Subject: [U2] How do I get the U2 Metadata Manager to work Ever since we finally upgraded UniData at work I have been trying out the new tools and don't seem to have much fun with them. The best one is XAdmin and I use it a lot these days. IMHO the interface is a bit crude and clunky, but I guess that's Eclipse and you can't do much about that. The BDT is not of much use since I need to make tweaks of the program using AE (even if it only to make PRC work) but when I then open it again in BDT it reverts to the old version. Looks like it keeps that in memory on my PC so any changes made on the server are lost. Looks nice and shiny but the syntax check isn't really working either. 99% of the errors shown turn out to be no errors at all. The latest one I tried is the Metadata Manager. It installed fine and I can connect to the server and the database no problem. I can see the files and the dictionaries and can even change data on the server but that's it. The metadata tools I want to use are all greyed out, so what am I doing wrong? As stated in the Help I ran MIGRATE.SQL on the server but all I achieved is that I now cannot change anything using the old Avante Batch Schema Generation process. It goes through the motions but just hangs up at the end now. So at the end I am not overly impressed. ___ 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
Re: [U2] How do I get the U2 Metadata Manager to work
I downloaded the March 2013 client tools today and will hopefully be able to install them tomorrow or early next week. So yes, my version of BDT is March 2012 IIRC. The Metadata Manager is March 13, though. I just ran the install with the default options, clicked on the program and selected the server already set up with UCI. This worked just fine with Xadmin and BDT and as I said before MDM also connects fine and displays all the UD accounts and files. But when I right click on a file all the MDM options are greyed out. All I can do is open the dictionary and maintain that. And what about my suggestion at the last U2U to make XAdmin use sudo so you can use all functions without having to log on as root? You may be allowed to log on as root on your test systems but my sys admin doesn't give anyone the root password for the production server. Cheers Mecki On 06/06/2013 20:35, Daniel McGrath wrote: Hi Mecki, It sounds like you are running a old copy of BDT. Unassigned variable warnings from CALL statements was fixed sometime last year. Follow the instructions here (http://updates.rocketsoftware.com/u2/) to make sure you have the latest versions. I can't recall which version, but if you are on too old of a release, that update site won't work for you, so you would have to download the full version again before you can use it. The latest full package is MAR2013. Regards, Dan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Thursday, June 06, 2013 1:22 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] How do I get the U2 Metadata Manager to work I'll keep that refresh option in mind. Still a hassle and I would prefer if they would just get rid of that 'feature'. I also noticed that unassigned variable error that pops up for all functions including CALL that return a new variable. Some people may regard assigning a value before you use a function as good coding standard, I don't see the point, though. I haven't tried this in anger, but I recall that BDT treats all files as data files and you can edit data as well. Maybe this is a feature they could add to keep Dict files and hashed files separate so you don't have to look for the BP within 1000 data files every time. I have been using an external editor (mv developer) for several years now. I always save the program to disk, open it with ED, add a blank line somewhere and file it with FIBC. That takes care of PRC. Locking works when you open a program externally, so the only chance that someone could snatch the program ab incorporate it into another project is in that short period between saving in the external editor and opening it with ED on the UD server for the first time. Since I am the only UD programmer in the company it is virtually impossible that will ever happen. Well, and as long as you have OS.ED you can bypass PRC anyway. OK, if you NEVER EVER fix data with ED then you could probably remove it, but who would voluntarily block the only fire escape? We have a really old version of PRC (3.9) and I can't make a business case to invest in new software. There are other tools like mv.SSIS that I'd rather get first. Especially since tools like Rocket's Metadata Manager don't seem to work or I am too stupid to install them properly. I managed to get at least VSG to work on one SQL Server 2008 box, but that is a really primitive tool and I hate it. And I am still looking for a way to read data from a relational database in a Basic program. On 06/06/2013 18:30, Tom Whitmore wrote: Hi Mecki, One think that I always do with BDT is right-click on the program, select refresh, then open the program. That seems to be the only way to make sure I have the current version. Currently, BDT is sort of working with PRC but it isn't honoring file ownership so I'm unable to let the programmers use BDT. You do need to get some programs from Susan for things to work as I have it now. I'm told the latest version of PRC supports BDT. We are currently testing the new version of PRC but I haven't had an opportunity to try BDT on this version.. As far as false errors, the latest version of BDT is greatly improved. However, I have noticed couple of false errors: 1) if the numeric subroutine label does not have a : BDT doesn't recognize the label (like 99*). 2) LOCATE(J,ORIG.PH,2;XXXPOS) THEN FOUND=1 ELSE FOUND=0 , BDT will report that XXXPOS was never assigned a value. There are other instances of this type of problem. One thing I wish I could do is edit records in hashed files, but I don't see how to accomplish this. Tom Whitmore RATEX Business Solutions -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Thursday, June 06, 2013 12:06 PM To: U2 Users List Subject: [U2] How do I get the U2 Metadata Manager
Re: [U2] Unidata BCI error
Well, that is my guess too. When we were planning the upgrade we asked our VAR if we needed to build a 32 bit Linux server and were told that UD 7.2 would work just fine on 64 bit Linux. So how can I connect to a SQL Server or Oracle database from UD and read data from it if BCI only works on a 32 bit OS? Is there maybe another ODBC driver that will work? On 23/05/2013 17:31, Daniel McGrath wrote: I've checked our system and have no previous reports of this error. Since our Linux versions are 32-bit and it seems you are running 64-bit Linux, combined with the negative number, I would hazard a guess this is some 32-bit on a 64-bit machine related problem. Regards, Dan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Thursday, May 23, 2013 9:56 AM To: U2 Users List Subject: [U2] Unidata BCI error Unidata 7.2 on Redhat 6.2 64. I got our Sysadmin to install ODBC on our UD server today so I can try to use BCI to access data on SQL Server 2008 R2 directly. After some experimenting we finally got the ODBC part going and can connect to the right database from the command line. He relinked the shared library as stated in the documentation and CONNECT now seems to establish a connection to the server. But then it falls over with this message: In /usr/ud72/sys/CTLG/c/CONNECT at line 441 insufficient memory, requested size = -2074363. and drops back to a Linux prompt. The number is always different but always a negative one. Any clues what may be wrong? ___ 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] UniData PreStore to change the KEY of a record?
To stay with the picture of not using a hammer to drive in a screw, I would just write a Basic program to do this. Use the right tool for the job! Open the file Execute GET-LIST Then a loop that generates the new Ids including checking that it doesn't already exist, READU record from old Id, WRITE record to new ID, DELETE old record. A few lines of code written in less than a minute. Compile, generate list, run program, job done! On 28/05/2013 21:59, Charlie Noah wrote: Dang, David, you beat me to it. ;^) I was just going to suggest the same thing. Just because the OP wanted to use ED (a hammer) to drive in a screw doesn't mean that it is the best tool ( a screwdriver). Good answer. Charlie Noah On 05-28-2013 3:42 PM, David A. Green wrote: I would take my saved list and copy it to a text editor then using copy commands and a quick macro convert the list into a bunch of COPY FROM FILE.A BAD.KEY, GOOD.KEY commands. Then save it as a PA and then execute it. David A. Green (480) 813-1725 DAG Consulting -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Wolverton Sent: Tuesday, May 28, 2013 10:48 AM To: 'U2 Users List' Subject: [U2] UniData PreStore to change the KEY of a record? I am always using what I call 'PreStore' command... In the AE editor, I need to change Attb 2 from A]thisbad]C]D to be A]thisgood]C]D on a list of items... So I get the list, AE FILENAME and then... =FIX 2`R/thisbad/thisgood/`FI`=FIX Viola! The data is updated. I have a need to 'fix' a KEY to a record... Is there a way to use a PreStore command that could do that? It's 95 records. Too many to hand edit. Too few to write a program. A PreStore would be JUST RIGHT... if there was a way to do it! DW ___ 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] Unidata BCI error
Unidata 7.2 on Redhat 6.2 64. I got our Sysadmin to install ODBC on our UD server today so I can try to use BCI to access data on SQL Server 2008 R2 directly. After some experimenting we finally got the ODBC part going and can connect to the right database from the command line. He relinked the shared library as stated in the documentation and CONNECT now seems to establish a connection to the server. But then it falls over with this message: In /usr/ud72/sys/CTLG/c/CONNECT at line 441 insufficient memory, requested size = -2074363. and drops back to a Linux prompt. The number is always different but always a negative one. Any clues what may be wrong? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] select query..
What do you actually try to achieve? On 15/05/2013 12:18, Sathya wrote: Manu Fernandes efv at infodata.lu writes: Hi Do you have wildcard characters like [] into KEYVALUE ? If not, why do you SELECT ; it's the key of file.name ; you can read directly ! Elsewhere, For performance, set a index on the at id Why do you want to use save-list/get-list ? You can work on LIST1 directly ! manu Hi Fernandes, Thanks for your comments. But as Im new to this technology Im not sure how to proceed with your suggestions. Can u please be more specific on this approach? There is no [] symbols in the KEYVALUE. How do I check whether @ID is indexed? I will modify it with using LIST1 directly. Thanks Regards, Sathya V. Hi Experts.. I have one issue here with fetching data from the file. EXECLINE = SELECT FILE.NAME WITH at ID = \:KEYVALUE:\ DISPLAY EXECLINE EXECUTE EXECLINE RTNLIST LIST1 EXECUTE 'SAVE-LIST SOME.LIST' PASSLIST LIST1 LIST.NAME = GET-LIST SOME.LIST sellist = '' EXECUTE LIST.NAME RTNLIST sellist CAPTURING junk Here Im running a loop for a set of KEYVALUEs and for each run the SSELECT statement is taking around 30 seconds. When I want to run 1000 loops, ideally the run time will be much. Is there any easier way to do this with less time consumption. Thanks Regards, Sathya V. ___ ://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users at 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 query..
So you don't need to select at all. Just use READ record FROM FILE.NAME,KEYVALUE ELSE record = '' in your loop. On 15/05/2013 12:52, Sathya wrote: Mecki Foerthmann meckif at gmx.net writes: ___ U2-Users mailing list U2-Users at listserver.u2ug.org Actually Im fetching the KEYVALUE data from a flat file and passing the values one by one to the select command and creating the list. Then I will write the data into another log file. 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] What tools do you use for data warehouse...
SSIS of course. Why would anybody want to use anything else? On 26/04/2013 18:50, Tom Whitmore wrote: Hi, I was wondering what tools you use to export data to an SQL data warehouse from UniVerse. This export could occur on multiple flavors of Unix. What we would need to do is extract the UV data and perform some data translations before importing the data into the SQL table. I know at one point DataStage was a powerful but expensive tool that would accomplish this task. All suggestions are greatly appreciated! Tom Whitmore RATEX Business Solutions ___ 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] Date conversion..
I use OCONV(DATE(),'D') and that works just fine because it displays today as 22 Mar 2013. On 22/03/2013 11:19, Martin Phillips wrote: Hi, Try OCONV(DATE(),'DDMY[,A,Z4]') M ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Social Networks for MV
Facebook is pure evil (even George Orwell couldn't imagine something so sinister when he wrote 1984) and Twitter is nothing but a waste of time. On 16/03/2013 01:49, Charlie Noah wrote: I don't want to offend my friend Tony, but I have to agree with Bob. I don't trust anything I see on Facebook, and I won't even look at Twitter. The only reason I'm on Facebook at all is to keep in touch with family and friends, and to promote my store a little. I don't do as much of that as people think I should, but I simply don't have the time or inclination to become a Facebook junkie. Sorry, Tony. Charlie Tiny Bear's Wild Bird Store Home of Safety Net Shipping http://www.TinyBearWildBirdStore.com Toll Free: 1-855-TinyBear (855-846-9232) ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] I Descriptor no longer working in UniSQL after UD upgrade
Hi we upgraded from UD 5.2/Solaris to UD 7.2/RH about a month ago and so it looked fine so far. Now I had a call that there are purchase orders missing on a Cognos report. When I investigated I noticed that from the day of the upgrade I have rows in the table used for that report with missing dates. The report is based on a SQL Server 2000 table that gets updated every night with Purchasing information from UD using DTS. We want to track supplier performance so I take a snapshot of the outstanding Purchase order deliveries every night and add them to this table. Each row also contains the date the snapshot was done. Some order line have multiple deliveries so I created a I-type dictionary item using REUSE(@DATE). This is mapped in the schema and was working just fine under 5.2 but now there is only a date for the first multivalue. I created a new subtable using the 7.2 VSG and the result is the same. The dictionary works just fine from ECL but in SQL only the first row has a date and all others are null. Any idea why this doesn't work anymore under UD 7.2? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] *** GMX Spamverdacht *** Re: I Descriptor no longer working in UniSQL after UD upgrade
I don't know about compiling I-descriptors in UD. Never done it and never needed to. The dict is marked as MV and has an association as well. It works just fine from ECL so when I type LIST PODET WITH PO_NBR = 98587 SCHED_DEL_DATE U_RPT_DATE I get 2 dates in both columns as expected. But when I go to sql and try SELECT SCHED_DEL_DATE,U_RPT_DATE from PODET_SCHED_DETAIL1 where PO_NBR = '98587' I get 2 scheduled dates but only one report date (current date) in the first row while in the second row it is null. I found a work-around by using an Active-X control in my DTS package, but I shouldn't have to do that. I also noticed that I-descriptors calling a Basic subroutine don't work any more through ODBC or OLE-DB even though they work in UniSQL. Maybe in 7.2 I have to convert them into V-types? I prefer I-types since I just don't seem to be able to get to grips with the V-type syntax. On 05/03/2013 13:52, David A. Green wrote: Have your compiled your i-descriptor? Is it marked as MV? David A. Green (480) 813-1725 DAG Consulting -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Tuesday, March 05, 2013 5:42 AM To: U2 Users List Subject: [U2] I Descriptor no longer working in UniSQL after UD upgrade Hi we upgraded from UD 5.2/Solaris to UD 7.2/RH about a month ago and so it looked fine so far. Now I had a call that there are purchase orders missing on a Cognos report. When I investigated I noticed that from the day of the upgrade I have rows in the table used for that report with missing dates. The report is based on a SQL Server 2000 table that gets updated every night with Purchasing information from UD using DTS. We want to track supplier performance so I take a snapshot of the outstanding Purchase order deliveries every night and add them to this table. Each row also contains the date the snapshot was done. Some order line have multiple deliveries so I created a I-type dictionary item using REUSE(@DATE). This is mapped in the schema and was working just fine under 5.2 but now there is only a date for the first multivalue. I created a new subtable using the 7.2 VSG and the result is the same. The dictionary works just fine from ECL but in SQL only the first row has a date and all others are null. Any idea why this doesn't work anymore under UD 7.2? ___ 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] : Evaluating DCOUNT
The speed increase is more likely due to the use of REMOVE not the RAISE since REMOVE works also on values or sub-values and I don't think it makes much difference which delimiter you use. On ADDS Mentor we used to Basic select arrays to variables and then READNEXT FROM in a loop since REMOVE was not available on that platform. And that was very quick on large arrays too because SELECT TO with READNEXT works in a similar way. This method really only works on arrays with attribute marks, though. On 12/02/2013 18:42, Tom Whitmore wrote: Hi, When you have more than about 1,000 values in a field, changing the value mark to a field mark, is significant. I had a program that needed to work through two fields with over 20,000 values. Initially, I left the strings as value delimited, used a for/next loop and assigned the results to a new field delimited string using-1. The program took about 15 minutes to perform the tasks needed. I then raised each string, used remove and concatenated @FM:item. It was done almost immediately, there was no perception of a delay getting to TCL. To put it in code snippet, the first took 15 minutes and the second took maybe a second. X=20K values Y=20K values Z='' MAX=DCOUNT(X,@VM) FOR C=1 TO MAX I1=X1,C I2=Y1,C ZC=I1*I2 NEXT C X=RAISE(20Kvalues) Y=RASE(20Kvalues) Z='' LOOP REMOVE I1 FROM X SETTING XPOS REMOVE I2 FROM Y SETING YPOS UNTIL I1='' AND I2='' AND XPOS=0 AND YPOS=0 IF (Z) THEN Z:=@AM:I1*I2 ELSE Z=I1*I2 REPEAT There are several things: 1) REMOVE is faster than extract, especially when you are working with values 2) Strings are treated different from dynamic arrays even though in theory you are doing the same thing (appending to the end of the string). 3) COUNT will scan the string, then the extract will scan the string when it is value delimited. Field marks are indexes so the first scan resolves the location where each field begins. Tom RATEX Business Solutions -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma Sent: Tuesday, February 12, 2013 1:21 PM To: 'U2 Users List' Subject: Re: [U2] : Evaluating DCOUNT Hey Allen, The REMOVE so fastHow fast is it?! Match Game throwback that I suspect the time it takes to interpret the difference between a VM and AM is negligible. I could be wrong. And as far as using dimensioned arrays, agreed. They do seem to improve speed ... but still not in comparison to the REMOVEvirtual bow to the REMOVE god. Sincerely, David Laansma Hubbard Supply Co. Direct: 810-342-7143 Office: 810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services and Innovative Solutions -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Allen Egerton Sent: Monday, February 11, 2013 9:02 AM To: U2 Users List Subject: Re: [U2] : Evaluating DCOUNT David, You're correct that the remove is faster, and it is because it maintains an internal pointer to the next item, as opposed to positioning to it for each reference. And I'm pretty sure that you can make it run even faster with: LINE.KEYS = RAISE(HEADER.REC200) As a matter of preference, I would set D1 to 999 or some other numeric value rather than a null, only because Universe/Unidata is typeless, and I would be afraid that the null, (), might be treated as a zero; but that's just personal fear and preference not based on a horror story. On 2/11/2013 8:30 AM, Dave Laansma wrote: I would HOPE that it evaluates it each time since the size ofarray could change within the loop. Personally if the size ofarray is relatively small, DCOUNT is alright. However I've found REMOVE to be EXTREMELY faster and therefore use it whenever possible, even on smallarrays. For example, we have two files, a 'header' and 'detail' file. The keys to the 'detail' file are stored in attribute200 of the header file. So I'll pull the keys out of the header record, such: LINE.KEYS = HEADER.REC200 D1 = LOOP UNTIL D1 = 0 REMOVE LINE.KEY FROM LINE.KEYS SETTING D1 loop statements REPEAT As opposed to: FOR V1 = 1 TO DCOUNT(HEADER.REC200,@VM) LINE.KEY = HEADER.REC200,V1 loop statements NEXT V1 Based on historical dialogs on this subject on this forum, I have seen an improvement in overall performance. Sincerely, David Laansma Hubbard Supply Co. Direct: 810-342-7143 Office: 810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services and Innovative Solutions -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeffrey Butera Sent: Monday, February 11, 2013 7:55 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] : Evaluating DCOUNT On 02/11/2013 12:14 AM, Peter Cheney wrote: Hi Everyone, Does a DCOUNT get evaluated again for each iteration of a loop?
Re: [U2] Record locks (Unidata 7.2)
The lock isn't released since another user set it. On 10/02/2013 22:35, Peter Cheney wrote: In the example below what happens to the lock? Does it release if the write is not executed? If not shouldn't you have a RELEASE statement at the end after the last END? -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jon Wells Sent: Saturday, 9 February 2013 3:57 To: U2 Users List Subject: Re: [U2] Record locks (Unidata 7.2) I should add that (in our test account) I switched to the READU statement along with a LOCKED clause - READU STU.REC FROM STU.FILE, STU.ID LOCKED CRT STU.ID: RECORD IS LOCKED END THEN STU.REC48 = INST.CRED STU.REC49 = INET.CRED WRITE STU.REC ON STU.FILE, STU.ID END I locked one of the records in the list I was processing. When the program was working on that record, the CRT statement was executed, and the program moved right along processing the rest of the list; and record I had locked was not updated. Looking through the 'UniBasic Commands Reference' PDF, I found 'RECORDLOCKED (file.var, rec.id.expr)'. Perhaps this could be used within a LOOP to control things, allowing terminal input where the user can choose what to do about the record lock? I've decided to write the data to a new file, so this is no longer a big issue for me. If I had created the program using our vendor's tool kit, the generated code would have added all the appropriate gunk the system uses for record locks. The responses have been interesting as I've been looking for a chance to better understand how Unidata shops handle locks. Thank you, Jon Wells From: Tony Gravagno3xk547...@sneakemail.com To: u2-users@listserver.u2ug.org Sent: Friday, February 8, 2013 2:30 AM Subject: Re: [U2] Record locks (Unidata 7.2) I think people understand exactly what you're saying, but disagree. Most applications don't use the more rigorous coding for having a Locked clause that provides additional information to the user, retries, etc. That's not wrong, it's just not necessary ... depending on the site. That said, when we used to have a lot of people in an office and a dumb terminal beeping was a recognized message to everyone, it was OK (generally) to just do the READU. These days with more alternative UIs, thick-client, thin-client, web services, mobile, etc, there's no one to hear that beep. So for modern development I would agree that you really don't want an unconditional lock hanging around, you want a Locked clause with logic to rollback the transaction and exit gracefully, perhaps with a message sent to the site admin. The penalty for Not having a Locked clause with a new UI is that the port will hang, the UI will receive a timeout (which many clients aren't prepared to process), and the DBMS port could be sitting there indefinitely with no one aware of the condition. This can cascade to multiple ports until suddenly everything grinds to a halt and GUI users around the world are unable to access the app. I believe some heads will be nodding here because I hear about this happening occasionally. T From: Wjhonson Then you're misunderstanding what I'm saying. From: Kevin King +1. Well stated. Woodward, Bob wrote: In an active user session where users are obtaining a lock for a length of time, you're right. There are lots of times, though, that lock intervention is not a benefit. It all depends on the need of the application and many situations where I would highly recommend using the default locking system of READU. From: Wjhonson I wouldn't however *recommend* this approach to locking as the user can never tell if their terminal is waiting on a lock, or just hung in some other odd manner, or perhaps processing a batch of something. So it's rather a nasty trick to play on the user, to just use READU without a LOCKED clause ___ 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 --- Note: This email (inc all attachments) is for the use of the intended recipient(s) only. Privileged or confidential information may be contained in this communication. If you have received this email in error, please notify the sender immediately and then delete all copies of this message from your computer network. If you are not the intended recipient, you must not keep, use, disclose, copy or distribute this email without the author's prior permission. If you are the intended recipient and you do not wish to receive similar electronic messages from us in future, then please respond to the sender to this effect.
Re: [U2] Record locks (Unidata 7.2)
Oh no, you don't have to add a label and you don't have to use GOTO. TRY_AGAIN = 1 LOOP WHILE TRY_AGAIN READU STU.REC FROM STU.FILE, STU.ID LOCKED CRT STU.ID: RECORD IS LOCKED SLEEP 2 END THEN STU.REC48 = INST.CRED STU.REC49 = INET.CRED WRITE STU.REC ON STU.FILE, STU.ID TRY_AGAIN = 0 END REPEAT On 08/02/2013 18:10, Woodward, Bob wrote: You should have written it something like this: TRY.AGAIN: READU STU.REC FROM STU.FILE, STU.ID LOCKED CRT STU.ID: RECORD IS LOCKED SLEEP 2 GOTO TRY.AGAIN END THEN STU.REC48 = INST.CRED STU.REC49 = INET.CRED WRITE STU.REC ON STU.FILE, STU.ID END You have to add the label TRY.AGAIN: so you have a jump point then add the SLEEP command for 2 seconds and lastly the GOTO command so after the SLEEP expires, execution remains at the READU command. BobW ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Record locks (Unidata 7.2)
On second thought this won't do either since it hasn't got an ELSE clause. ERR = '' LOOP TRY_AGAIN = 0 READU STU.REC FROM STU.FILE, STU.ID LOCKED CRT STU.ID: RECORD IS LOCKED - (Q)uit or Enter INPUT REPLY: IF REPLY # 'Q' THEN TRY_AGAIN = 1 ELSE ABORT END ELSE STU.REC = '' UNTIL NOT(TRY_AGAIN) REPEAT STU.REC48 = INST.CRED STU.REC49 = INET.CRED WRITE STU.REC ON STU.FILE, STU.ID On 08/02/2013 20:12, Mecki Foerthmann wrote: Oh no, you don't have to add a label and you don't have to use GOTO. TRY_AGAIN = 1 LOOP WHILE TRY_AGAIN READU STU.REC FROM STU.FILE, STU.ID LOCKED CRT STU.ID: RECORD IS LOCKED SLEEP 2 END THEN STU.REC48 = INST.CRED STU.REC49 = INET.CRED WRITE STU.REC ON STU.FILE, STU.ID TRY_AGAIN = 0 END REPEAT On 08/02/2013 18:10, Woodward, Bob wrote: You should have written it something like this: TRY.AGAIN: READU STU.REC FROM STU.FILE, STU.ID LOCKED CRT STU.ID: RECORD IS LOCKED SLEEP 2 GOTO TRY.AGAIN END THEN STU.REC48 = INST.CRED STU.REC49 = INET.CRED WRITE STU.REC ON STU.FILE, STU.ID END You have to add the label TRY.AGAIN: so you have a jump point then add the SLEEP command for 2 seconds and lastly the GOTO command so after the SLEEP expires, execution remains at the READU command. BobW ___ 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] Record locks (Unidata 7.2)
The READU statement has a LOCKED clause that is true if a record is locked. You can put all your locking ha logic in there. READU record FROM filevariable,itemID THEN code if record exists and isn't locked (optional) LOCKED code to handle locked record condition (optional) END ELSE code if record doesn't exist (required) END Now if you put that into a loop you can display a message and give the user the option to try again or abort. And if you put the code into a subroutine you can use that in all your programs with a single line like this. CALL SR.READU(record,filevariable,ItemID,Option,Err) On 06/02/2013 21:52, Jon Wells wrote: Hi all, I have not looked at the world of record locks since my R83 Pick days. I'm hoping to add the ability for the program I'm working on to: * Check if a record is locked * Wait until the lock is removed * Once the lock is removed, or if the record is not locked: * Lock the record * Perform the WRITE statement I'm hoping someone can share an example of how to accomplish this in UniBasic. Thank you, Jon Wells Campbell University ___ 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] Another job ad written by people who have no clue
Come on Charlie, texting is cool and it is easy. If I want to talk to my son in France for instance, I send him a text to switch on his PC so we can use Skype to actually talk and vice versa. The workshop sending me a text that my bike is ready to be collected - now how cool is that? You're an American and you guys had letters on your phone keys for ages. OK if you would have to remember that B is hitting 2 twice and S is hitting 7 four times I could see your point, but it's really not that difficult when the letters are actually displayed on the keys and you soon get the hang of it. I bought a phone with especially big keys so I can see the letters because my eyes are not what they used to be. ;-) And no, it's not one of those so called smart phones - it cost me just 15£ including bluetooth and camera - and no contract. On 02/11/2012 12:07, Charlie Noah wrote: I'm with you, Bill. My phone makes and receives calls - period. I think you might be able to text on it (remember having to press 3 numbers to get 1 letter?) - but I don't use it. The best part - it costs me $99/year! And no, I don't talk on it while driving. Charlie Tiny Bear's Wild Bird Store Home of Safety Net Shipping http://www.TinyBearWildBirdStore.com Toll Free: 1-855-TinyBear (855-846-9232) ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SB+ question
I always leave one input field usually containing the line number set as controlling the other fields but don't allow changes to the field. You obviously need an input field for the cursor so you can use page up or down. On 23/10/2012 00:46, Lunt, Bruce wrote: Hi All, I have a question that relates to how to display multiple pages of data on an entry screen that does not allow the lines in question to be modified. What we have is a screen that displays the current status of a customer. There are 6 different multivalued fields that are all related but they are just being displayed. There are 2 fields above the line-item section that do allow modification but the request is for me to allow the user to page up or down to review all of the line-items. On inquiry screens this is fairly simple but I don't know how to drive the pagination when the 6 fields are never even accessed by the screen. I tried to bump the @CNT field but that didn't work. Can someone suggests how I should handle this? All suggestions are greatly appreciated. Thanks in advance, Bruce Lunt ___ 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] Etymology of Q-Pointer
I guess it always depends on where you come from and what you know. I would say the account philosophy is much cleaner than having duplicate file pointers. And of course we have accounts in U2 too - it is the working directory. I have to admit I always hated to work on PI sites - it was not only painfully slow the different syntax was a real pain in the backside too. On 07/09/2012 16:54, Wols Lists wrote: On 07/09/12 03:19, Charles Stevenson wrote: A newbie stumped me: Why are Q-Pointers Q pointers ? The Q lingo comes from the dawning days of Pick. Why was the letter Q chosen? Attribute makes sense. Synonym makes sense. PQ for Prestored Query makes sense. PR for Proc would have been better. D3 User Guide just says, Q-pointers are used in account master dictionaries to point to other files. UV User Ref says, Q-pointers are file definition synonyms that point to files in local and remote UniVerse accounts. Jonathon Sisk's Pick Pocket Guide doesn't help, either. PI never had Q-pointers. Clif, did Devcom consider it Questionable? Seeing as INFORMATION never had any use for q-pointers, I guess that's why it never had them. Bear in mind, all PI FILEs were referenced by a file pointer in the VOC where f2 was the data portion os-level filename and f3 was the dict portion, why would it need a q-pointer? And I've just remembered another reason - PI doesn't have an MD of any sort. Given that f2 of a q-pointer is an account, how would PI find the FILE? PI doesn't have the concept of account in the same way as Pick - an account was an os-level directory and there was no master list. So I guess q-pointers didn't exist because (a) they weren't needed and (b) they would have needed a MAJOR changed in behaviour to implement them (it could have been done easy enough, but it didn't fit the philosophy, and I've always admired PI because of the very clean philosophy). Cheers, Wol ___ 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] Etymology of Q-Pointer
I have no Idea what you are talking about. What is wrong with LOCATE A IN B SETTING C ? On 07/09/2012 20:44, Wols Lists wrote: On 07/09/12 18:28, Mecki Foerthmann wrote: I guess it always depends on where you come from and what you know. I would say the account philosophy is much cleaner than having duplicate file pointers. And of course we have accounts in U2 too - it is the working directory. I have to admit I always hated to work on PI sites - it was not only painfully slow the different syntax was a real pain in the backside too. As you say, it's what you know. When we moved from PI to UV, we kept completely in Prime syntax. When I moved to another site that had come from the Pick side, the syntax just seemed strange and illogical ... come on, mixing commas and semicolons as argument separators to the locate function! (I think I've got the right function...) Mind you, there were a couple of PI funnies I always cursed - TRANS was illogical in its handling of raise and lower. I'm sure there was another one, I can't remember it now. And iirc PI handled complex compound i-descriptors correctly, unlike UV which expands them like a C macro with unexpected effects ... Still PI should get it right, seeing as it invented them! Cheers, Wol ___ 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] Scrub Hangs Up
I would expect this not to work. D_INVOICE is a dictionary file so it hasn't got a dictionary. If you try copy FROM DICT INVOICE TO DICT INVOICE_TEST it should probably work. On 28/08/2012 23:39, Bill Brutzman wrote: More help is needed... 1.copy FROM DICT D_INVOICE TO DICT D_INVOICE_TEST Unable to open DICT D_INVOICE file. 2. When I try copying via Rocket's BDT (Basic Developer ToolKit)... Failed to copy... unable to open q-pointer. --Bill ___ 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] Variable Interpolation
Sorry but I always thought iterpolation means describing a mathematical function like Y=2X for instance by producing a graph from it or describing key parameters in a system of coordinates (x,y) like where it crosses the y- or x-axis, if it rises or falls and in which degree etc. . On 24/08/2012 04:56, Tony Gravagno wrote: From: jjuser Does UniBasic have a way to do variable interpolation (without writing to a file, compiling it as a program, and calling it)? Do you mean something like this? VAL = 0 CALL @SUB FOO(X,Y);Y=X+1;RETURN( 3, VAL ) CRT VAL ; * 4 That would be Awesome! I don't believe any of the MV platforms do that because I've been looking for it for 15 years. It can be simulated in various ways, but you did limit the scope of the challenge. I think you're trying to avoid this?: CODE = \ CRT DATE()+20\ EXECUTE PGEN :CODE CAPTURING OUT * OUT is 16327 In this case the PGEN program reads from TCL, writes, compiles, runs, and that output gets captured. But at least the mechanism for performing that task is abstracted from this client/application code. Cache' allows you to enter code at TCL and then execute it without saving/compiling. That can also be simulated in U2. I don't think I've ever seen anyone else ask for it here - certainly no one willing to pay for it. ;) Out of curiosity, what's your application for this? And please correct the above if I've misunderstood the question. T ___ 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] CSV to Array
The moment you start working in the engineering or manufacturing industry where it is not uncommon to have double quotes embedded in a field (i.e 5 1/4 Steel Bar) your code will bite you. On 15/08/2012 23:24, David Wolverton wrote: I've done this in the past by doing this: SWAP DQUOTE WITH @AM Now, in theory, every EVEN attribute is a 'quoted' string - don't touch the commas Every ODD attribute is a 'non-quoted' string... Double check me here in case I've lost it... but this should work ... seems this would be faster as well on larger records. Only thing you'd have to test for -- if the first character is a doublequote, we will have a blank first attribute and should not -- but that could be tested in the END ELSE section (IF XXX = 1 THEN IF DATASTRING[1,1] = 1 THEN CONTINUE) DATASTRING = 'A,B,C,D,E,F,G,H,I,J,K,L NEWSTRING = SWAP '' WITH @AM IN DATASTRING AMCNT = DCOUNT(DATASTRING,@AM) FOR XXX = 1 TO AMCNT IF MOD(AMCNT,2) = 0 THEN NEWSTRING := @AM: DATASTRINGXXX END ELSE DATAROW = NEWSTRINGXXX SWAP ',' WITH @AM IN DATAROW NEWSTRING := @AM:DATAROW NEWSTRING-1 = DATAROW END NEXT XXX -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Wednesday, August 15, 2012 4:11 PM To: u2-users@listserver.u2ug.org Subject: [U2] CSV to Array Rex Gozar uploaded this code, and someone (perhaps him) corrected it, but there's a redundancy here. I'm trying to fix it, in my own version, mostly perhaps I *hate* the CONTINUE, but the logic is a bit convoluted eh? Anyone spot the redundancy ? EQU COMMA TO ',' EQU DQ TO '' BUFFER = TEXT BUFPTR = 0 CPTR = 0 QUOTESW = @FALSE LOOP CPTR += 1 C = BUFFER[CPTR,1] WHILE (C NE ) DO IF (DQ EQ C) THEN IF (QUOTESW) AND (DQ:DQ EQ BUFFER[CPTR,2]) THEN CPTR += 1 END ELSE QUOTESW = NOT(QUOTESW) CONTINUE END END IF (COMMA EQ C) AND NOT(QUOTESW) THEN C = @FM END BUFPTR += 1 BUFFER[BUFPTR,1] = C REPEAT RECORD = BUFFER[1,BUFPTR] RETURN END ___ 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] *** GMX Spamverdacht *** UniVerse LIST statement question [not-secure]
Since we don't have outer joins I would build a work file starting with selecting all employees, then select the calls and merge them together in a loop. How you do it depends on how you want to present the data. If you're happy with showing the calls as multi values you can build the records that way and if you like one row per call you should probably have one row per call. Then report on the work file. That is the easiest way I can see to include employees who didn't make any calls. I can also think of a few approaches involving stored parameters and dictionaries or a dictionary in the employee file that builds the call info in a subroutine as multivalues using an index by employee on the calls file. In any case you will most likely need to base your report on the employees file not the calls. On 02/07/2012 14:53, Hennessey, Mark F. wrote: I need to do a UniVerse LIST statement that would only populate a column if the contents met certain criteria. For example, suppose we have a file with details of telephone usage and that 3 associated mulitvalued fields contain date call was made, duration and if the call was a toll call. Is it possible to limit the output of the date call made and associated columns to a date range without that being a select criteria? If I were to do something like: LIST CALLS EMP.NAME EMP.LOCATION WITH DATE.CALL GE 2012-06-01 AND WITH DATE.CALL LE 2012-06-30 DURATION TOLL WITH @ID EQ '123456' I would get zero record if employee 123456 did not make any calls in June. What I would like to see is the employer name and location returned with the date, duration and toll columns empty. I'm trying to do this in a LIST statement as it will be run by U2 Web Services (and for the time being a subroutine is off the table...) Any advice, or an authoritative NO, It can not be done would be greatly appreciated. Mark Hennessey State of Connecticut Department of Social Services Information Technology Services Child Support Systems Voice: 860-424-5261 Fax: 860-424-4813 CONFIDENTIAL INFORMATION: The information contained in this e-mail may be confidential and protected from general disclosure. If the recipient or reader of this e-mail is not the intended recipient or a person responsible to receive this e-mail for the intended recipient, please do not disseminate, distribute or copy it. If you received this e-mail in error, please notify the sender by replying to this message and delete this e-mail immediately. We will take immediate and appropriate action to see to it that this mistake is corrected.[*LD*] ___ 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] Reasons to continue with Software vendor support
I can understand your concern and also the reasoning of your boss. Since you are dealing with Epicor cancelling the maintenance for ManFact will most likely mean that they will cancel your U2 support too. The company I work for went through the same drama. 'You cancel the support contract for Avante and you can't have support for UniData anymore', is what Epicor said. Since Avante had been heavily modified (mainly by Epicor themselves) every call was charged unless we could prove that it was a genuine bug. By the time I found the bug and could prove that this was in the original code too I could as easily just fix it myself. What good is paying for support only to get charged nearly every time you have a problem? So management decided to cancel the contract. But they went to another VAR to have at least Unidata and SB+ under support and a resource of experienced programmers that can help out if the IT department can't solve a problem with Avante. Management is happy because they save a substantial amount of money and I don't care because I didn't get any help from Epicor anyway and the guys working for our new VAR are much better. So if you ask me - go for it - find another Rocket VAR so your database is still supported and give Epicor the boot. On 29/06/2012 16:46, John Varney wrote: I have a potential issue coming up. Our CFO seems to want to be more penny pinching than normal and is trying to get us to discontinue our support from our main vendor (We currently use ManFact from EpiCor). This seems like a REALLY bad idea, but it keeps coming up. Can I get some outside opinions on why we should keep the support going? I'd like as many as possible because I'd like to put an end to this once and for all. All comments would be welcome. ___ 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] Really trying to understand dynamic file sizing
So if I understand this correctly - a dynamic file will only split when it goes into level 2 overflow? If that is so than wouldn't decreasing the block size as I suggested earlier make the file split much earlier than using a larger block size? Why then don't you just double the modulo, find the next prime and use a 2K instead of a 4K Block size? If you have a development sytem with enough disk space just give it a try and find out if this increases performance or not and let us know how it went. On 29/06/2012 16:58, Dave Laansma wrote: Doesn't 1% split load seem a little low? Sincerely, David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office: 810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services and Innovative Solutions -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Averch Sent: Thursday, June 28, 2012 8:56 PM To: U2 Users List Subject: Re: [U2] Really trying to understand dynamic file sizing On Thu, Jun 28, 2012 at 6:50 PM, Doug Averchdave...@gmail.com wrote: 126/4064 (Correction, too late to be working on this) 1 (Correction average Load before split) And that matches your numbers Regards, Doug www.u2logic.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Reasons to continue with Software vendor support
Well, we now have 'real' U2 and SB+ licenses. I don't know how it was done, but I guess 'by the book' Rocket can also sell new tranferable licences for whatever price they want to whoever they want. None of Epicors beeswax, really! Better than loosing a paying customer at least in my book. ;-) That is the difference between Rocket and corporations like Microsoft, IBM, Oracle, Epicor and so on. Rocket U2 seem to care for their customers On 29/06/2012 18:46, Marc Harbeson wrote: just note, by the book, your u2 licenses which are sold as embedded product are nontransferable - by the book. that's not to say you can't outright go buy new u2 licenses - but again, (depending on Epicor's VAR agreement with Rocket, IBM, et all) you may not have transferable u2 licenses. m On Fri, Jun 29, 2012 at 12:24 PM, Mecki Foerthmannmec...@gmx.net wrote: I can understand your concern and also the reasoning of your boss. Since you are dealing with Epicor cancelling the maintenance for ManFact will most likely mean that they will cancel your U2 support too. The company I work for went through the same drama. 'You cancel the support contract for Avante and you can't have support for UniData anymore', is what Epicor said. Since Avante had been heavily modified (mainly by Epicor themselves) every call was charged unless we could prove that it was a genuine bug. By the time I found the bug and could prove that this was in the original code too I could as easily just fix it myself. What good is paying for support only to get charged nearly every time you have a problem? So management decided to cancel the contract. But they went to another VAR to have at least Unidata and SB+ under support and a resource of experienced programmers that can help out if the IT department can't solve a problem with Avante. Management is happy because they save a substantial amount of money and I don't care because I didn't get any help from Epicor anyway and the guys working for our new VAR are much better. So if you ask me - go for it - find another Rocket VAR so your database is still supported and give Epicor the boot. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Can of worms FILE.STATUS
Well, the average record size is about 640 Bytes and according to the Standard deviation of 283 over 95% of records should be smaller than 2K so I would use a 2K Blocksize not 4. Since it's a dynamic file the modulo probably doesn't matter that much - but then I am fairly new to dynamic files so I guess 740972 is OK. On 20/06/2012 18:21, Dave Laansma wrote: Mecki, What block size and why? Sincerely, David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office: 810-234-8681 Fax: 810-234-6142 www.hubbardsupply.com Delivering Products, Services and Innovative Solutions -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Wednesday, June 20, 2012 12:45 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Can of worms FILE.STATUS Nothing really - less than 10% overflow is not too bad. I would have chosen a smaller block size though. On 20/06/2012 17:20, Dave Laansma wrote: I have my thoughts already in place but I'd like to hear input on this. What is wrong with this file? File name(Dynamic File) = OHL Number of groups in file (modulo) = 740972 Dynamic hashing, hash type= 0 Split/Merge type = KEYONLY Block size= 4096 File has 455028 groups in level one overflow. Number of records = 4835502 Total number of bytes = 3100999567 Average number of records per group = 6.5 Standard deviation from average = 2.4 Average number of bytes per group = 4185.0 Standard deviation from average = 1856.2 Average number of bytes in a record = 641.3 Average number of bytes in record ID = 14.8 Standard deviation from average = 283.6 Minimum number of bytes in a record = 133 Maximum number of bytes in a record = 8622 Minimum number of fields in a record = 110 Maximum number of fields in a record = 334 Average number of fields per record = 218.3 Standard deviation from average = 47.9 File has 2 over files, 3 prime files Sincerely, David Laansma IT Manager Hubbard Supply Co. Direct: 810-342-7143 Office: 810-234-8681 Fax: 810-234-6142 www.hubbardsupply.comhttp://www.hubbardsupply.com Delivering Products, Services and Innovative Solutions ___ 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] Regarding: Unidata dictionaries
UniData Dictionaries Every UniData data file has a corresponding dictionary file. A dictionary contains a set of records that define the structure of the records in the data file, called D-type records. A dictionary may also contain phrases, called PH-type records, and items that calculate or manipulate data, called virtual fields, or V-type records. A user may also define a dictionary item to store user-defined data, called X-type records. On 20/06/2012 17:18, satya satya wrote: Hi, Could you let,me know what is the difference between PH- type records, D-type records,V-type records,X-type records Thank you, Satya ___ 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] U2 accounting software question
Or because that's what they know best... On 23/05/2012 15:13, Bill Brutzman wrote: To me, this is a question for the accounting department there. Corporate accountants that I know favor Oracle financials... for their functionality, reporting, and ease of use. --Bill ___ 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] Case Statement with only two cases... or for that matter... one case
Well, I prefer: IF A = TEST THEN GOSUB DO.SOMETHING ;* Say why END ELSE GOSUB DO.SOMETHING.ELSE ;* The reason END IMO much more readable - because you see immediately that is is a conditional branching. It is also easier maintainable if you want to add some more code later or you need more conditions and want to change branching into case. And of course it will auto-indent correctly in my editor of choice ;-). On 20/04/2012 23:05, Kate Stanton wrote: Rather than: BEGIN CASE CASE A = TEST; GOSUB DO.SOMETHING CASE 1; GOSUB DO.SOMETHING.ELSE END CASE or IF A = TEST THEN GOSUB DO.SOMETHING ELSE GOSUB DO.SOMETHING.ELSE I prefer: IF A = TEST THEN GOSUB DO.SOMETHING ;* Say why ELSE GOSUB DO.SOMETHING.ELSE ;* The reason lining up the GOSUBs under each other, with comment making it clear why. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Remove items from lsit in DICT
That will not remove the Bs but only replace them with nulls. You will have to remove the value marks as well. Of course that will not work on single values and if the last value is a B. My first thought was to use MODIFY command but I think that can also just replace an attribute or value with another value or null. On 06/04/2012 07:03, Martin Braid wrote: Or just EV the attribute and then C/B//G and FI twice. Assuming there are no linked MV attributes that also need messing with. Martin -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Daniel McGrath Sent: 06 April 2012 03:26 To: U2 Users List Subject: Re: [U2] Remove items from lsit in DICT G option for C might come in handy here (Global: repeats command until there are no more matches) ^ C/B^253//G Regards, Dan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Thursday, April 05, 2012 4:17 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Remove items from lsit in DICT ^ up-arrow-mode C/B^253// C C C C C C C -Original Message- From: Holt, Jakejh...@samsill.com To: u2-usersu2-users@listserver.u2ug.org Sent: Thu, Apr 5, 2012 3:06 pm Subject: [U2] Remove items from lsit in DICT This is probably really simple, but I can't seem to find a way without riting a sub. Is there an easy way to simply remove items from a MV ield in a dictionary? For instance if I have a MV with A, A,A,B,B,B,B,C,C,C and wanted to just emove the Bs. Thanks, Jake Holt | samsill | Information Technology Director p) 817-536-1906 x 217 | 5740 Hartman Road Fort Worth TX 76119 jh...@samsill.commailto:jh...@samsill.com | www.samsill.com | ww.bindersforlife.com ___ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://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 Click https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg== D2VHiLeE8cjwJ+6UKgOADBjSxIHBYlYk1F8TccP!XTbKg== to report this email as spam. Epicor Software (UK) is a limited company registered in England Wales. Registration Number: 2338274. Registered Office: 6th Floor, One London Wall, London EC2Y 5EB This e-mail is for the use of the intended recipient(s) only. If you have received this e-mail in error, please notify the sender immediately and then delete it. If you are not the intended recipient, you must not use, disclose or distribute this e-mail without the author's prior permission. We have taken precautions to minimize the risk of transmitting software viruses, but we advise you to carry out your own virus checks on any attachment to this message. We cannot accept liability for any loss or damage caused by software viruses. Any views and/or opinions expressed in this e-mail are of the author only and do not represent the views of Epicor Software (UK) Limited or any other company within its group. This message has been scanned for malware by Websense. www.websense.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Remove items from lsit in DICT
You could try selecting BY-EXP dictname # B On 05/04/2012 23:05, Holt, Jake wrote: This is probably really simple, but I can't seem to find a way without writing a sub. Is there an easy way to simply remove items from a MV field in a dictionary? For instance if I have a MV with A, A,A,B,B,B,B,C,C,C and wanted to just remove the Bs. Thanks, Jake Holt | samsill | Information Technology Director (p) 817-536-1906 x 217 | 5740 Hartman Road Fort Worth TX 76119 jh...@samsill.commailto:jh...@samsill.com | www.samsill.com | www.bindersforlife.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Remove items from lsit in DICT
Jake TRANS will return the raw data, so I'd write a little Basic subroutine, compile and catalog it globally and use SUBR( to call it in the dict. You either loop trough the array and delete the unwanted values or you could use SWAP and end up with a 6 liner like this. SUBROUTINE GETREP(RET.VALUE,ARRAY) SWAPSTRING = 'B':@VM SWAP SWAPSTRING WITH '' IN ARRAY SWAP 'B' WITH '' IN ARRAY RET.VALUE = ARRAY RETURN I haven't used SWAP with @VM so I won't guarantee that it'll work and you might have to use LOOP or FOR NEXT in your subroutine after all. So in the end your line 2 in your DICT item would look something like this: SUBR(GETREP,TRANS(FILE,F1,1,X)) Sometimes it's just the easiest way and in my experience quite fast too. Mecki On 06/04/2012 14:48, Holt, Jake wrote: I need to do it from a dictionary item: 1: I 2: Trans(FILE,F1,1,X);remove the Bs from @1 Basically I am trying to remove our house rep account from the list of rep numbers when I trans them to the sales order file. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Friday, April 06, 2012 4:05 AM To: U2 Users List Subject: Re: [U2] Remove items from lsit in DICT You could try selecting BY-EXP dictname # B On 05/04/2012 23:05, Holt, Jake wrote: This is probably really simple, but I can't seem to find a way without writing a sub. Is there an easy way to simply remove items from a MV field in a dictionary? For instance if I have a MV with A, A,A,B,B,B,B,C,C,C and wanted to just remove the Bs. Thanks, Jake Holt | samsill | Information Technology Director (p) 817-536-1906 x 217 | 5740 Hartman Road Fort Worth TX 76119 jh...@samsill.commailto:jh...@samsill.com| www.samsill.com | www.bindersforlife.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Logging on to UD 7.2 on RH Linux using Active Directory andwinbind
Thanks John, we will check all those back at work on Tuesday. This is a sample of the actual error message we see: */Illegal user id = (16777216). Mecki /* On 06/04/2012 21:13, John Hester wrote: One other potential issue just came to mind. I think AD user names are returned by winbind in the form domain\user by default. If your winbind is configured this way, it could be that udt doesn't like seeing the backslash character in the user name. This behaviour can be turned off with the following setting in smb.conf: winbind use default domain = yes You can see how user names are currently being reported by winbind with wbinfo -u. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Thursday, April 05, 2012 9:08 AM To: U2 Users List Subject: [U2] Logging on to UD 7.2 on RH Linux using Active Directory andwinbind We are finally in the process of upgrading our old UD 5.2 system on Solaris to 7.2 running on a virtual RH Linux server. So far everything seems to work OK. We can log into the database as the root user fine. We can log into the database as a local linux user fine. But we don't want to create local users on the linux box as it is another set of user accounts / passwords to maintain. To get round this we are using winbind to allow users to login to the Linux server with their Windows Active Directory credentials. This works well however when we come to run the udt command in the data directory we get the following error Illegal User ID then the UID of the Winbind user. There is obviously some check that occurs when udt starts to see if the user is a valid linux user, udt must not be able to query the authentication mechanism and therefore will not allow the user to run udt. Is there a switch or another way to make this work? Thanks Mecki ___ 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] Logging on to UD 7.2 on RH Linux using Active Directory and winbind
We are finally in the process of upgrading our old UD 5.2 system on Solaris to 7.2 running on a virtual RH Linux server. So far everything seems to work OK. We can log into the database as the root user fine. We can log into the database as a local linux user fine. But we don't want to create local users on the linux box as it is another set of user accounts / passwords to maintain. To get round this we are using winbind to allow users to login to the Linux server with their Windows Active Directory credentials. This works well however when we come to run the udt command in the data directory we get the following error Illegal User ID then the UID of the Winbind user. There is obviously some check that occurs when udt starts to see if the user is a valid linux user, udt must not be able to query the authentication mechanism and therefore will not allow the user to run udt. Is there a switch or another way to make this work? Thanks Mecki ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Record lock
I don't know about Universe but UniAdmin displays the time the lock was set in UD. On 23/03/2012 06:06, Namacha, N. (Nicholas) wrote: Is it possible to know for how long a record has been locked in universe? Kind Regards Nicholas Namacha Nedbank Limited Reg No 1951/09/06. The following link displays the names of the Nedbank Board of Directors and Company Secretary. [ http://www.nedbank.co.za/terms/DirectorsNedbank.htm ] This email is confidential and is intended for the addressee only. The following link will take you to Nedbank's legal notice. [ http://www.nedbank.co.za/terms/EmailDisclaimer.htm ] ___ 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] Turn a device and inode into file name
You can also use UniAdmin. That will show the file name as well. On 17/03/2012 17:12, dia...@aptron.com wrote: Thanks!!! Quoting Charles Stevensonstevenson.c...@gmail.com: Diane - Here's a short LIST.READU envelope that replaces dev/inode with filenames. Look up these UV-supplied tools that tie device Inode to the filename: ACCOUNT.FILE.STATS LIST.FILE.STATS STAT.FILE UNIVERSE.STAT.FILE It relies on regularly running ACCOUNT.FILE.STATS to keep STAT.FILE up to date. I added an index to UV's vanilla STAT.FILE and use it to extract the filename. See lines 3 30: 01: PROGRAM SHOW.READU 02: * Abbreviated LIST.READU, but with filenames replacing device/inode. 03: * Relies on indexed I-desc DICT STAT.FILE INODE.DEV: FILEINODE:.:FILEDEV 04: 05: $COPYRIGHT (c) 2012 Charles D. Stevenson. Permission to use with attribution granted. 06: $OPTIONS DEFAULT 07: 08: SENTENCE.OPTS = @SENTENCE[' ',2, 999 ] 09: BEGIN CASE 10: CASE NOT( LEN( SENTENCE.OPTS )) ; * usual case 11: EXECUTE 'LIST.READU EVERY' CAPTURING LRDU 12: LOOP ; * ignore Group lock section 13: UNTIL REMOVE( LRDU, MORE) = Active Record Locks: 14: WHILE MORE 15: REPEAT 16: CRT Active Record Locks: 17: CASE SENTENCE.OPTS = SIMPLE ; * LIST.READU's default 18: EXECUTE 'LIST.READU' CAPTURING LRDU 19: CASE @TRUE ; l * any valid LIST.READU syntax 20: EXECUTE 'LIST.READU ': SENTENCE.OPTS CAPTURING LRDU 21: END CASE 22: OPEN 'STAT.FILE' TO F.STAT ELSE STOP 201, 'STAT.FILE' 23: MORE = @TRUE 24: LOOP WHILE MORE 25: LINE = REMOVE( LRDU, MORE ) 26: TRIMMED = TRIM( LINE ) 27: DEV = TRIMMED[ ' ', 1, 1 ] 28: INODE = TRIMMED[ ' ', 2, 1 ] 29: IF LEN( DEV ) ! LEN( INODE ) THEN 30: SELECTINDEX 'INODE.DEV', INODE:'.':DEV FROM F.STAT TO 9 31: READNEXT STAT.ID FROM 9 THEN 32:READV FILENAME FROM F.STAT, STAT.ID, 1 THEN 33: LINE[1,29] = FILENAME '29.L#29' 34:END 35: END 36: END 37: CRT LINE 38: REPEAT 39: RETURN 40:END Catalogue it run as a verb. Contact me if you have questions. cds On 3/16/2012 6:03 PM, dia...@aptron.com wrote: I swear I wrote a new version of LIST.READU at one time where I dealt with this and listed the file where the item was locked, but I can't find it anywhere. And now, of course, I'm obsessed with finding it. If I find it I'll post it. -Dianne ___ 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] Unusual code
The code will perform the Enter Problem codes sub if anything except Y or 1 are entered. So why test for N and 2 at all? Just to let the terminal beep which doesn't work on a terminal emulator anyway? I would have just used IF THEN ELSE. On 15/03/2012 19:18, Susan Joslyn wrote: For multilingual. I go with 0/1 for no/yes, myself. But then you can use a code table - in any language - where the returned value is 1 or 2 and test for that in the programs. Also lets the code table or whatever other validation utility you use deal with the upper and lower case issue. Final result is 0/1 and all programs can use that and don't have to be changed when the language does. I still wouldn't use that construct, but that could explain why the numeric. SJ ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Including Code - A Best Practice?
Like with most things I'd say it depends. I have worked with quite a few systems that use standard includes and haven't noticed that those were harder to maintain than those that don't. The reason being that those includes never get changed. Usually these include equates (TRUE, FALSE, VM, AM etc.), commons, opening standard system files (error messages, personal work files and so on), housekeeping and/or wrapping up at the end of the program. Debugging is also no problem since you have compile options that not only generate a symbol table but also make the included code visible (in UniData just use -Z2 -D). If you use includes like that then at least 2 of your points become invalid. That said, I don't understand what you mean with installing updates requires compiling the world. If your software vendor uses includes you haven't got a choice and if the software is developed in-house you define the standards. And one of those standards should be, 'Don't change the standard includes!'. So I can't see any disadvantage in using includes per se. To the contrary. You just copy the parts with the includes (in our case top and bottom) of an existing program into an empty item (or create a template) and start writing your code and you don't have to worry about your system wide standard variables. On 08/02/2012 15:35, Tom Whitmore wrote: I would agree that code in includes provides a faster program than making an external subroutine. I had performed tests when milliseconds counted, but now systems are so fast the advantage is not noticeable. Putting code in includes: Makes debugging harder Installing updates requires compiling the world to make sure you get all the programs that use that include. Maintenance costs are higher From my perspective, just say NO to code in includes. The cost is too high with no real benefit. Tom RATEX Business Solutions -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Baker Hughes Sent: Wednesday, February 08, 2012 10:15 AM To: 'dgr...@dagconsulting.com'; 'U2 Users List' Subject: Re: [U2] Including Code - A Best Practice? David, Could you elaborate a little more on your two positive arguments? Thanks for your insights, and all those shared from others so far. Thank you. -Baker -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green Sent: Wednesday, February 08, 2012 8:21 AM To: 'U2 Users List' Subject: Re: [U2] Including Code - A Best Practice? I don't think using an INCLUDE is bad, but it must be done in the right way. Pros: * It is the fastest way to use reusable code. * It can be debugged just fine if you use the correct compile arguments. Cons: * You must, MUST, address the variable names. I always prefix mine with CODE$NAME where CODE is the prefix I've chosen for my INCLUDE and should be unique for your system. * You must recompile all instances if you want the change to be updated everywhere. * More difficult to edit program logic, unless you have a nice editor that brings in INCLUDES/INSERTS for you automatically. David A. Green (480) 813-1725 DAG Consulting -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Baker Hughes Sent: Tuesday, February 07, 2012 4:05 PM To: U2 Users List (u2-users@listserver.u2ug.org) Subject: [U2] Including Code - A Best Practice? A friendly discussion arose recently among some U2/MV Developers about whether to include code. If any of you have opinions about the positive aspects or negative aspects of this practice, please respond. Should it be adopted as a best practice, or rejected as special situation use only? Many shops probably include long sections of variable assignments, or perhaps globally opened files. This is pretty much accepted everywhere as a good practice. In question here is the insertion of actual code - business logic or screen I/O programs or code snippets. Maybe you know of methods to overcome some of the obvious downsides: unintended reassignment of local variables, difficulty in debugging, others. What are the positive upsides? Performance gains? What is the longest snippet you think should be included, if allowed? What advantage has included code over a CALL or a Function? Reuse. What else? Can the downsides be mitigated satisfactorily to justify the gains? Thanks so much. -Baker This communication, its contents and any file attachments transmitted with it are intended solely for the addressee(s) and may contain confidential proprietary information. Access by any other party without the express written permission of the sender is STRICTLY PROHIBITED. If you have received this communication in error you may not copy, distribute or use the contents, attachments or information in any way.
Re: [U2] Building an Excel File
R.I.P. On 07/02/2012 17:52, Brian Leach wrote: what a horrible thought ... some things rightly belong in the trash can of history. Jet and Runoff are definitely in that category. Brian Sent from my ASUS Eee Pad Wjhonsonwjhon...@aol.com wrote: Dig it up and market it because Universe is no longer offering JET. -Original Message- From: Brian Leachbr...@brianleach.co.uk To: 'U2 Users List'u2-users@listserver.u2ug.org Sent: Tue, Feb 7, 2012 9:43 am Subject: Re: [U2] Building an Excel File IIRC didn't VMARK buy CompuSheet, at around the same time they bought JET? t's probably lying around on and old QIC somewhere.. I'd just written a JET and Ultiword emulator for UniVerse when they popped p with JET. Grr.. but a long time ago. nd back to topic I second the use Tony's tools motion. Why waste time and oney reinventing the wheel? You make think your working time is free, but someone's paying for it!) If you really need to call out from Excel (as opposed to building preadsheets from the db) you can use VBA and UniObjects. Brian -Original Message- rom: u2-users-boun...@listserver.u2ug.org mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Charlie Noah ent: 07 February 2012 16:13 o: U2 Users List ubject: Re: [U2] Building an Excel File Amen! I don't think I would want to go back to 9600 baud serial ommunications, though. My first Reality job was contract programming or a local service bureau, using an ADDS Viewpoint terminal and 300 aud acoustical coupler. They handed me the terminal, modem and a set of anuals and said Have fun!. Dang, now I'm telling my age! EasyCalc ran on Reality as well. Of course, it went the way of many of he other dinosaurs. Now EasyCalc Googles to a scientific calculator on ourceForge. I acquired the source code and rights to redistribute, but hat never went anywhere. If memory serves, Compusheet used a lot of abs frames for speed. EC was ll Data/Basic. It was a bit slow recalculating a series of 600+ preadsheets from the bottom up. The others in IT (then called Data rocessing) didn't think I would be able to get it to work at all, but t did. The sheets drilled all the way down to class enrollment and aperclip counts, and rolled it all up to a top level , which they used o feed their GL. I probably should have taken this [OT], but I didn't know what effect hanging the subject would have. Charlie On 02-07-2012 9:52 AM, Dianne Ackerman wrote: Hm, don't remember EasyCalc, but Compusheet was on a Reality system. It was so much easier when we only had to know what was native in our own systems and not be concerned with a million different things to connect to in the outside world! -Dianne On 2/7/2012 10:45 AM, Charlie Noah wrote: Hi Dianne, You're telling your age here! ;^) Actually, it was EasyCalc, which was probably very similar to Compusheet. Charlie On 02-07-2012 9:30 AM, Dianne Ackerman wrote: Compusheet? I remember working with that! -Dianne On 2/7/2012 6:50 AM, Charlie Noah wrote: Hi Bob, I don't suppose CrowFlite can be obtained these days, can it? It looks like Phil has retired. If it were available, would it work with the newer versions of Excel? What about Open Office? In the 80s I worked for a university in Florida, where we used a Pick-based spreadsheet modeled after Lotus 123. I built a series of spreadsheets which reached down into every aspect of the university's database, giving upper management an up to the minute view of the school's financial picture. I think it ended up being over 600 spreadsheets, but hey, fund accounting is complicated and we did still have the 32K limit. Fond memories. ;^) Regards, Charlie Noah Tiny Bear's Wild Bird Store Everything For The Backyard Bird Enthusiast, Except For The Birds Info, Forum: http://www.TinyBearMarketing.com Store:http://Stores.TinyBearMarketing.com Toll Free: 1-855-TinyBear (855-846-9232) On 02-06-2012 10:57 PM, Bob Rasmussen wrote: Makes one long for CrowFlite, doesn't it? For those that don't remember, CrowFlite was an add-in to Excel that allowed it, at a per-cell level, to reach back into a Pick database and grab individual pieces of data. In other words, it was a pull solution as well as a push. I'm cc'ing its creator, Phil Gerber, so he can reminisce about the past while reveling in the sights among the mountains of Oregon :-) On Mon, 6 Feb 2012, Tony Gravagno wrote: Not responding to any particular quote here, just the CSV topic in general. Respected colleagues, CSV is not Excel. If you have an end-user that asks for Excel and you give them a CSV you're just perpetuating the myth that Pick is a dinosaur. They will gladly spend tens of thousands of dollars to replace your application with something that creates real Excel (and PDF) despite the fact that such things can be attained at low cost or no cost right now. Trust me, I've seen it happen. This dove-tails with the reasons why people get 20 people to support Oracle when they can have 3
Re: [U2] Passing by Value
Thanks, I'll try it out next time I'm chasing a variable. On 27/01/2012 22:52, Wols Lists wrote: On 26/01/12 21:26, Mecki Foerthmann wrote: What does -X do? Sorry if this has already been answered, but I guess it's what I know as XREF. It creates a listing of all the variables used, including the lines on which they are used. I'd probably compile it with -Z2, run the program in debug and put a trace on A. On 26/01/2012 21:22, u2ug wrote: BASIC -X !!! Cheers, Wol ___ 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] Passing by Value
I 100% agree with you Tony. I really feel put off by the arrogant attitude in his replies. First asking bloody beginner's questions and then accusing seasoned professionals when they offer a (free) solution that they don't know what they're talking about. Who does this guy think he is? I already put him in my spam filter. Imho the only way to get rid of trolls is to ignore them. If we do that they usually get bored and leave after a while or come down from their high horse. He's not the first one and will surely not be the last one either. Please stop feeding this troll. Mecki On 27/01/2012 21:23, Tony Gravagno wrote: From: Bill Haskett G-man: You having a bad day? :-) No bro, I just don't like seeing good people being abused ... again. I'm just glad I'm not the only one who sees it. ___ 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] Passing by Value
What has the length of the program to do with it? I always abide to the rule that a for next counter in any internal subroutine has to be unique. That way even if the sub is called from within a for next loop the counters never conflict. So it doesn't make any difference whatsoever if a program is 80 or 8000 lines long. BTW a program with 8000 lines is usually a sign of poor design. On 26/01/2012 19:02, Wjhonson wrote: You've never worked on programs that are 8000 lines long I take it :) -Original Message- From: John Hesterjhes...@momtex.com To: U2 Users Listu2-users@listserver.u2ug.org Sent: Thu, Jan 26, 2012 10:49 am Subject: Re: [U2] Passing by Value I like to use increasing roman numerals: FOR I = 1 TO COUNTER GOSUB PROCESS EXT I PROCESS: OR II = 1 TO COUNTER2 FOR III = 1 TO COUNTER3 FOR IV = 1 TO COUNTER4 NEXT IV NEXT III EXT II ETURN -Original Message- rom: u2-users-boun...@listserver.u2ug.org mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson ent: Thursday, January 26, 2012 10:09 AM o: u2-users@listserver.u2ug.org ubject: Re: [U2] Passing by Value n a related note, any clever ideas to localize a variable to a local ubroutine? For I = 1 to 10 GOSUB PROCESS ext I top 3000 Lines of code later PROCESS: OR I = 1 TO 20 RINT I EXT I ETURN __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://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] Passing by Value
No, you are completely wrong if you think that is only your world. Who in our game has the luxury working only with their own code? I have been doing what you describe for over 25 years now and probably most of the contributors here do the same thing for a living too and not just since yesterday. And I may have made that silly mistake once or twice as a junior but since then it has become second nature. And in those days we didn't have the luxury of 8000 line programs because the limit for any item was 32K and you were forced to use very short variable names and couldn't even indent your code because spaces are characters too. In one shop I worked we used X, Y, Z etc. in 'primary' code and in internal subroutines XX, YY, ZZ and so on for loop counters. I personally prefer more meaningful names but can't do that always because I try to follow the naming conventions of the code I'm working on. Even the editor you use is irrelevant since I haven't seen one yet that doesn't have a search function. Just go to the top of the program and search for the variable name you intend to use. If your search comes up negative you're safe to use it. Simple! And OTOH how can you make 'rapid changes' to code if you don't understand what it is supposed to do and where the varibles come from? On 26/01/2012 20:16, Wjhonson wrote: Completely wrong :) You apparently have the luxury of only working on programs written by yourself. In my world, we are called upon to make rapid changes in programs written by twenty programmers over twenty years. You haven't specified *how* you ensure that your counters are unique, and by the way, the issue is not just counters, but any variable. -Original Message- From: Mecki Foerthmannmec...@gmx.net To: u2-usersu2-users@listserver.u2ug.org Sent: Thu, Jan 26, 2012 12:13 pm Subject: Re: [U2] Passing by Value What has the length of the program to do with it? always abide to the rule that a for next counter in any internal ubroutine has to be unique. hat way even if the sub is called from within a for next loop the ounters never conflict. o it doesn't make any difference whatsoever if a program is 80 or 8000 ines long. BTW a program with 8000 lines is usually a sign of poor design. On 26/01/2012 19:02, Wjhonson wrote: You've never worked on programs that are 8000 lines long I take it :) -Original Message- From: John Hesterjhes...@momtex.com To: U2 Users Listu2-users@listserver.u2ug.org Sent: Thu, Jan 26, 2012 10:49 am Subject: Re: [U2] Passing by Value I like to use increasing roman numerals: FOR I = 1 TO COUNTER GOSUB PROCESS EXT I PROCESS: OR II = 1 TO COUNTER2 FOR III = 1 TO COUNTER3 FOR IV = 1 TO COUNTER4 NEXT IV NEXT III EXT II ETURN -Original Message- rom: u2-users-boun...@listserver.u2ug.org mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson ent: Thursday, January 26, 2012 10:09 AM o: u2-users@listserver.u2ug.org ubject: Re: [U2] Passing by Value n a related note, any clever ideas to localize a variable to a local ubroutine? For I = 1 to 10 GOSUB PROCESS ext I top 3000 Lines of code later PROCESS: OR I = 1 TO 20 RINT I EXT I ETURN __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://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] Passing by Value
Are you trying to be funny? Who in his or her right mind would use 1 letter variables in a 8000 line program except maybe as loop counter or as throw away variables? And you have just explained why that is a stupid idea. And if you have a program like that? Tough luck, sounds like hard earned money to me. Happy hunting. But I guess I better stop feeding the troll.:-X On 26/01/2012 20:58, Wjhonson wrote: Mecki you're not paying attention. You have an 8000 line program that uses a variable A You didn't write it. You need to find where that variable is assigned. You search for A ? That's not going to work. -Original Message- From: Mecki Foerthmannmec...@gmx.net To: u2-usersu2-users@listserver.u2ug.org Sent: Thu, Jan 26, 2012 12:55 pm Subject: Re: [U2] Passing by Value No, you are completely wrong if you think that is only your world. ho in our game has the luxury working only with their own code? have been doing what you describe for over 25 years now and probably ost of the contributors here do the same thing for a living too and not ust since yesterday. nd I may have made that silly mistake once or twice as a junior but ince then it has become second nature. nd in those days we didn't have the luxury of 8000 line programs ecause the limit for any item was 32K and you were forced to use very hort variable names and couldn't even indent your code because spaces re characters too. n one shop I worked we used X, Y, Z etc. in 'primary' code and in nternal subroutines XX, YY, ZZ and so on for loop counters. personally prefer more meaningful names but can't do that always ecause I try to follow the naming conventions of the code I'm working on. Even the editor you use is irrelevant since I haven't seen one yet that oesn't have a search function. ust go to the top of the program and search for the variable name you ntend to use. f your search comes up negative you're safe to use it. imple! And OTOH how can you make 'rapid changes' to code if you don't nderstand what it is supposed to do and where the varibles come from? On 26/01/2012 20:16, Wjhonson wrote: Completely wrong :) You apparently have the luxury of only working on programs written by ourself. In my world, we are called upon to make rapid changes in programs written by wenty programmers over twenty years. You haven't specified *how* you ensure that your counters are unique, and by he way, the issue is not just counters, but any variable. -Original Message- From: Mecki Foerthmannmec...@gmx.net To: u2-usersu2-users@listserver.u2ug.org Sent: Thu, Jan 26, 2012 12:13 pm Subject: Re: [U2] Passing by Value What has the length of the program to do with it? always abide to the rule that a for next counter in any internal ubroutine has to be unique. hat way even if the sub is called from within a for next loop the ounters never conflict. o it doesn't make any difference whatsoever if a program is 80 or 8000 ines long. BTW a program with 8000 lines is usually a sign of poor design. On 26/01/2012 19:02, Wjhonson wrote: You've never worked on programs that are 8000 lines long I take it :) -Original Message- From: John Hesterjhes...@momtex.com To: U2 Users Listu2-users@listserver.u2ug.org Sent: Thu, Jan 26, 2012 10:49 am Subject: Re: [U2] Passing by Value I like to use increasing roman numerals: FOR I = 1 TO COUNTER GOSUB PROCESS EXT I PROCESS: OR II = 1 TO COUNTER2 FOR III = 1 TO COUNTER3 FOR IV = 1 TO COUNTER4 NEXT IV NEXT III EXT II ETURN -Original Message- rom: u2-users-boun...@listserver.u2ug.org mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson ent: Thursday, January 26, 2012 10:09 AM o: u2-users@listserver.u2ug.org ubject: Re: [U2] Passing by Value n a related note, any clever ideas to localize a variable to a local ubroutine? For I = 1 to 10 GOSUB PROCESS ext I top 3000 Lines of code later PROCESS: OR I = 1 TO 20 RINT I EXT I ETURN __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://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] Passing by Value
We used CHAIN on ADDS Mentor to combine 2 or more programs. Like INCLUDE a real bastard to debug, though. On 26/01/2012 21:01, Charlie Noah wrote: Hi Mecki, I remember those 32K limits. I found a way to cheat a bit, though. I would split a source program into pieces and INCLUDE the subsequent pieces into the first. As long as the object didn't exceed 32K, it worked. Ah, those were the days! :-) Regards, Charlie Noah On 01-26-2012 2:54 PM, Mecki Foerthmann wrote: No, you are completely wrong if you think that is only your world. Who in our game has the luxury working only with their own code? I have been doing what you describe for over 25 years now and probably most of the contributors here do the same thing for a living too and not just since yesterday. And I may have made that silly mistake once or twice as a junior but since then it has become second nature. And in those days we didn't have the luxury of 8000 line programs because the limit for any item was 32K and you were forced to use very short variable names and couldn't even indent your code because spaces are characters too. In one shop I worked we used X, Y, Z etc. in 'primary' code and in internal subroutines XX, YY, ZZ and so on for loop counters. I personally prefer more meaningful names but can't do that always because I try to follow the naming conventions of the code I'm working on. Even the editor you use is irrelevant since I haven't seen one yet that doesn't have a search function. Just go to the top of the program and search for the variable name you intend to use. If your search comes up negative you're safe to use it. Simple! And OTOH how can you make 'rapid changes' to code if you don't understand what it is supposed to do and where the varibles come from? On 26/01/2012 20:16, Wjhonson wrote: Completely wrong :) You apparently have the luxury of only working on programs written by yourself. In my world, we are called upon to make rapid changes in programs written by twenty programmers over twenty years. You haven't specified *how* you ensure that your counters are unique, and by the way, the issue is not just counters, but any variable. -Original Message- From: Mecki Foerthmannmec...@gmx.net To: u2-usersu2-users@listserver.u2ug.org Sent: Thu, Jan 26, 2012 12:13 pm Subject: Re: [U2] Passing by Value What has the length of the program to do with it? always abide to the rule that a for next counter in any internal ubroutine has to be unique. hat way even if the sub is called from within a for next loop the ounters never conflict. o it doesn't make any difference whatsoever if a program is 80 or 8000 ines long. BTW a program with 8000 lines is usually a sign of poor design. On 26/01/2012 19:02, Wjhonson wrote: You've never worked on programs that are 8000 lines long I take it :) -Original Message- From: John Hesterjhes...@momtex.com To: U2 Users Listu2-users@listserver.u2ug.org Sent: Thu, Jan 26, 2012 10:49 am Subject: Re: [U2] Passing by Value I like to use increasing roman numerals: FOR I = 1 TO COUNTER GOSUB PROCESS EXT I PROCESS: OR II = 1 TO COUNTER2 FOR III = 1 TO COUNTER3 FOR IV = 1 TO COUNTER4 NEXT IV NEXT III EXT II ETURN -Original Message- rom: u2-users-boun...@listserver.u2ug.org mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson ent: Thursday, January 26, 2012 10:09 AM o: u2-users@listserver.u2ug.org ubject: Re: [U2] Passing by Value n a related note, any clever ideas to localize a variable to a local ubroutine? For I = 1 to 10 GOSUB PROCESS ext I top 3000 Lines of code later PROCESS: OR I = 1 TO 20 RINT I EXT I ETURN __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://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] Passing by Value
What does -X do? I'd probably compile it with -Z2, run the program in debug and put a trace on A. On 26/01/2012 21:22, u2ug wrote: BASIC -X !!! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John Hester Sent: Thursday, January 26, 2012 4:16 PM To: U2 Users List Subject: Re: [U2] Passing by Value One of these searches should eventually work: L A= L A = L A= L A = Unless the original author used some kind of ridiculous syntaxt like: A = 500 Granted, you're also going to get results for any IF/THEN equality tests in the mix, but you'd have the exact same issue if the variable were named I.LIKE.TO.USE.VERY.LOOONG.VARIABLE.NAMES. You might get more false positives with A if you also have variables like AA, AAA, BA, etc., but one can only hope any programmer that incompetent would get fired before they could leave behind too much code like that. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Thursday, January 26, 2012 12:59 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Passing by Value Mecki you're not paying attention. You have an 8000 line program that uses a variable A You didn't write it. You need to find where that variable is assigned. You search for A ? That's not going to work. ___ 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] Passing by Value
Not to mention L ;A= and L ;A = On 26/01/2012 21:15, John Hester wrote: One of these searches should eventually work: L A= L A = L A= L A = Unless the original author used some kind of ridiculous syntaxt like: A = 500 Granted, you're also going to get results for any IF/THEN equality tests in the mix, but you'd have the exact same issue if the variable were named I.LIKE.TO.USE.VERY.LOOONG.VARIABLE.NAMES. You might get more false positives with A if you also have variables like AA, AAA, BA, etc., but one can only hope any programmer that incompetent would get fired before they could leave behind too much code like that. -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Thursday, January 26, 2012 12:59 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Passing by Value Mecki you're not paying attention. You have an 8000 line program that uses a variable A You didn't write it. You need to find where that variable is assigned. You search for A ? That's not going to work. ___ 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] Brilliant? or not?
I agree, if it took you more than 4 seconds to work that piece of code out you shouldn't be a programmer. But if it requires working out and thus at least twice as long than reading a simple if-then-else statement it's definitely not a brilliant piece of code. On 16/01/2012 20:16, Symeon Breen wrote: H This has whole topic has been mentioned on here before, and my stance is the same, if you can not read that code and work it out in 4 seconds, then maybe you should not be a programmer. Code is code, read it , understand it, get over it ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Brilliant? or not?
What's wrong with IF S1 S2 THEN SMAX = S1 ELSE SMAX = S2? Definitely more readable! If it was hard to write then it should be hard to read, I guess. On 13/01/2012 17:41, Wjhonson wrote: SMAX = (S1 S2) * S1 + (S2= S1) * S2 ? ___ 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] SB Missing Screen
You should use SRC (or F8 in PRC) to check if all processes are actually part of your project. When working on multiple projects it can easily happen that part of one project ends up in a different one. So while everything works fine in development or test when you load it parts of the project may be missing. On 23/12/2011 17:06, Israel, John R. wrote: You got that right! Actually, it looks like one of the programs was missed and it was running the prior version. No clue how or why, but I think I am on the right track. Sorry for the panic message. Merry Xmas to all! John John Israel Senior ERP Developer Dayton Superior Corporation 1125 Byers Rd Miamisburg, OH 45342 Office: 937-866-0711 x44380 Fax: 937-865-9182 johnisr...@daytonsuperior.com This message w/attachments (message) is intended solely for the use of the intended recipient(s) and may contain information that is privileged, confidential or proprietary. If you are not an intended recipient, please notify the sender, and then please delete and destroy all copies and attachments, and be advised that any review or dissemination of, or the taking of any action in reliance on, the information contained in or attached to this message is prohibited. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Colin Alfke Sent: Friday, December 23, 2011 12:05 PM To: 'U2 Users List' Subject: Re: [U2] SB Missing Screen The problem's obvious: you're working during your vacation!! Sorry, I don't know how PRC pushes the updates - but I'd start with /XP or /MP and go through the processes to make sure everything's calling what I expect (guessing that PRC didn't overwrite a current process that is setting things so it goes straight through). Good luck and Happy Holidays! Colin -Original Message- From: Israel, John R. I am dying here! We use PRC to push our SB stuff from TEST to PILOT and then from PILOT to LIVE. I wrote a new process in TEST that works perfectly. It looks for some txt files to import. If found, and you hit F2, it does some validation before importing. No problem. I used PRC to move this to PILOT, but when I run the process in PILOT, the screen never displays at all, and I start getting the SB.DISP messages as if I had hit F2. I have deleted the process and screens from PILOT and re-loaded - no effect. I have made changes to the process and the screen in TEST and re-loaded - no effect. I am not getting any errors, it just does not display the screen and immediately starts running the code as if the user had hit F2. I have been trying to get this to display the screen in PILOT for hours (on my vacation!), but have completely run out of ideas. Any thoughts? John Israel Senior ERP Developer ___ 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] Extract first and last name from free-form name
And the list goes on and on and... That's why free form names are an absolute pain and should be avoided. It's so much easier to have Title, First Name(s), Last Name(s) fields in the input screen and keep them as separate attributes. You never get it 100% right. In your list take Dean or Prince for instance - they could be first names and not titles at all. A colleague of mine tried a last name upper to lower case conversion including Irish and Scottish names and out of Machine Co it made MacHine Co. And don't even ask what happened to last names starting with O.:-) On 14/12/2011 01:02, Charlie Noah wrote: Great start, but here is a longer list, although still nowhere near complete: Prefixes Code Description 1st Lt First Lieutenant Adm Admiral Atty Attorney Brother Brother (religious) Capt Captain ChiefChief Cmdr Commander Col Colonel Dean University Dean (includes Assistant and Associate) Dr Doctor (Medical or Educator) ElderElder (religious) Father Father (religious) Gen General Gov Governor Hon Honorable (Cabinet Officer, Commissioner, Congressman, Judge, etc.) Lt Col Lieutenant Colonel Maj Major MSgt Major/Master Sergeant Mr Mister Mrs Married Woman Ms Single or Married Woman Prince Prince Prof Professor (includes Assistant and Associate RabbiRabbi (religious) Rev Reverend (religious) Sister Sister (religious) Suffixes Code Description II The Second III The Third IV The Fourth VThe Fifth CPA Certified Public Accountant DDS Doctor of Dental Medicine Esq Esquire JD Jurist Doctor Jr Junior Jnr Junior (British) LLD Doctor of Laws MD Doctor of Medicine PhD Doctorate Ret Retired from Armed Forces RN Registered Nurse RPh Registered Pharmacist Sr Senior Snr Senior (British) DO Doctor of Osteopathy Perhaps others can add more to the list. Regards, Charlie Noah Tiny Bear's Wild Bird Store Everything For The Backyard Bird Enthusiast, Except For The Birds Info, Forum: http://www.TinyBearMarketing.com Store:http://Stores.TinyBearMarketing.com On 12-13-2011 5:12 PM, Wjhonson wrote: 0044: SUFFIXES = ,JR,SR,MD,III, 0045: S.NAME = DCOUNT(UM.NAME,' ') 0046: LAST.WORD.IN.NAME = FIELD(UM.NAME,' ',S.NAME) 0047: IF INDEX(SUFFIXES,,:LAST.WORD.IN.NAME:,,1) THEN 0048: LAST.NAME = FIELD(UM.NAME,' ',S.NAME-1) 0049: END ELSE 0050: LAST.NAME = LAST.WORD.IN.NAME 0051: END 0052: PREFIXES = ',DR,MR,MS,MISS,MRS,' 0053: FIRST.WORD.IN.NAME = FIELD(UM.NAME,' ',1) 0054: IF INDEX(PREFIXES,,:FIRST.WORD.IN.NAME:,,1) THEN 0055: FIRST.NAME = FIELD(UM.NAME,' ',2) 0056: END ELSE 0057: FIRST.NAME = FIRST.WORD.IN.NAME 0058: END ___ 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] Extract first and last name from free-form name
Just face it - it can't be done! So what if Dean has 2 first names and is a plumber? On 14/12/2011 09:57, Symeon Breen wrote: You need to do a proper lexical analysis in order to work these out For example Input : Dean Foster Lex: title word Input: Dean Reginald McGraw Lex: title word word Then set rules to say a lex of title word is probable worked out as forename surname and a lex of title word word is probably title forename surname you can assign probabilities against these and build some self learning in. It is a whole massive topic. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: 14 December 2011 08:22 To: u2-users@listserver.u2ug.org Subject: Re: [U2] Extract first and last name from free-form name And the list goes on and on and... That's why free form names are an absolute pain and should be avoided. It's so much easier to have Title, First Name(s), Last Name(s) fields in the input screen and keep them as separate attributes. You never get it 100% right. In your list take Dean or Prince for instance - they could be first names and not titles at all. A colleague of mine tried a last name upper to lower case conversion including Irish and Scottish names and out of Machine Co it made MacHine Co. And don't even ask what happened to last names starting with O.:-) On 14/12/2011 01:02, Charlie Noah wrote: Great start, but here is a longer list, although still nowhere near complete: Prefixes Code Description 1st Lt First Lieutenant Adm Admiral Atty Attorney Brother Brother (religious) Capt Captain ChiefChief Cmdr Commander Col Colonel Dean University Dean (includes Assistant and Associate) Dr Doctor (Medical or Educator) ElderElder (religious) Father Father (religious) Gen General Gov Governor Hon Honorable (Cabinet Officer, Commissioner, Congressman, Judge, etc.) Lt Col Lieutenant Colonel Maj Major MSgt Major/Master Sergeant Mr Mister Mrs Married Woman Ms Single or Married Woman Prince Prince Prof Professor (includes Assistant and Associate RabbiRabbi (religious) Rev Reverend (religious) Sister Sister (religious) Suffixes Code Description II The Second III The Third IV The Fourth VThe Fifth CPA Certified Public Accountant DDS Doctor of Dental Medicine Esq Esquire JD Jurist Doctor Jr Junior Jnr Junior (British) LLD Doctor of Laws MD Doctor of Medicine PhD Doctorate Ret Retired from Armed Forces RN Registered Nurse RPh Registered Pharmacist Sr Senior Snr Senior (British) DO Doctor of Osteopathy Perhaps others can add more to the list. Regards, Charlie Noah Tiny Bear's Wild Bird Store Everything For The Backyard Bird Enthusiast, Except For The Birds Info, Forum: http://www.TinyBearMarketing.com Store:http://Stores.TinyBearMarketing.com On 12-13-2011 5:12 PM, Wjhonson wrote: 0044: SUFFIXES = ,JR,SR,MD,III, 0045: S.NAME = DCOUNT(UM.NAME,' ') 0046: LAST.WORD.IN.NAME = FIELD(UM.NAME,' ',S.NAME) 0047: IF INDEX(SUFFIXES,,:LAST.WORD.IN.NAME:,,1) THEN 0048: LAST.NAME = FIELD(UM.NAME,' ',S.NAME-1) 0049: END ELSE 0050: LAST.NAME = LAST.WORD.IN.NAME 0051: END 0052: PREFIXES = ',DR,MR,MS,MISS,MRS,' 0053: FIRST.WORD.IN.NAME = FIELD(UM.NAME,' ',1) 0054: IF INDEX(PREFIXES,,:FIRST.WORD.IN.NAME:,,1) THEN 0055: FIRST.NAME = FIELD(UM.NAME,' ',2) 0056: END ELSE 0057: FIRST.NAME = FIRST.WORD.IN.NAME 0058: END ___ 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 - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1415 / Virus Database: 2102/4079 - Release Date: 12/13/11 ___ 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] Dynamic Connect TimeOut
You need the AUTOLOGOUT to kill off processes that are left behind if a user turns their PC off without disconnecting. So it's not a good idea to turn that off. That's why SBClient and I guess DC too send a keep-alive signal to the server. This worked fine under XP but on Win7 machines this doesn't seem to work any more. On 17/11/2011 12:56, asvin.datt...@hsbcib.com wrote: Hi, Have you checked the AUTOLOGOUT setting? AUTOLOGOUT Use AUTOLOGOUT to enable or disable automatic logout. With AUTOLOGOUT enabled, UniVerse logs you out automatically if you have not pressed a key within a specified time. SYNTAX AUTOLOGOUT [time] cheers, asvin u2-users-boun...@listserver.u2ug.org wrote on 16/11/2011 16:02:09: [image removed] [image removed] [U2] Dynamic Connect TimeOut Bill Brutzman to: U2 Users List 16/11/2011 16:02 Sent by: u2-users-boun...@listserver.u2ug.org Please respond to U2 Users List A user here with a Windows 7 PC indicates that DC keeps logging him out... automatically. He says that he launches DC in the morning... minimizes it... comes back later... and is presented with the unix login prompt. We have UniVerse v10.3.6 running on HP-Ux 11i v2. This problem is new to me. I presume that he has a timeout parameter specified somewhere in theUx login. Help would be appreciated. --Bill ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users HSBC Bank plc may be solicited in the course of its placement efforts for a new issue, by investment clients of the firm for whom the Bank as a firm already provides other services. It may equally decide to allocate to its own proprietary book or with an associate of HSBC Group. This represents a potential conflict of interest. HSBC Bank plc has internal arrangements designed to ensure that the firm would give unbiased and full advice to the corporate finance client about the valuation and pricing of the offering as well as internal systems, controls and procedures to identify and manage conflicts of interest. HSBC Bank plc Registered Office: 8 Canada Square, London E14 5HQ, United Kingdom Registered in England - Number 14259 Authorised and regulated by the Financial Services Authority. - SAVE PAPER - THINK BEFORE YOU PRINT! This transmission has been issued by a member of the HSBC Group HSBC for the information of the addressee only and should not be reproduced and/or distributed to any other person. Each page attached hereto must be read in conjunction with any disclaimer which forms part of it. Unless otherwise stated, this transmission is neither an offer nor the solicitation of an offer to sell or purchase any investment. Its contents are based on information obtained from sources believed to be reliable but HSBC makes no representation and accepts no responsibility or liability as to its completeness or accuracy. ___ 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] Code Collaboration
I think a major problem is the lack of training/documentation. Great that there are all these new possibilities, but if you have to figure everything out yourself it becomes very difficult to keep up with the technology. A lot of VARs (especially ours) are no help if you get the feeling they know even less then you do. It is very frustrating if the business asks, 'can we do that?' and you can only answer, 'yes, I know it's possible but I don't know how to make it work.' And how am I to show the young guys all the flash things I have seen in demos or heard about here if I can't get them to work myself? On 17/11/2011 20:55, David Jordan wrote: The U2UG board has been discussing with Rocket how to encourage excitement that U2 is not legacy but is a technology leader. I was at a presentation of a U2 VAR and they demonstrated product that would be indistinguishable from any other player in open systems, Service architecture, interoperability, web intefaces, etc. How do we get this across to the market. With collaboration, we need to first excite. How do we excite people in U2 technology. Is it looking at a major enhancement of the BASIC programming language or a new one within U2. What other things do we look at. Currently young programmers are excited by web technology's, mobile apps, the sexy stuff. They are not interested in the backend, whether Oracle RDBMS, SQL Server or U2. This is a problem across the industry. The board of the user group are interested in areas to look at and how to create infrastructure to make this happen. If we can reignite excitement in the product and create a place for collaboration where that excitement can be put to good use then I believe we can achieve success. However our success depends on a group of people not a few individuals. If this is to occur, it is time for people to become involved in shaping a future. Regards David Jordan VP U2UG ___ 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] Dynamic Connect TimeOut
I experience the same problem with SBClient and mvDeveloper (UD 5.2 on Solaris) ever since I swapped my old PC running XP to a new 64 bit Windows 7 PC. After about an hour and a half of inactivity I get disconnected. I have the suspicion that Win 7 doesn't send the keep alive that is expected. On 16/11/2011 16:32, Bill Brutzman wrote: While this user had in the /home directory .login The following files were missing .cshrc .exrc .profile I copied these mia's from another user here and changed the ownership to him andusers group. Perhaps this will fix it. --Bill -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Romanow Sent: Wednesday, November 16, 2011 11:06 AM To: U2 Users List Subject: Re: [U2] Dynamic Connect TimeOut Are you using System Builder? On Wed, Nov 16, 2011 at 11:02 AM, Bill Brutzmanbi...@hkmetalcraft.com wrote: A user here with a Windows 7 PC indicates that DC keeps logging him out... automatically. He says that he launches DC in the morning... minimizes it... comes back later... and is presented with the unix login prompt. We have UniVerse v10.3.6 running on HP-Ux 11i v2. This problem is new to me. I presume that he has a timeout parameter specified somewhere in the Ux login. Help would be appreciated. --Bill ___ 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] Dynamic Connect TimeOut
Yes I have Brian. That's the first thing I checked and why I think it's something in Win7 64bit. On 16/11/2011 17:19, Brian Leach wrote: Mecki In mvDeveloper, under Account Settings have you checked 'send keep-alives'? Brian -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: 16 November 2011 17:06 To: u2-users@listserver.u2ug.org Subject: Re: [U2] Dynamic Connect TimeOut I experience the same problem with SBClient and mvDeveloper (UD 5.2 on Solaris) ever since I swapped my old PC running XP to a new 64 bit Windows 7 PC. After about an hour and a half of inactivity I get disconnected. I have the suspicion that Win 7 doesn't send the keep alive that is expected. On 16/11/2011 16:32, Bill Brutzman wrote: While this user had in the /home directory .login The following files were missing .cshrc .exrc .profile I copied these mia's from another user here and changed the ownership to himandusers group. Perhaps this will fix it. --Bill -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Romanow Sent: Wednesday, November 16, 2011 11:06 AM To: U2 Users List Subject: Re: [U2] Dynamic Connect TimeOut Are you using System Builder? On Wed, Nov 16, 2011 at 11:02 AM, Bill Brutzmanbi...@hkmetalcraft.com wrote: A user here with a Windows 7 PC indicates that DC keeps logging him out... automatically. He says that he launches DC in the morning... minimizes it... comes back later... and is presented with the unix login prompt. We have UniVerse v10.3.6 running on HP-Ux 11i v2. This problem is new to me. I presume that he has a timeout parameter specified somewhere in the Ux login. Help would be appreciated. --Bill ___ 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 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Dynamic Connect TimeOut
Thanks John, I'll have a word with the system admin if I actually (need to) have the firewall switched on. Win7 is new to us. I have been the guinea pig and can live with it. But all new PCs in the company are now Win7 so getting this sorted would be nice. Mecki On 16/11/2011 19:53, John Thompson wrote: One thing to note, which you may already know... The Windows Firewall in WIndows 7 filters inbound and OUTBOUND traffic. So you may just want to turn it off altogether and see what happens. On Wed, Nov 16, 2011 at 2:46 PM, Mecki Foerthmannmec...@gmx.net wrote: ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Using 'MATCH'
Well, you still won't find the first occurrence with INDEX() since it hasn't got a comma in front. Using the right tool (in this case LOCATE) for the job always helps! On 01/11/2011 15:05, Charles Stevenson wrote: What Wol George Smith said. MATCH's raison d'etre is _PATTERN_ matching. That means: (a) MATCH is relatively expensive to use for comparing simple literals. (b) For MATCH, you need to enclose the pattern's literals in embedded quotes to ensure that it is not interpreted as a pattern. Per Wol's M6AWT example: M6AWT needs to be 'MCAWT' or MATCH will reinterpret it as 'M'6A'WT', a 3-piece pattern. Remember, every time MATCH is going to examine the 2nd argument to figure out what pattern you're talking about this time, which brings us back to point (a). (c) MATCH will be confusing to the next maint pgmr: he'll think you're talking about PATTERN matching, not simple literals. George's INDEX() gets it right for shear efficiency, On 10/31/2011 2:17 PM, George Smith wrote: If you are trying to look for an arbitrary delimited string, I think the safest thing to do is something like IF INDEX(',':X.STRING:',', ',':X.CODE:',',1)=0 THEN X.STRING=X.STRING:',':X.CODE Efficiency matters if you do many iterations. The LOCATE suggestions are arguably more readable if the rookie pgmr following you is not familiar with the INDEX() technique (yet). You may be surprised if you compare INDEX() performance to functionally equivalent constructs using LOCATE, COUNT, MATCH, FINDSTR, etc.. If you're building X.STRING as you go, you might want to do something like: X.STRING = ',' LOOP ... get X.CODE ... IF INDEX( X.STRING, (',':X.CODE:','), 1 )ELSE X.STRING:= X.CODE:',' REPEAT X.STRING = [ 2, LEN( X.STRING)-2 ] ; * drop leading trailing comma Caveat: All the answers on this thread assume strings of a reasonable size. Today maybe a few, several KB?? Tomorrow??? cds On 10/31/2011 6:20 PM, Wols Lists wrote: I notice nobody seems to have pointed out a MAJOR gotcha in using MATCH. If your code is as described, you'll avoid it, but what validation have you got in place on X.CODE? Is it possible that numbers could accidentally get into it? We did something like this years ago with a line something like IF TEXT MATCH USER THEN where USER was the department code followed by the user's initials. And while most departments were alphas, there were a couple of alphanumerics. All went well until Albert from M6 ran the code ... USER = M6AWT Who can see the landmine just waiting to explode ... ? Cheers, Wol ___ 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] Using 'MATCH'
I don't get the problem. Why would you want to do this in the first place? Why not just convert the commas to @VM, use LOCATE and convert the @VM back to commas? BTW if the first string is HELL or it is the first entry then counting ,HELL, won't find it either. KISS! Mecki On 31/10/2011 20:41, George Gallen wrote: Be careful using a straight count, Because HELL will be found in in the word HELLO for instance, and would not be added Make sure you surround your search criteria with the delimiters being used, as noted in one of the replies. So, ,HELL, would not be found if ,HELLO, were in the list. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Greg Coelho Sent: Monday, October 31, 2011 4:15 PM To: U2 Users List Subject: Re: [U2] Using 'MATCH' Guys, Thanks for the great suggestions. I believe that I did get MATCH confused with COUNT thinking that it could navigate a delimiter... In this situation I'm thinking that just using COUNT would be the best solution. I do appreciate the diversity of the solutions presented. Thanks! Greg From: Woodward, Bobbob_woodw...@k2sports.com To: U2 Users Listu2-users@listserver.u2ug.org Date: 10/31/2011 01:55 PM Subject:Re: [U2] Using 'MATCH' Sent by:u2-users-boun...@listserver.u2ug.org You might also be able to use COUNT. IF COUNT(X.STRING,X.CODE) = 0 THEN X.STRING := X.CODE Not knowing what your potential codes are, though, they may or may not fit your needs. ___ 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] Avoiding deadly embraces
I think Asvin means this ;D On 27/10/2011 17:33, Wjhonson wrote: First explain what you mean, then I can answer it. How do I do what? Will wrote: It seems like some of you have only ever worked on rather simple systems, built by yourselves :) Try working on systems that have been accreting for twenty years, and built by sixteen other programmers over that time period. Asvin wrote: Big grin - how do you do that in internetese? -Original Message- From: asvin.dattaniasvin.datt...@hsbcib.com To: U2 Users Listu2-users@listserver.u2ug.org Sent: Thu, Oct 27, 2011 2:36 am Subject: Re: [U2] Avoiding deadly embraces To Asvin, you cannot set locks in the same sequence every time. This is because, in a sufficiently complex system you will have changes to Customer's possibly affecting Orders, Inventory, Payables... You can then have changes to Inventory possibly affecting Orders, Customers, Receivables... You can then have changes to Receivables, affecting Orders, Customers, Inventory... You can then have changes to Sales Reps affecting Customers, rders,Payroll... I did say if you can arrange it - I understand it may not always be ossible. Whenever you get a deadly embrace, examine the two programs nvolved and see if you can reorder the READU's. If you can, then that ill prevent the problem happening again. It seems like some of you have only ever worked on rather simple systems, built by yourselves :) Try working on systems that have been accreting for twenty years, and built by sixteen other programmers over that time period. Big grin - how do you do that in internetese? cheers, asvin SBC Bank plc may be solicited in the course of its placement efforts for new issue, by investment clients of the firm for whom the Bank as a firm lready provides other services. It may equally decide to allocate to its wn proprietary book or with an associate of HSBC Group. This represents a otential conflict of interest. HSBC Bank plc has internal arrangements esigned to ensure that the firm would give unbiased and full advice to he corporate finance client about the valuation and pricing of the ffering as well as internal systems, controls and procedures to identify nd manage conflicts of interest. HSBC Bank plc egistered Office: 8 Canada Square, London E14 5HQ, United Kingdom egistered in England - Number 14259 uthorised and regulated by the Financial Services Authority. *** AVE PAPER - THINK BEFORE YOU PRINT! This transmission has been issued by a member of the HSBC Group HSBC for the information of the addressee only and should not be eproduced and/or distributed to any other person. Each page ttached hereto must be read in conjunction with any disclaimer hich forms part of it. Unless otherwise stated, this transmission s neither an offer nor the solicitation of an offer to sell or urchase any investment. Its contents are based on information btained from sources believed to be reliable but HSBC makes no epresentation and accepts no responsibility or liability as to its ompleteness or accuracy. __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://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] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu.
You are right, you don't always know in advance which records you need to lock. If the processes are human controlled this can be solved by letting each user know who is locking whom out and they can solve the problem hopefully themselves. If phantom processes are doing this you don't have this option and you may have to employ the error log option or in case of a single file the loop with the sleep or even a combination of the two. If it is really hairy you may have to use transactions and don't commit until all records have been written. If a locking issue hasn't been resolved within such and such a time just release all locks and start again. So far I never had to do that, but AFAIK UniBasic has that feature and if you have so much trouble with phantoms locking each other out you should probably look at that option too. Or maybe ask yourself if you really need that many phantoms? There is no standard solution for every case but with a bit of thought every deadlock situation can be avoided or solved. In my experience locking problems are caused to 99% by users sitting in maintenance screens while they are doing something else like playing with spread sheets, sitting in meetings or go home without logging off. User A gets a message that he can't proceed because user B holds a lock. If he tries to ring user B and can't reach him he rings IT and I kick user B out ;-). Simple as that! Happens about once a week. I can live with that, but if it would be happening more frequently or with phantoms I would do something about it. In any case if you use READU use the locked clause because only then you have the option to bail out and avoid a deadlock. On 26/10/2011 01:36, Wjhonson wrote: It is not possible to know in advance all the locks you may wish to set. That's the problem. -Original Message- From: Charles Stevensonstevenson.c...@gmail.com To: U2 Users Listu2-users@listserver.u2ug.org Sent: Tue, Oct 25, 2011 5:22 pm Subject: Re: [U2] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu. While Will's articledoes give a good, clear example of a deadly embrace, nd remediating faulty code is not trivial, the solution is conceptually rivial and it is exactly the LOCKED clause that saves us. If you write new code, deadlocks are easy to prevent. Testing is non-trivial. It generally requires load or stress testing here mutiple processes vie for the same locks. In a nutshell: you shouldn't begin writing ANY part of a logical ransaction until you own ALL necessary locks. LOCKED clauses help you rap cases where you can't get one of those needed locks, allowing you o release all other related locks, (freeing up everything so the ompeting process can finish its work), then you try again. No eadlocks. QED. My problem posed at the start of this thread represents a conceptually rivial project but it will include retrofitting this anti-deadlock ogic. Non-trivial hours. Opportunity costs. More consistent data! All MV platforms support this same solution. If someone else wants to explain it in further detail for the newbies, lease, be my guest. cds On 10/25/2011 12:27 PM, Wjhonson wrote: This is deadly embrace http://knol.google.com/k/will-johnson/deadly-embrace-on-pick-systems/4hmquk6fx4gu/816#view The Locked clause does not save us from it. There is no known trivial olution to the problem, which troubles all multi-table, multi-user database nvironments. Perhaps we should start a new thread to discuss various approaches to the ssue. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://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] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu.
Come on, get real. Do you suggest the deadly embrace would be better and he would get his results any quicker? And anyway, an ER doc not getting his lab results because of a mass update process running as a phantom encountering a locked record? And who would hold a lock on those lab results while they are being transferred? Come up with a real life problem and I'll give you a real life solution. Remember, the impossible I do straight away but miracles may take a bit longer! Mecki On 26/10/2011 13:45, Robert Porter wrote: Accountants... How about a ER doc waiting on lab results for cardiac enzymes? I can hear it now: Sorry Doc, something else locked the record. Your patient's test request was skipped so we could implement a trivial solution that was suggested for deadly embrace. Try again, and hope for the best that it goes through this time. Robert F. Porter, MCSE, CCNA, ZCE, OCP-Java Lead Sr. Programmer / Analyst Laboratory Information Services Ochsner Health System This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful. Wjhonsonwjhon...@aol.com 10/25/2011 1:20 PM Your second solution only works if one of the processes is controlled by a human. I've encountered deadly embraces between two phantom routines. Your first solution works, if we have the luxury of skipping locked records. Some update routines, don't have that luxury as most accountants will let you know quite clearly with loud noises and waving of arms. ___ 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] Avoiding deadly embraces
What do you think I am doing day in day out? I work with Avante 9.2 from Epicor and I definitely didn't write that myself. And this isn't the first system I've worked with in nearly 25 years in the MV world. And to be honest I have barely scratched the surface of Avante since I only look at the code if it requires modification or there is a problem. I don't know how many programmers were involved in writing it but I guess it was a lot more than 16. Some of it looks like it's very old since it uses soft locks and it contains some really weird and whacky code. And yes, we have occasional locking issues but never deadly embraces because the software is written in a way that helps to prevent or solve them. The software generally uses standard subroutines to read and lock records and notifies the user if somebody else holds a lock and who that user is. It could of course be better and display the user name instead of the login ID but most people can figure out whom to ring if they are locked out. Some programs display only the port so they have to ring IT to find out who the user is - but with UniAdmin that is no big deal. Depending what the process does it gives the user the opportunity to try again or abort the process or displays the message until the lock is released should the process be in the middle of a multi file update. Other processes can only to be run by one user at a time and prevent anybody else from starting the process. About once a week I get a call because a lock stops somebody from doing their job and I have to kick the offending party off the system. If they loose their work - tough luck - everybody has been told not to leave a screen in the middle of something and walk away. I haven't had a complaint yet even when I kicked the MD off. Releasing the lock is hardly ever the right solution. That's why we have an IT department and what we get paid for - keeping the system running. Should I ever encounter problems like the ones you describe I would solve them and not whine about it! And should I struggle to find a solution I would ask the group for advice, take it, try it out and be thankful for it. Can't be done doesn't exist in my vocabulary. We have shown you a couple of solutions, but of course it is a lot easier to insist on the myth of deadly embraces, blame the stupid database system and insult your peers. Mecki On 26/10/2011 19:52, Wjhonson wrote: It seems like some of you have only ever worked on rather simple systems, built by yourselves :) Try working on systems that have been accreting for twenty years, and built by sixteen other programmers over that time period. There is no simple deterministic way to avoid deadly embraces through code alone. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu.
I never said anything about blindly (I guess that's what you meant) skipping records. I suggested writing the locked record ids somewhere else and process them later for Wills not necessarily life-threatening sales rep update phantom. I at least don't feel threatened by accountants. If somebody is locking the record there must be a reason for it. If it's a good one or not doesn't matter. And who knows, when the process tries again a couple of minutes later the lock may have been released by then. That way a lock on a standard blood test doesn't stop the process from sending the important lab report next in line for processing to the ER doc you talked about. If it is really life threatening I would find out who holds the lock and take severe action instead. This could be an email or even a message sent directly to the locking screen that they are killing somebody in the hospital if they don't get out of Dodge immediately. And if they don't respond within a minute or so just kick them off the system. That will release the lock every time. You may also think about using optimistic locking for some or all of the processes that have users in front of them. You can even put some extra intelligence into that. So instead of refusing the update of a record because it has changed since it was read you can allow the update of empty attributes. All this can be done with 2 subroutines. One for reads and one for writes. It requires to write some code of course. But isn't that what we do for a living? Now I have never worked with lab results and came up with several solutions within minutes. Should be very easy to write for a 15 year veteran. And it sounds like you've done something similar, so what was so incredible hard about it? But maybe what I regard as easy may appear hard to others. Mecki On 26/10/2011 21:44, Robert Porter wrote: I'm suggesting that blinding skipping records is a HORRIBLE idea, and in our case, potentially life threatening - literally. You need to get real with your suggestion that coding for deadly embrace situations is a very easy solution (your words). Not every phantom is a mass update. The IS real-life... we're talking about 1/2 dozen hospitals plus around 4 dozen clinics all putting orders in and receiving status updates results in real time 24x7, the possibility for such occurrences takes REAL programming responses not off the cuff and rather simplistic canned answers. In fact, record locks for patient's lab results occurs all the time. We've taken many steps to minimize the possibility of a deadly embrace occurring - such as wrapping READU calls within a single subroutine that allows us significant;y better monitoring and control and programming practices. Some processes that lock have users in front of them -MLTs, MTs, MDs PhDs putting in results and interpretations . Some don't - interfaces in- and out-bound to dozens of systems for example. Sorry, but as I've been working with lab results for over 15 years now, I know what I'm talking about. It doesn't get any more real... sorry to burst your bubble. So you come on ... admit that programming for this is not a very easy solution. Robert Mecki Foerthmannmec...@gmx.net 10/26/2011 2:44 PM Come on, get real. Do you suggest the deadly embrace would be better and he would get his results any quicker? And anyway, an ER doc not getting his lab results because of a mass update process running as a phantom encountering a locked record? And who would hold a lock on those lab results while they are being transferred? Come up with a real life problem and I'll give you a real life solution. Remember, the impossible I do straight away but miracles may take a bit longer! Mecki On 26/10/2011 13:45, Robert Porter wrote: Accountants... How about a ER doc waiting on lab results for cardiac enzymes? I can hear it now: Sorry Doc, something else locked the record. Your patient's test request was skipped so we could implement a trivial solution that was suggested for deadly embrace. Try again, and hope for the best that it goes through this time. Robert F. Porter, MCSE, CCNA, ZCE, OCP-Java Lead Sr. Programmer / Analyst Laboratory Information Services Ochsner Health System This transmission (including any attachments) may contain confidential information, privileged material (including material protected by the solicitor-client or other applicable privileges), or constitute non-public information. Any use of this information by anyone other than the intended recipient is prohibited. If you have received this transmission in error, please immediately reply to the sender and delete this information from your system. Use, dissemination, distribution, or reproduction of this transmission by unintended recipients is not authorized and may be unlawful. Wjhonsonwjhon...@aol.com 10/25/2011 1:20 PM Your second solution only works if one of the processes is controlled by a human. I've
Re: [U2] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu.
Firstly a file isn't empty any more after the first WRITE. Secondly we have item and not file locking so if the file is empty or not is irrelevant. And last but not least only if you have exclusive use of a work file for instance you may not have to worry about locks and waiting since you are holding the lock anyway and nobody else should be able to put one on it. But since with lousy programming this is still possible following the standard 'Never write without a prior lock' just makes sense. Better safe than sorry! On 25/10/2011 17:07, Sammartino, Richard wrote: What if you were writing to an empty file? Rich - Original Message - From: Mecki Foerthmannmec...@gmx.net To: u2-users@listserver.u2ug.org Sent: Monday, October 24, 2011 6:30:08 PM Subject: Re: [U2] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu. Now why would anybody want to use a WRITE without a READU? I can possibly understand that somebody would want to do it with a WRITEV (i.e writing a flag on a record) but WRITE? And WRITE totally ignoring locking would be outright stupid. On 24/10/2011 22:28, Woodward, Bob wrote: I would think that because you are not trying to obtain the lock in a WRITE statement, it would not be classified as a waiter. True, it's waiting because of the lock but by not trying to obtain the lock, it's only waiting for the blockage to clear. If it were to be classified as a waiter then I would expect to see a LOCKED clause on the WRITE statement like there is on the READU. For that matter, I'd expect to see a WRITEU command as well and the standard WRITE to completely ignore locking. Just my guess, though. BobW -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Charles Stevenson Sent: Monday, October 24, 2011 2:12 PM To: U2 Users List Subject: [U2] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu. UV 10.2.10 on Windows is behaving differently from what I recall. Are my expectations out of line? Suppose Session A holds a readu lock; and Session B attempts a WRITE to same record withOUT!!! 1st explicitly getting the readu lock. Session B waits for Session A to release the lock before writing the record. While Session B is waiting, does it show up as a waiter in LIST.READU EVERY? I expected so, but it doesn't. Session A Session B _ ___ 1A. ED VOC DUMMY (this sets the readu lock.) 2A. (stay in editor)2B. run this: 01:OPEN 'VOC' TO F ELSE STOPM 'nope' 02: ***READU REC FROM F, 'DUMMY' ELSE NULL 03:WRITE '' TO F, 'DUMMY' 3A. Within ED: XEQ LIST.READU EVERY If I UN-comment line 2, LIST.READU EVERY shows something like this: Active Read Waiters: Owner Waiter Device Inode Userno Userno 746117947232860913 61163396 But when I comment out line 2, LIST.READU is silent. I have not yet explored what the deadlock daemon does. TIA, cds P.S. Yes, yes, Bad Form, Legacy Software, 20 min wait is configurable, . . . we can talk later. ___ 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] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu.
Oh yes there is a very easy solution. If you write a mass update process like in your example you skip the records with a lock and write them to an error log file. That way you never end up in a deadly embrace. After you finished the mass update you can then check for skipped records and update them later. Or with the LOCKED clause you can let both parties know who is locking whom out and resolve the deadlock amicably by getting the sales person to exit the sales rep screen and file the customer record in your example. Ideally you should use a subroutine that tells you who is locking you out instead of READUs anyway. Mecki On 25/10/2011 18:27, Wjhonson wrote: This is deadly embrace http://knol.google.com/k/will-johnson/deadly-embrace-on-pick-systems/4hmquk6fx4gu/816#view The Locked clause does not save us from it. There is no known trivial solution to the problem, which troubles all multi-table, multi-user database environments. Perhaps we should start a new thread to discuss various approaches to the issue. ___ 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] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu.
So you just examine the errors at the end of the process and fix them automatically. The accountants will never know ;-) Where there is a will there is a solution! On 25/10/2011 19:20, Wjhonson wrote: Your second solution only works if one of the processes is controlled by a human. I've encountered deadly embraces between two phantom routines. Your first solution works, if we have the luxury of skipping locked records. Some update routines, don't have that luxury as most accountants will let you know quite clearly with loud noises and waving of arms. -Original Message- From: Mecki Foerthmannmec...@gmx.net To: u2-usersu2-users@listserver.u2ug.org Sent: Tue, Oct 25, 2011 10:58 am Subject: Re: [U2] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu. Oh yes there is a very easy solution. f you write a mass update process like in your example you skip the ecords with a lock and write them to an error log file. hat way you never end up in a deadly embrace. fter you finished the mass update you can then check for skipped ecords and update them later. Or with the LOCKED clause you can let both parties know who is locking hom out and resolve the deadlock amicably by getting the sales person o exit the sales rep screen and file the customer record in your xample. Ideally you should use a subroutine that tells you who is ocking you out instead of READUs anyway. Mecki On 25/10/2011 18:27, Wjhonson wrote: This is deadly embrace http://knol.google.com/k/will-johnson/deadly-embrace-on-pick-systems/4hmquk6fx4gu/816#view The Locked clause does not save us from it. There is no known trivial olution to the problem, which troubles all multi-table, multi-user database nvironments. Perhaps we should start a new thread to discuss various approaches to the ssue. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://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] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu.
You could do it all in one program and run only one phantom, but of course you can make it a lot more difficult if you want too. KISS On 25/10/2011 20:13, Wjhonson wrote: I know I'll write a phantom to monitor the phantom and write an error log read by a third phantom! I'll be at the top of the matrix in six years! ___ 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] DataVu
Yeah right, if you can get it to connect. On 24/10/2011 22:20, David Jordan wrote: The cost is a fraction of Cognos and DataVu provides more development functionality. You also don't have the cost of adding an SQL Server database and work to copy from UniData to the SQL Server that you would normally do with a Cognos environment. There is a development license and web based licenses for users to access the reports. I am not experienced with MITS, but from my knowledge MITS first role is to develop a data warehouse and then has reporting facility against the datawarehouse. It may not be the right tool if you are not building a data warehouse, however I may not be correct in that assessment. DataVu is a tool that allows users to develop visual dashboards and reports from working data rather than data warehouse database like Cognos depends on. However it would make life easier to probably set up a separate account that you put reporting data into. The product is not so much a matter of learning how to use, but about getting your head around how to use it which is no different to other products. DataVu provides flexibility to achieve functionality at a low cost. It resolves a problem that most sites have of giving users more access to querying data themselves. Regards David Jordan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kebbon Irwin Sent: Tuesday, 25 October 2011 3:25 AM To: u2-users@listserver.u2ug.org Subject: [U2] DataVu Does anyone have solid experience with this product yet? I am particularly interested in the license costs for a Unidata environment and some sense of what development efforts are required and the quality of the results, especially when compared with Cognos or MITS or the others in the space.Cheers,Kebbon ___ 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] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu.
Now why would anybody want to use a WRITE without a READU? I can possibly understand that somebody would want to do it with a WRITEV (i.e writing a flag on a record) but WRITE? And WRITE totally ignoring locking would be outright stupid. On 24/10/2011 22:28, Woodward, Bob wrote: I would think that because you are not trying to obtain the lock in a WRITE statement, it would not be classified as a waiter. True, it's waiting because of the lock but by not trying to obtain the lock, it's only waiting for the blockage to clear. If it were to be classified as a waiter then I would expect to see a LOCKED clause on the WRITE statement like there is on the READU. For that matter, I'd expect to see a WRITEU command as well and the standard WRITE to completely ignore locking. Just my guess, though. BobW -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Charles Stevenson Sent: Monday, October 24, 2011 2:12 PM To: U2 Users List Subject: [U2] [UV] LIST.READU EVERY's waiters when there are writes w/o explicit readu. UV 10.2.10 on Windows is behaving differently from what I recall. Are my expectations out of line? Suppose Session A holds a readu lock; and Session B attempts a WRITE to same record withOUT!!! 1st explicitly getting the readu lock. Session B waits for Session A to release the lock before writing the record. While Session B is waiting, does it show up as a waiter in LIST.READU EVERY? I expected so, but it doesn't. Session A Session B _ ___ 1A. ED VOC DUMMY (this sets the readu lock.) 2A. (stay in editor)2B. run this: 01:OPEN 'VOC' TO F ELSE STOPM 'nope' 02: ***READU REC FROM F, 'DUMMY' ELSE NULL 03:WRITE '' TO F, 'DUMMY' 3A. Within ED: XEQ LIST.READU EVERY If I UN-comment line 2, LIST.READU EVERY shows something like this: Active Read Waiters: Owner Waiter Device Inode Userno Userno 746117947232860913 61163396 But when I comment out line 2, LIST.READU is silent. I have not yet explored what the deadlock daemon does. TIA, cds P.S. Yes, yes, Bad Form, Legacy Software, 20 min wait is configurable, . . . we can talk later. ___ 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] FAST (File Analysis and Sizing Tool)
Well said Charlie. I was going to say something similar but you beat me to it again. :-) Mecki On 07/10/2011 11:08, Charlie Noah wrote: I agree with Ross here. Updates every 3-4 weeks sounds like an awful lot. I get cranky when I have to install updates for any program that often. I've tried to stay out of this and keep my mouth shut, but this mudslinging is just too much. It's beginning to sound like a political campaign. Besides, I've never been very good at keeping my mouth shut anyway. Doug's blatant attack on FAST is flat-out ugly and uncalled for. It really doesn't matter whether what he's saying is true or not. I find Doug's very frequent ads and arrogant attitude extremely annoying, and I would not buy from him just for that reason. But, that's just me. A quilting forum my wife belongs to has a policy that one product promotional ad (obvious or subtle) is permitted. After that, you get moderated out. A website link is always permitted in the signature, of course. That may be something worth looking at here. Charlie Noah Charles W. Noah Associates cwn...@comcast.net http://www.linkedin.com/in/charlienoah The views and opinions expressed herein are my own (Charlie Noah) and do not necessarily reflect the views, positions or policies of any of my former, current or future employers, employees, clients, friends, enemies or anyone else who might take exception to them. On 10-07-2011 12:25 AM, Ross Ferris wrote: Personally I'd be more than a little worried about a product that had s many bugs it required fixes every 3-4 weeks, OR was s feature poor that it needed that many tweaks I would have thought if you were selling a product in this space, given that the fundamentals of the file structure haven't been undergoing any major enhancements recently that I'm aware, an offering should be bug free feature complete. Just a casual observation YMMV Ross Ferris Stamina Software Visage Better by Design! -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Averch Sent: Wednesday, 5 October 2011 2:52 PM To: U2 Users List Subject: Re: [U2] FAST (File Analysis and Sizing Tool) Hi Eric: At the U2 University meeting in 2009, one FAST user told me they paid $40,000.00. Yes, that is 40k for FAST. The pricing was based on the number of users the had on their machine. Obviously, they had a lot of users. In today's world if you are paying Oracle pricing for this tool from written in the 80's with a VBA Client Server interface. There web site is talks about Windows NT/2000. Windows NT support stopped in 2004. Come on, let's use a tool made for this century. No wonder no understands U2 outside of our world. You guys and gals are extolling to virtues of a company that has not even updated their web site in 7 years. [ad] Try XLr8Resizer plug-in for Eclipse on a trial basis for FREE, or pay U2logic only $99.00 per year. Save you and your company thousands and thousands of dollars. This tool is state of the art. We update all of our tools every 3 to 4 weeks with enhancements and fixes. [/ad] Regards, Doug www.u2logic.com U2 Tools for the rest of us ___ 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] SLOW
Maybe you should get him to buy FAST? sorry, couldn't resist either Mecki On 07/10/2011 21:21, Drew William Henderson wrote: with apologies to Jeff and Peggy...and, ok, everyone else, too! My boss has noticed today that we've been running SLOW, and isn't happy about it. He wants to know if SLOW is industry standard, and what other U2 shops might be running SLOW. I told him that I didn't know about other U2 shops, but that I know a lot of SQL shops have been running SLOW for years, and seem to be very satisfied. I also let him know that running SLOW on Friday afternoons was almost industry standard, but I'm not sure he's buying it. So, if you're running SLOW in your environment, please let me know; otherwise, we might not be running SLOW on Monday morning. (sorry...couldn't help myself! Have a good weekend, all!) Drew Henderson Director, Enterprise Systems Architecture and Security Morehead State University 301 Howell-McDowell Bldg Morehead, Ky 40351 606/783-2445 ___ 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] The math just doesn't work.
You didn't read Martin's answer, or did you? So to what value is WIDEZERO set on your UV system? On 29/09/2011 16:40, Oaks, Harold wrote: Running Martin's code on a Universe system, got: (A+B) = C? YOU ROCK A = 4096.9, B = 106.19, (A+B) = 4203.09, C = 4203.09 Interesting - Universe does better than Unidata at this particular task. Harold Oaks Clark County -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brian Leach Sent: Thursday, September 29, 2011 6:21 AM To: 'U2 Users List' Subject: Re: [U2] The math just doesn't work. And just to add to Martin's excellent answer - the normal workround for any computer system is to use integral values, scaling and descaling as required. In case you think this is a U2 specific limitation, here's the same in C# as a console app - namespace ConsoleApplication1 { class Program { static void Main(string[] args) { float A = 3176.79f; float B = 106.19f; float C = 3282.98f; float D = 920.11f; A = A + D; C = C + D ; if((A+B) != C ){ Console.WriteLine(You lie, A+B = {0}, C= {1},(A+B), C); } else{ Console.WriteLine(you rock); } pressAnyKey(); } static void pressAnyKey() { Console.Write(Press any key ...); Console.ReadLine(); } } } Result - You lie, A+B = 4203.09, C= 4203.09 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Martin Phillips Sent: 29 September 2011 13:46 To: U2 Users List Subject: Re: [U2] The math just doesn't work. Hi George, As a general rule in programming, comparison of floating point values for equality should be avoided. This is because, just as we cannot write the number one third accurately in decimal notation, so the IEEE floating point format used by computer systems cannot store numbers accurately. The example that I use when teaching training courses is 14.2 which actually ends up as something close to 14.197. UniVerse gets around this with a wonderful concept called wide zero that says, when testing for equality of floating point numbers, they must be within some specified value of being equal rather than strictly equal. The default wide zero error tolerance, set in IEEE format with the WIDEZERO configuration parameter, is 2.91 * 10^-11 (2^ 035) which is good for most business applications but occasionally needs adjusting. Unidata has a command, SET.WIDEZERO, to serve the same purpose but defaults to 0.0 for backward comaptibility. Martin Phillips Ladybridge Systems Ltd 17b Coldstream Lane, Hardingstone, Northampton NN4 6DB, England +44 (0)1604-709200 - Original Message - From: George Hammerlezhamme...@hubert.com To:u2-users@listserver.u2ug.org Sent: Thursday, September 29, 2011 1:30 PM Subject: [U2] The math just doesn't work. Can anybody please help? For some reason A + B does not equal C in the comparison below. Is there any trick to get the comparisons to work properly? Unidata 7.2 on Hp Unix 11+ Top of TEST.COMP in RMH.MAIN, 13 lines, 263 characters. *--: P 001: A = 3176.79 002: B = 106.19 003: C = 3282.98 004: D = 920.11 005: A = A + D 006: C = C + D 007: IF (A+B) # C THEN 008: CRT '(A+B) # C? YOU LIE' 009: CRT 'A = ':A:', B = ':B:', (A+B) = ':(A+B):', C = ':C 010: END ELSE 011: CRT '(A+B) = C? YOU ROCK' 012: CRT 'A = ':A:', B = ':B:', (A+B) = ':(A+B):', C = ':C 013: END Bottom. *--: FIBR Filed TEST.COMP in file RMH.MAIN unchanged. Compiling Unibasic: /db1/ud1/PGM/RMH.MAIN/TEST.COMP in mode 'u'. compilation finished (A+B) # C? YOU LIE A = 4096.9, B = 106.19, (A+B) = 4203.09, C = 4203.09 George Hammerle Programming Dude Hubert Company LLC. 9555 Dry Fork Road Harrison, Ohio 45030 513-367-8974 zhammerle@hubertREMOVE_THIS.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users This e-mail and related attachments and any response may be subject to public disclosure under state law. ___ 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] The math just doesn't work.
I actually wonder if this feature is flavour specific? Pick didn't use floating point arithmetic and IIRC the default precision used to be 4. I'll give it a try tomorrow since we are running UD in Pick flavour at work. On 29/09/2011 19:32, Oaks, Harold wrote: Mecki: Oops, that's right - Martin pointed out it would work in Universe - it did. In our uvconfig file the variable setting is WIDE0 3dc0 which is the default value. In case anyone wishes to change the value, note that the WIDE0 variable has an entire appendix devoted to it in the Administering Universe guide. Harold -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Thursday, September 29, 2011 8:53 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] The math just doesn't work. You didn't read Martin's answer, or did you? So to what value is WIDEZERO set on your UV system? On 29/09/2011 16:40, Oaks, Harold wrote: Running Martin's code on a Universe system, got: (A+B) = C? YOU ROCK A = 4096.9, B = 106.19, (A+B) = 4203.09, C = 4203.09 Interesting - Universe does better than Unidata at this particular task. Harold Oaks Clark County -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brian Leach Sent: Thursday, September 29, 2011 6:21 AM To: 'U2 Users List' Subject: Re: [U2] The math just doesn't work. And just to add to Martin's excellent answer - the normal workround for any computer system is to use integral values, scaling and descaling as required. In case you think this is a U2 specific limitation, here's the same in C# as a console app - namespace ConsoleApplication1 { class Program { static void Main(string[] args) { float A = 3176.79f; float B = 106.19f; float C = 3282.98f; float D = 920.11f; A = A + D; C = C + D ; if((A+B) != C ){ Console.WriteLine(You lie, A+B = {0}, C= {1},(A+B), C); } else{ Console.WriteLine(you rock); } pressAnyKey(); } static void pressAnyKey() { Console.Write(Press any key ...); Console.ReadLine(); } } } Result - You lie, A+B = 4203.09, C= 4203.09 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Martin Phillips Sent: 29 September 2011 13:46 To: U2 Users List Subject: Re: [U2] The math just doesn't work. Hi George, As a general rule in programming, comparison of floating point values for equality should be avoided. This is because, just as we cannot write the number one third accurately in decimal notation, so the IEEE floating point format used by computer systems cannot store numbers accurately. The example that I use when teaching training courses is 14.2 which actually ends up as something close to 14.197. UniVerse gets around this with a wonderful concept called wide zero that says, when testing for equality of floating point numbers, they must be within some specified value of being equal rather than strictly equal. The default wide zero error tolerance, set in IEEE format with the WIDEZERO configuration parameter, is 2.91 * 10^-11 (2^ 035) which is good for most business applications but occasionally needs adjusting. Unidata has a command, SET.WIDEZERO, to serve the same purpose but defaults to 0.0 for backward comaptibility. Martin Phillips Ladybridge Systems Ltd 17b Coldstream Lane, Hardingstone, Northampton NN4 6DB, England +44 (0)1604-709200 - Original Message - From: George Hammerlezhamme...@hubert.com To:u2-users@listserver.u2ug.org Sent: Thursday, September 29, 2011 1:30 PM Subject: [U2] The math just doesn't work. Can anybody please help? For some reason A + B does not equal C in the comparison below. Is there any trick to get the comparisons to work properly? Unidata 7.2 on Hp Unix 11+ Top of TEST.COMP in RMH.MAIN, 13 lines, 263 characters. *--: P 001: A = 3176.79 002: B = 106.19 003: C = 3282.98 004: D = 920.11 005: A = A + D 006: C = C + D 007: IF (A+B) # C THEN 008: CRT '(A+B) # C? YOU LIE' 009: CRT 'A = ':A:', B = ':B:', (A+B) = ':(A+B):', C = ':C 010: END ELSE 011: CRT '(A+B) = C? YOU ROCK' 012: CRT 'A = ':A:', B = ':B:', (A+B) = ':(A+B):', C = ':C 013: END Bottom. *--: FIBR Filed TEST.COMP in file RMH.MAIN unchanged. Compiling Unibasic: /db1/ud1/PGM/RMH.MAIN/TEST.COMP in mode 'u'. compilation finished (A+B) # C? YOU LIE A = 4096.9, B = 106.19, (A+B) = 4203.09, C = 4203.09 George Hammerle Programming Dude Hubert Company LLC. 9555 Dry Fork Road Harrison, Ohio 45030 513-367-8974 zhammerle
Re: [U2] I-type Subvalue question
That may be right but most of the examples are for single value attributes and most of the problems we face are with multi-valued ones. On 13/09/2011 02:13, Boydell, Stuart wrote: For future reference, the doc set comes with a full-text index (the .pdx file) that allows you to search (words, phrases, etc) across all the docs in the set. http://help.adobe.com/en_US/Acrobat/8.0/Standard/help.html?content=WS58a04a822e3e50102bd615109794195ff-7c3d.html -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John Thompson Sent: Tuesday, 13 September 2011 11:01 To: U2 Users List Subject: Re: [U2] I-type Subvalue question Therein lies my beef with the U2 docs. A million pdf's with bad search features. You guys are way faster :) On 9/12/11, Boydell, Stuartstuart.boyd...@spotless.com.au wrote: It's documented in the basic reference manual. Look under TRANS() :) -Original Message- On Behalf Of John Thompson Sent: Tuesday, 13 September 2011 06:39 To: U2 Users List Subject: Re: [U2] I-type Subvalue question The @11,1,1 worked. Weird... So the output is not the same as whats in the data? Be nice of them to document that :) ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users -- Sent from my mobile device John Thompson ___ 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] Unidata 7.1.22 Index Issue
You may have a problem with leading zeroes. Are there by any chance 2 records with 9 in Record120,2? On 09/09/2011 04:08, Kevin King wrote: What can I get you Wally? We did a CREATE.INDEX WO SHOP.CODE NO.NULLS followed by BUILD.INDEX WO SHOP.CODE. The index seems to work fine immediately after. If the shop code in the record changes, however, the index does not seem to reflect the change. This is evidenced by: DISABLE INDEX WO SELECT WO WITH SHOP.CODE = 09 21 items selected CLEARSELECT ENABLE.INDEX WO SELECT WO WITH SHOP.CODE = 09 19 items selected CLEARSELECT DISABLE.INDEX WO SELECT WO WITH SHOP.CODE = 09 21 items selected What else can I get you? On Thu, Sep 8, 2011 at 5:58 PM, Wally Terhune wterh...@rocketsoftware.comwrote: Not enough information. Wally Terhune U2 Support Architect Rocket Software 4600 South Ulster Street, Suite 1100 ..Denver, CO 80237 ..USA Tel: +1.720.475.8055 Email: wterh...@rs.com Web: www.rocketsoftware.com/u2 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto: u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King Sent: Thursday, September 08, 2011 5:42 PM To: U2 Users List Subject: [U2] Unidata 7.1.22 Index Issue We have a customer on Unidata 7.1.22 running the Prelude application. They have an index on a field in a file that looks like this: Top of SHOP.CODE in DICT WO, 9 lines, 82 characters. *--: P 001: V 002: EXTRACT(@RECORD,110,2,0) 003: 004: Shop Code 005: 2L 006: S 007: 008: SHOP.CODEýýEXTRACT(@RECORD,110,2,0) 009: WO Bottom. Because this field is extracting from @RECORD, we should be able to index it without problems, right? However, the reality is starkly different. The other data indexes work fine, but this derived index does not seem to be getting updated properly. -Kevin http://www.PrecisOnline.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Lock Status
I dare to disagree. If you ALWAYS use a subroutine that records the pid, the file, item Id and program on a logfile when you want to read and lock a record and ALWAYS use a subroutine that removes the info from the logfile to write or release this could work. Otherwise it won't. On 08/09/2011 20:39, Wjhonson wrote: This still would not be accurate for the reasons already stated. The call stack only shows you what routine is on the stack. If the lock had been set for hours, who knows what routine was there previously? As you yourself stated, locks can persist, after the routine which created them has gone away. The only viable solution is to record the lock at the time it is set. -Original Message- From: George Hammerlezhamme...@hubert.com To: u2-usersu2-users@listserver.u2ug.org Sent: Thu, Sep 8, 2011 12:36 pm Subject: Re: [U2] Lock Status ven if the program ended that locked the item, the lock could still be aintained if the file variable was passed. I know this is after the fact but, one option going forward would be to write a rapper program for READU's and call it LOCK.RECORD. I use this approach xtensively. CALL *LOCK.RECORD( R.RECORD, KEY.TO.RECORD, FILE.VARIABLE ) 1. If it is a phantom, perform a READU . If it is a real user, use the LOCKED clause a. If it is locked, display whom has it locked followed by an INPUT ( if it is B+, use a DISP ). b. If it is not locked, lock it. This allows them to see who has them locked and contact the guilty party . NEW OPTION : Once locked, you could get the call stack and record to a file hich program locked it ( excluding this sub - LOCK.RECORD ). Or you could add n additional parameter to this sub and pass in the program name. e already do 1 and 2, but 3 would be an interesting option. e also have a sub called LOCK.RECORD.ESCAPE that gives the user the option to scape if the record is locked and it also displays who has them locked. We only se this option when it is safe to escape and it sends back ESCAPED 1 or 0 so e can handle the escape properly. This e-mail and any files transmitted with it are confidential and intended olely for the use of the individual or company to whom they are addressed. If ou have received this e-mail in error, please notify the sender immediately and elete this e-mail including all attachments from your system. Thank you __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://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] Lock Status
Now that's a program I'd like to see. I've been trying to write one that makes cups of coffee, but so far no luck.:-D I always tell my clients when they ask me for things that can't be done without rewriting the whole system, that I will do the impossible straight away, but miracles may take a bit longer. Mecki On 08/09/2011 21:48, Wjhonson wrote: If you rewrote your system to whip eggs, then it would whip eggs. But this doesn't fix the underlying issue that there are many systems already out there, which cannot whip eggs. And which you do not have the luxury to rewrite, but have to live with them the way they are. There IS a way to get around this problem, but not retroactively, only proactively. -Original Message- From: Mecki Foerthmannmec...@gmx.net To: u2-usersu2-users@listserver.u2ug.org Sent: Thu, Sep 8, 2011 1:28 pm Subject: Re: [U2] Lock Status I dare to disagree. f you ALWAYS use a subroutine that records the pid, the file, item Id nd program on a logfile when you want to read and lock a record and LWAYS use a subroutine that removes the info from the logfile to write r release this could work. therwise it won't. On 08/09/2011 20:39, Wjhonson wrote: This still would not be accurate for the reasons already stated. The call stack only shows you what routine is on the stack. If the lock had een set for hours, who knows what routine was there previously? As you yourself stated, locks can persist, after the routine which created hem has gone away. The only viable solution is to record the lock at the time it is set. -Original Message- From: George Hammerlezhamme...@hubert.com To: u2-usersu2-users@listserver.u2ug.org Sent: Thu, Sep 8, 2011 12:36 pm Subject: Re: [U2] Lock Status ven if the program ended that locked the item, the lock could still be aintained if the file variable was passed. I know this is after the fact but, one option going forward would be to write rapper program for READU's and call it LOCK.RECORD. I use this approach xtensively. CALL *LOCK.RECORD( R.RECORD, KEY.TO.RECORD, FILE.VARIABLE ) 1. If it is a phantom, perform a READU . If it is a real user, use the LOCKED clause a. If it is locked, display whom has it locked followed by an INPUT ( if it is B+, use a DISP ). b. If it is not locked, lock it. This allows them to see who has them locked and contact the guilty party . NEW OPTION : Once locked, you could get the call stack and record to a file hich program locked it ( excluding this sub - LOCK.RECORD ). Or you could add n additional parameter to this sub and pass in the program name. e already do 1 and 2, but 3 would be an interesting option. e also have a sub called LOCK.RECORD.ESCAPE that gives the user the option to scape if the record is locked and it also displays who has them locked. We nly se this option when it is safe to escape and it sends back ESCAPED 1 or 0 so e can handle the escape properly. This e-mail and any files transmitted with it are confidential and intended olely for the use of the individual or company to whom they are addressed. If ou have received this e-mail in error, please notify the sender immediately nd elete this e-mail including all attachments from your system. Thank you __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users __ 2-Users mailing list 2-us...@listserver.u2ug.org ttp://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] DataVu Query [ad]
It doesn't give me a choice which connector to use. As I said, I can connect to UD 5.2 and UD 7.2 on two different servers with any other client software on my PC (SBClient, UniAdmin, mvDeveloper, VSG) by just entering the server name. On 07/09/2011 02:45, David Jordan wrote: Hi Mecki You should not need a jdbc driver, this is why I suspect you maybe using the data connector for RDBMs databases instead of U2 data connector which uses uniobjects. David Jordan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki Foerthmann Sent: Wednesday, 7 September 2011 9:02 AM To: u2-users@listserver.u2ug.org Subject: Re: [U2] DataVu Query [ad] David, I bet you are right, but what users want is to be able to install software like that without having to search the documentation for hours. I don't mind if I have to search for and download a JDBC driver from the net to connect to SQL Server, DB2 or Oracle data sources but I expect a Rocket product to work straight away for U2. I get a screen that asks me for the UD server name and even though that name one works for SB client, VSG, UniAdmin and tools like mvDeveloper it won't connect in DataVu. All I found so far is that I need this driver (hell knows where to get it from) and a file called bi.jdbc,drivers (or something like that) that needs to be created somewhere by the administrator. Hell, I am the administrator and I haven't got a clue how to do that! On 06/09/2011 23:22, David Jordan wrote: Mecki You do not need a JDBC driver, it uses uniobjects. There is a video showing how to install and read the documentation. The installation is not intuitive, but it is not hard. I made the mistake first not to read the documentation which takes you through step by step. Regards David Jordan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gerd Forthmann Sent: Wednesday, 7 September 2011 1:00 AM To: U2 Users List Subject: Re: [U2] DataVu Query [ad] Well, I can't even connect to the host. A get an error message U2DB1004. I reckon you guys really need to make this a lot easier if you want people tto use this and buy the other modules. In the documentation it says something about a JDBC driver that needs to be installed but isn't included in the package and some obscure file that needs to be created somewhere and contains connection data but to me this is just Greek and doesn't mean anything. Other products like mvDeveloper just work without having to find a driver somewhere and create any files by hand. I bet you can do better than that. Mecki Original-Nachricht Datum: Fri, 2 Sep 2011 17:20:14 + Von: Daniel McGrathdmcgr...@rocketsoftware.com An: U2 Users Listu2-users@listserver.u2ug.org Betreff: Re: [U2] DataVu Query [ad] Okay, so once you download DV Query there is a quick start guide that will tell you what you need to do. You need to run CONVERT.SQL on your files so that it has access to them, but you don't need to worry about creating the schemas with VSG or using HS.ADMIN like you would otherwise. Actually, there is a way to just use UPDATE.SQL.PRIVILEGES to get around this (https://u2tc.rocketsoftware.com/documentation/1410030.asp), although we recommend you do the CONVERT.SQL way. If you are running older versions of U2 you may need to update XTOOLSUB, which is also a Tech note on TechConnect. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Romanow Sent: Friday, September 02, 2011 11:14 AM To: U2 Users List Subject: Re: [U2] DataVu Query [ad] On Fri, Sep 2, 2011 at 1:04 PM, Bill Haskettwphask...@advantos.net wrote: Steve: Really? I was looking at DataVu for UniData and I understood that I did need to SQL'ize all my data. So, if I hosted a number of accounts I'd have to go through the entire process of figuring how to duplicate the accounts for SQL file access, keep them all straight, and fight with all that this entails. Are you sure I misunderstood this? Thanks, Bill Haskett -- -- - Original Message - *From:* slestak...@gmail.com *To:* U2 Users Listu2-users@listserver.u2ug.org *Date:* 9/2/2011 9:47 AM *Subject:* Re: [U2] DataVu Query [ad] On Fri, Sep 2, 2011 at 12:45 PM, John Thompsonjthompson...@gmail.com wrote: For example: If my goal was to teach a fairly savvy computer user to get data out of U2 into, lets say Excel... without the user coming to ask me to write some query for them... What would be the pros/cons of doing the ODBC way, vs. doing it the DataVu way? Forgive my ignorance... Does that make sense? On Fri, Sep 2, 2011 at 12:41 PM, Daniel McGrathdmcgr...@rocketsoftware.com wrote: I'm not entirely sure on what you want here? DataVu (the free Query and paid
Re: [U2] DataVu Query [ad]
I haven't tried the slashes. Maybe that does the trick. On 07/09/2011 00:08, Wjhonson wrote: I also have a weirdness with that server name. Either it wanted the \\ in front or it didn't I can't remember which. I do remember fiddling with that field. Too bad it can't query What drives are you attached to anyway? and give me those as options :) -Original Message- From: Mecki Foerthmannmec...@gmx.net To: u2-usersu2-users@listserver.u2ug.org Sent: Tue, Sep 6, 2011 4:03 pm Subject: Re: [U2] DataVu Query [ad] David, I bet you are right, but what users want is to be able to install oftware like that without having to search the documentation for hours. don't mind if I have to search for and download a JDBC driver from the et to connect to SQL Server, DB2 or Oracle data sources but I expect a ocket product to work straight away for U2. get a screen that asks me for the UD server name and even though that ame one works for SB client, VSG, UniAdmin and tools like mvDeveloper t won't connect in DataVu. ll I found so far is that I need this driver (hell knows where to get t from) and a file called bi.jdbc,drivers (or something like that) that eeds to be created somewhere by the administrator. ell, I am the administrator and I haven't got a clue how to do that! n 06/09/2011 23:22, David Jordan wrote: Mecki You do not need a JDBC driver, it uses uniobjects. There is a video showing ow to install and read the documentation. The installation is not intuitive, ut it is not hard. I made the mistake first not to read the documentation hich takes you through step by step. Regards David Jordan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] n Behalf Of Gerd Forthmann Sent: Wednesday, 7 September 2011 1:00 AM To: U2 Users List Subject: Re: [U2] DataVu Query [ad] Well, I can't even connect to the host. A get an error message U2DB1004. I reckon you guys really need to make this a lot easier if you want people tto se this and buy the other modules. In the documentation it says something about a JDBC driver that needs to be nstalled but isn't included in the package and some obscure file that needs to e created somewhere and contains connection data but to me this is just Greek nd doesn't mean anything. Other products like mvDeveloper just work without having to find a driver omewhere and create any files by hand. I bet you can do better than that. Mecki Original-Nachricht Datum: Fri, 2 Sep 2011 17:20:14 + Von: Daniel McGrathdmcgr...@rocketsoftware.com An: U2 Users Listu2-users@listserver.u2ug.org Betreff: Re: [U2] DataVu Query [ad] Okay, so once you download DV Query there is a quick start guide that will tell you what you need to do. You need to run CONVERT.SQL on your files so that it has access to them, but you don't need to worry about creating the schemas with VSG or using HS.ADMIN like you would otherwise. Actually, there is a way to just use UPDATE.SQL.PRIVILEGES to get around this (https://u2tc.rocketsoftware.com/documentation/1410030.asp), although we ecommend you do the CONVERT.SQL way. If you are running older versions of U2 you may need to update XTOOLSUB, which is also a Tech note on TechConnect. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Romanow Sent: Friday, September 02, 2011 11:14 AM To: U2 Users List Subject: Re: [U2] DataVu Query [ad] On Fri, Sep 2, 2011 at 1:04 PM, Bill Haskettwphask...@advantos.net wrote: Steve: Really? I was looking at DataVu for UniData and I understood that I did need to SQL'ize all my data. So, if I hosted a number of accounts I'd have to go through the entire process of figuring how to duplicate the accounts for SQL file access, keep them all straight, and fight with all that this entails. Are you sure I misunderstood this? Thanks, Bill Haskett -- -- - Original Message - *From:* slestak...@gmail.com *To:* U2 Users Listu2-users@listserver.u2ug.org *Date:* 9/2/2011 9:47 AM *Subject:* Re: [U2] DataVu Query [ad] On Fri, Sep 2, 2011 at 12:45 PM, John Thompsonjthompson...@gmail.com wrote: For example: If my goal was to teach a fairly savvy computer user to get data out of U2 into, lets say Excel... without the user coming to ask me to write some query for them... What would be the pros/cons of doing the ODBC way, vs. doing it the DataVu way? Forgive my ignorance... Does that make sense? On Fri, Sep 2, 2011 at 12:41 PM, Daniel McGrathdmcgr...@rocketsoftware.com wrote: I'm not entirely sure on what you want here? DataVu (the free Query and paid Report Dashboard products) are querying, reporting and dashboard tools whereas ODBC is just an interface. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:
Re: [U2] DataVu Query [ad]
David, I bet you are right, but what users want is to be able to install software like that without having to search the documentation for hours. I don't mind if I have to search for and download a JDBC driver from the net to connect to SQL Server, DB2 or Oracle data sources but I expect a Rocket product to work straight away for U2. I get a screen that asks me for the UD server name and even though that name one works for SB client, VSG, UniAdmin and tools like mvDeveloper it won't connect in DataVu. All I found so far is that I need this driver (hell knows where to get it from) and a file called bi.jdbc,drivers (or something like that) that needs to be created somewhere by the administrator. Hell, I am the administrator and I haven't got a clue how to do that! On 06/09/2011 23:22, David Jordan wrote: Mecki You do not need a JDBC driver, it uses uniobjects. There is a video showing how to install and read the documentation. The installation is not intuitive, but it is not hard. I made the mistake first not to read the documentation which takes you through step by step. Regards David Jordan -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gerd Forthmann Sent: Wednesday, 7 September 2011 1:00 AM To: U2 Users List Subject: Re: [U2] DataVu Query [ad] Well, I can't even connect to the host. A get an error message U2DB1004. I reckon you guys really need to make this a lot easier if you want people tto use this and buy the other modules. In the documentation it says something about a JDBC driver that needs to be installed but isn't included in the package and some obscure file that needs to be created somewhere and contains connection data but to me this is just Greek and doesn't mean anything. Other products like mvDeveloper just work without having to find a driver somewhere and create any files by hand. I bet you can do better than that. Mecki Original-Nachricht Datum: Fri, 2 Sep 2011 17:20:14 + Von: Daniel McGrathdmcgr...@rocketsoftware.com An: U2 Users Listu2-users@listserver.u2ug.org Betreff: Re: [U2] DataVu Query [ad] Okay, so once you download DV Query there is a quick start guide that will tell you what you need to do. You need to run CONVERT.SQL on your files so that it has access to them, but you don't need to worry about creating the schemas with VSG or using HS.ADMIN like you would otherwise. Actually, there is a way to just use UPDATE.SQL.PRIVILEGES to get around this (https://u2tc.rocketsoftware.com/documentation/1410030.asp), although we recommend you do the CONVERT.SQL way. If you are running older versions of U2 you may need to update XTOOLSUB, which is also a Tech note on TechConnect. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Romanow Sent: Friday, September 02, 2011 11:14 AM To: U2 Users List Subject: Re: [U2] DataVu Query [ad] On Fri, Sep 2, 2011 at 1:04 PM, Bill Haskettwphask...@advantos.net wrote: Steve: Really? I was looking at DataVu for UniData and I understood that I did need to SQL'ize all my data. So, if I hosted a number of accounts I'd have to go through the entire process of figuring how to duplicate the accounts for SQL file access, keep them all straight, and fight with all that this entails. Are you sure I misunderstood this? Thanks, Bill Haskett -- -- - Original Message - *From:* slestak...@gmail.com *To:* U2 Users Listu2-users@listserver.u2ug.org *Date:* 9/2/2011 9:47 AM *Subject:* Re: [U2] DataVu Query [ad] On Fri, Sep 2, 2011 at 12:45 PM, John Thompsonjthompson...@gmail.com wrote: For example: If my goal was to teach a fairly savvy computer user to get data out of U2 into, lets say Excel... without the user coming to ask me to write some query for them... What would be the pros/cons of doing the ODBC way, vs. doing it the DataVu way? Forgive my ignorance... Does that make sense? On Fri, Sep 2, 2011 at 12:41 PM, Daniel McGrathdmcgr...@rocketsoftware.com wrote: I'm not entirely sure on what you want here? DataVu (the free Query and paid ReportDashboard products) are querying, reporting and dashboard tools whereas ODBC is just an interface. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto: u2-users-boun...@listserver.u2ug.org] On Behalf Of John Thompson Sent: Friday, September 02, 2011 10:36 AM To: U2 Users List Subject: Re: [U2] DataVu Query [ad] Is there a comparison chart of DataVu vs. ODBC? I am planning on investigating both for reporting purposes, but, I was just curious if there was anything out there that listed the pros and cons of both in a nice little table. On Fri, Sep 2, 2011 at 12:31 PM, Daniel McGrath dmcgr...@rocketsoftware.com wrote: Free as in free beer on the house. Just install and run. There is
Re: [U2] PC based UniBasic program editor for 64 bit OS
Doug, Your scenario may work for the classical programmer who just types in code that somebody else has written on paper all day, but who actually does this these days? Certainly not me! And it is not the number of lines of code you can type in a certain amount of time, it is the quality of the code and even more the logic that counts. So unless your expensive tool can improve that, I wouldn't waste money on it! And your story about CEOs of fortune 1000 companies being interested in the editor you use to write code? You can tell that to somebody who puts on a hat with a hammer but not me. Mecki On 01/09/2011 21:36, Doug Averch wrote: Hi Mecki: Let us say, for example, that you can produce 60 lines of debugged code per hour. You cost the company $60.00 per hour including benefits. So the cost of each line of code is $1.00. You will produce in theory (160/hrs*60) 9600 lines of code per month for a cost of $9600.00. This amazing tool from U2logic comes along and you produce a extra 10 lines of code per hour. You will produce in theory 160/hrs*70) 9670 line of code for the same cost of 9600.00 saving the company $70.00. So the $49.00 you pay U2logic, pays for itself in about a month in this scenario. This math works if you productivity is only increase by one line per hour. You only have to have 49 programming hours in this Eclipse based tool to pay for it, or about a week and two days. We use this tool everyday and so does many U2 programmers throughout the world. We know I'm more productive than I was using any of my former tools: VI, or EMACS, or Notepad, or AE, or ED. If you are not a programmer, then this, or any tool, as limited value. But for the rest of us and our boss, they want us productive and our code clean. After being at Fortune 1000 companies and showing our software applications, we would not dare to show anyone how we have to edit program using the built-in editors in Unidata and Universe. Before we developed our Eclipse based editor, every CIO or CTO or CEO or just middle management asked us all of the time: Is this a DOS tool? Of course not we would answer and not get the sale! Regards, Doug www.u2logic.com/tools.html XLr8Editor for real U2 programmers On Thu, Sep 1, 2011 at 1:28 AM, Mecki Foerthmannmec...@gmx.net wrote: Doug, How does my company save money if they have to buy and pay an annual license fee for an editor? They might as well ban going to the toilet or making and drinking coffee during working hours. I probably could be even more productive if the company would pay ME more and not you. I can understand that it must be frustrating for you having spent a lot of time developing a piece of software that nobody wants to buy. But threatening that we will all loose our jobs and be replaced by 25 year old kids with no clue if we don't convince our boss to buy your tool won't change that. Writing code is time wise the least of my daily tasks. And I guess like me most of us here are analysts first and coders last. Mecki ___ 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] PC based UniBasic program editor for 64 bit OS
Doug, How does my company save money if they have to buy and pay an annual license fee for an editor? They might as well ban going to the toilet or making and drinking coffee during working hours. I probably could be even more productive if the company would pay ME more and not you. I can understand that it must be frustrating for you having spent a lot of time developing a piece of software that nobody wants to buy. But threatening that we will all loose our jobs and be replaced by 25 year old kids with no clue if we don't convince our boss to buy your tool won't change that. Writing code is time wise the least of my daily tasks. And I guess like me most of us here are analysts first and coders last. Mecki On 01/09/2011 02:18, Doug Averch wrote: Eclipse runs as client software. You have plenty of disk space on your workstation. Your workstation CPU is barely registering when you are using any Eclipse based software. If you don't want to use a tool that will save your company money, too bad for you but your boss does. If you are worried about your client machine that cost nothing compared to what an unproductive programmer wastes using antiquated tools, you may not have a job next year. Do you think any twenty-five year old programmer would be caught dead with line editor like AE, ED, VIM, EMACS, Notepad+, or whatever? Regards, Doug www.u2logic.com/tools.html Building tools for the next generation ___ 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] Simple Masking of Password Input (Universe Basic)
When I was a Junior programmer I wrote pretty much the same piece of code. Unfortunately the users hated it! For the sake of displaying something when they typed a password they lost the ability to correct typing mistakes. Because with INPUT,1 the Backspace key doesn't work! So I had to go back to the drawing board and eventually ended up writing a Line Editor ;-). On 17/08/2011 18:15, nschroth wrote: Thanks for all the suggestions. I went with a variation, using ECHO OFF/ON and and specific screen position for the input. Had problems detecting CHAR(13). Learned that INPUT @ screws up things, so utilized the CRT@ for positioning. I'll look into adding backspace handling next. Here is what I ended up with: PROMPT '' INCHAR='X' PASSWD='' CRT @(0,5):'Enter Password: ': ECHO OFF POS=16 LOOP UNTIL INCHAR='' CRT @(POS,5): INPUT INCHAR,1: PASSWD:=INCHAR CRT @(POS,5):'*' POS+=1 REPEAT ECHO ON Israel, John R. wrote: That's actually pretty good! John Israel Senior Programmer/Analyst Dayton Superior Corporation 1125 Byers Road Miamisburg, OH 45342 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mark Eastwood Sent: Tuesday, August 16, 2011 3:43 PM To: U2 Users List Subject: Re: [U2] Simple Masking of Password Input (Universe Basic) Just a quick sample PROMPT '' PW='' ECHO OFF LOOP INPUT X,1: IF X = '' THEN EXIT IF X THEN PRINT '*': PW := X REPEAT ECHO ON PRINT PRINT PW -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of nschroth Sent: Tuesday, August 16, 2011 1:52 PM To: u2-users@listserver.u2ug.org Subject: [U2] Simple Masking of Password Input (Universe Basic) Does anyone have a simple routine for entering a password and only displaying an asterisk for the character entered? -- View this message in context: http://old.nabble.com/Simple-Masking-of-Password-Input-%28Universe-Basic %29-tp32274238p32274238.html Sent from the U2 - Users mailing list archive at Nabble.com. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Why Pick U2 ?
So what are libraries? They are nothing but a collection of subroutines that somebody else has written. And what do you do if you can't find a function in your library that does exactly what you need? You write your own, right? And by the time you have found the right function in your library you could have written the 3 lines of code in Basic that do the same thing already. I write Databasic code every day and have done so for over 20 years and hardly ever have use for functions, because if I needed them I would have written my own library by. Mecki On 14/07/2011 02:25, Rob Sobers wrote: I have to heartily disagree that U2 has a sophisticated business rules engine. U2 Basic is such a limited language. It barely has functions, and you have to home brew almost everything. Microsoft's T-SQL stored procedures are just as horrible to write as U2 Basic programs. As Jeff Atwood put it -- Stored procedures should be considered database assembly language. [1] Why do you think Microsoft now allows you to call CLR code from stored procedures? Because it's so much more efficient to work with the data (i.e., enforce the business rules) in a modern language like C# that has *actual libraries* for doing useful things. I agree that business rules shouldn't be on the client -- but who says they have to be in the database? Look at the ever-so-popular MVC architecture. The models (i.e., the code that works with the database and enforces all of the business rules) are isolated from the views (i.e., the client/presentation code) entirely. -Rob [1]: http://www.codinghorror.com/blog/2004/10/who-needs-stored-procedures-anyways.html On Wed, Jul 13, 2011 at 7:29 PM, Kevin Kingprecisonl...@gmail.com wrote: +1 for what David said. Yes, there's the limitation that BASIC is the only native supported language (not factoring external connectors), but as a language native to the environment, this BASIC is really pretty rich by comparison to the stored procedure languages of other DBs. ___ 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] Why Pick U2 ?
I don't even know what JSON is supposed to be good for, so why would I want to use a web service that emits it? I don't have a need for a JSON parser, so why should I write one? And what if I don't need serialization, compression and PDF generation? Well, I have tools for generating PDFs, but why would I want to serialize or compress U2 data? If I really needed to do things like that I would probably use java, C# or whatever language has been specifically developed for that purpose. But for what I am doing day in day out Databasic does the job best for me. You wouldn't use a hammer to drill a hole, would you? Would you therefore call a hammer inferior to a drill? Of course you may be able to drive a nail into a piece of wood with a drill, but I'd rather use the hammer. Always use the right tool for the job at hand. On 14/07/2011 15:11, Rob Sobers wrote: Yes, and my point is that in the U2/UniBasic ecosystem, those collections of subroutines are not readily available anywhere. What if you want to use a web service that emits JSON? Is it going to take you 3 lines of code and 5 minutes to write a JSON parser? And what about serialization, compression, PDF generation? These things are useful and not trivial to write and maintain. And what language features have been added to UniBasic lately? I can't think of any. No objects, no regular expressions, no lambdas, etc. -Rob On Thu, Jul 14, 2011 at 3:27 AM, Mecki Foerthmannmec...@gmx.net wrote: So what are libraries? They are nothing but a collection of subroutines that somebody else has written. And what do you do if you can't find a function in your library that does exactly what you need? You write your own, right? And by the time you have found the right function in your library you could have written the 3 lines of code in Basic that do the same thing already. I write Databasic code every day and have done so for over 20 years and hardly ever have use for functions, because if I needed them I would have written my own library by. Mecki On 14/07/2011 02:25, Rob Sobers wrote: I have to heartily disagree that U2 has a sophisticated business rules engine. U2 Basic is such a limited language. It barely has functions, and you have to home brew almost everything. Microsoft's T-SQL stored procedures are just as horrible to write as U2 Basic programs. As Jeff Atwood put it -- Stored procedures should be considered database assembly language. [1] Why do you think Microsoft now allows you to call CLR code from stored procedures? Because it's so much more efficient to work with the data (i.e., enforce the business rules) in a modern language like C# that has *actual libraries* for doing useful things. I agree that business rules shouldn't be on the client -- but who says they have to be in the database? Look at the ever-so-popular MVC architecture. The models (i.e., the code that works with the database and enforces all of the business rules) are isolated from the views (i.e., the client/presentation code) entirely. -Rob [1]: http://www.codinghorror.com/**blog/2004/10/who-needs-stored-** procedures-anyways.htmlhttp://www.codinghorror.com/blog/2004/10/who-needs-stored-procedures-anyways.html On Wed, Jul 13, 2011 at 7:29 PM, Kevin Kingprecisonl...@gmail.com wrote: +1 for what David said. Yes, there's the limitation that BASIC is the only native supported language (not factoring external connectors), but as a language native to the environment, this BASIC is really pretty rich by comparison to the stored procedure languages of other DBs. __**_ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/**mailman/listinfo/u2-usershttp://listserver.u2ug.org/mailman/listinfo/u2-users __**_ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/**mailman/listinfo/u2-usershttp://listserver.u2ug.org/mailman/listinfo/u2-users __**_ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/**mailman/listinfo/u2-usershttp://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] Epicor and Eclipse
Colin So I wouldn't be allowed to write a single line of code using U2 or SB+ if I were one of your customers? Because that line of code wouldn't be part of your application and therefore would invalidate my U2 license, right? In that case I would never buy any application software from you. As I see it - I either buy a license for your application and separate ones for the database (U2) and development tools (SB+) or I won't buy from you at all, it's that simple! No wonder MV is struggling! On 08/07/2011 07:06, Colin Alfke wrote: I believe our licences (as a VAR) with Rocket specify that when we sell UniData and SB+ it's part of the application and is only licenced to run the application it's sold with. So it sounds valid, although they may have the option to only sell UD and SB+ support. Colin From: meckif Well, I don't know Eclipse, but the company I currently work for is running Avante from Epicor. When the company wanted to cancel the Avante maintenance agreement Epicor claimed that this would automatically cancel UniData and SB+ support as well. Avante maintenance was a total waste of money since the original software has been heavily modified (and even though the changes were made by Epicor staff fixing their bugs was still chargeable) and by the time I could prove to Epicor that a fault was a genuine bug I had already a fix for it anyway. Of course we have the source code for Avante. To cut a long story short - we now have UD and SB+ support through another VAR and don't deal with Epicor anymore. Mecki ___ 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] Epicor and Eclipse
Tony, Microsoft isn't struggling and they license Sharepoint only for named users and still sell it! My employer doesn't mind to pay a rather moderate license fee for 160 seats every year. But being charged tens of Thousands of Pounds for annual application support and every call still costs £100/hr really pissed them off. It isn't per-seat licensing but greedy software vendors that come up with rip-off schemes like that which give MV a bad name. Mecki On 08/07/2011 17:53, Tony Gravagno wrote: From: Mecki Foerthmann As I see it - I either buy a license for your application and separate ones for the database (U2) and development tools (SB+) or I won't buy from you at all, it's that simple! No wonder MV is struggling! Under the strict terms of U2 licensing, as defined by IBM lawyers, most companies here would be violation of the EULA. Such terms intentionally favor the vendors to allow them to act if licensing is being abused, though I haven't heard of a single instance where the more draconian terms were ever invoked. MV is struggling for many reasons, per-seat licensing a primary culprit, but I don't think anyone has ever not purchased a MV license because they felt the licensing didn't support multiple MV applications on a single system. T ___ 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] Epicor and Eclipse
Well, I don't know Eclipse, but the company I currently work for is running Avante from Epicor. When the company wanted to cancel the Avante maintenance agreement Epicor claimed that this would automatically cancel UniData and SB+ support as well. Avante maintenance was a total waste of money since the original software has been heavily modified (and even though the changes were made by Epicor staff fixing their bugs was still chargeable) and by the time I could prove to Epicor that a fault was a genuine bug I had already a fix for it anyway. Of course we have the source code for Avante. To cut a long story short - we now have UD and SB+ support through another VAR and don't deal with Epicor anymore. Mecki On 07/07/2011 22:27, Tony Gravagno wrote: From: David Have a client who has been on Eclipse since 2000. They are sick to death with the nickle and dime (read eye gouge) tactics by Activant and want out. Do you think Open Bravo or any of the other Open source ERP products could replace it. Obviously with a lot of customization. I'm hoping they consider migration to another MV-based platform rather than doing the multi-whammy : changing DBMS, application, vendors, and employees. There are many fine ERP packages based on MV. The company should check with Rocket Software, and since they're considering a full migration anyway I believe they should also talk with Northgate, InterSystems, and TigerLogic, who all have vendors with large-scale packages. If they don't find what they need, sure, consider going elsewhere. Yes, to answer the questions, FOSS ERP platforms have been getting more robust and are worthy of investigation. I don't have stats right now but not long ago something like 12 out of the top 20 SourceForge projects were ERP - not the typical stuff we see there like torrent client/server, Linux tools, or games. I've said for years that MV-based ERP vendors were going to lose their shirts to those other offerings if they didn't learn to adapt and compete. Well, here we are. Hint to MV application vendors: Open Source your software, sell support and development services, and market that model to the mainstream. That's what your modern competitors are doing. And really, isn't that sort of what you've been doing for decades anyway, just not advertising it? Then you just need to get the DBMS vendors to open their eyes and recognize that the per-seat licensing model has been dead for at least a decade... Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Saying Goodbye... Reasons not to say goodbye.
Doug, Fine, Eclipse may be a full blown IDE, but I still can download it from the net for free and use it without having to pay an annual license fee. Why? Because it is open source perhaps? So where do the 'hundreds of millions of development dollars' come from? Donated by companies like yours? Yeah, right! But that still won't convince my boss to pay for a XLr8Editor license. I don't need 200 copies of every program I'm working on. Why would I want to compare the current version with the one before I wrote a block of code? I don't need a fancy tool to tell me that I hadn't written that particular piece of code half an hour ago. I hardly ever use the copy verb, and with the editor I'm currently using the clipboard or Save as do the job just fine. Version control? - No need for it either. We use PRC and that takes care of that. It works with SB+ paragraphs and dialog, screen, report writer and field definitions too, which I don't think your editor or Windows Team Foundation Server will. Searching for lines of code in BP? Well, FIND is a bit awkward and I don't fancy Unix commands that much, but I seldom have the need for that either. I wish UniData had the ACC-FIND verb I had on ADDS Mentor, though. And since I don't just type UniBasic code all day I can't see how I could save an hour a day just by using another editor. Testing and figuring out what users really want and how to convert that into code are the most time consuming tasks after all. And hey, I'm on salary and the job always gets done - so where is the saving? They could lower my salary because with the new tool I'll be sitting around twiddling my thumbs for an hour each day of course. Don't give them any ideas! but keep trying :-) Mecki On 29/04/2011 01:01, Doug Averch wrote: Hi Mecki: Whenever we get into discussions about editors, everyone mentions this editor they got for free or this editor they are using from one of those other guys or about the one they just cobbled together editor from EMACS, VIM or Notepad, for instance. Eclipse is a full blown IDE. Eclipse has hundreds of millions of development dollars. Would Brian and I love have that much money to create a specific U2 IDE? Well, we don't have that money and no one is offering it to any of us. How does XLr8Editor make me more efficient? Hmm: Local History: In Eclipse every change made is saved in local history. I keep 200 program changes locally for each program. If I'm changing a program and want to go back to my 10:30am revision or look at the changes I made at 10:30am version against my current version with the built in compare editor. I can. Copy and Past: If I want to copy code or data into another directory or file, I never have to go to telnet or use any other tool because I can copy and paste from within Eclipse. I can copy megabytes per second using the U2 UOJ interface locally faster than you can use the COPY command. Search: If I want to search a program file of 7000 programs for a specific line or segment of code using grep syntax. I issue the search on my local drive without impacting the database server and it comes back faster than ESEARCH. I can do other things while it is searching. Eclipse saves all of my search in history so I don't have to do any of them again. Eclipse displays the matching line of code in the search box, so I have to do is click on and Eclipse opens the editor to that very line. Version Control: Eclipse has built in version control. You can even hookup to Microsoft's Team Foundation Server because Microsoft built an Eclipse plug-in. Maybe Microsoft knows something we should know. There are other version control plug-ins for CVS, Subversion, GIT, and Perforce. If you save an hour a week, at the end of year your savings easily justifies the cost if you programmers are making a $1.00 per hour. Really, is free worth it! Regards, Doug www.u2logic.com/tools.html XLr8Editor for the 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] Saying Goodbye... Reasons not to say goodbye.
Doug Do you really believe staff are more productive if they can play around with skins and colours all day? And I still have to see the office where people use smart phones and tabloids instead of PCs. Fine, maybe the top brass wants to see KPIs and fancy graphics on their toys to show off on the golf course? For that we have tools like Cognos 10 etc., but for the people who do the real work these toys would just be a distraction. Give me a big Monitor screen any time! I have been using some of the so called state-of-the art technologies for some time now and they didn't make my work any easier. To the contrary. The screens may look prettier than SB+ 5.2 GUI and they are browser based, but developing with Sharepoint for instance is boring and very time consuming. Add business logic and the whole thing becomes a nightmare. Presentation isn't everything. Mecki On 28/04/2011 00:13, Doug Averch wrote: Hi Ed: You are focusing to much on the technical side. Users really don't care how we programmers do what we do. Presentation is everything. The ability to change colors or skins on your web site. For example, just look at the Firefox 4 or the new Dell Laptop with interchangeable tops. Another example is Android OS for phones went from market share zero to over 30% today. Android OS did that by form and function just as Apple iPhone has in the last 4 years. We have had a portal for 8 years now. We used open source scriptaculous, but it was not attractive. We use a different tool that caught our users eyes. See our home page at www.u2logic.com. Regards, Doug www.u2logic.com ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users