Re: [U2] Rgarding ED editor
On 17/04/14 15:53, Charlie Noah wrote: Aw, George, Doug is always pushing his product. :-) Remember, if all you have is a hammer, everything looks like a nail. I'm not disparaging Doug's product - I've never even seen it - but in 35 years, I've never needed it. BTW, I agree with you 100%. I use the line editor when it's the best tool, and a full screen editor when it's best. I wish I still had the Sheffield Editor. That was the best of both worlds - a full-screen editor, with all the power of the basic ED line editor at your fingertips. By the way, nobody has mentioned ED - you know, the line editor that comes with UniVerse ... (the OP didn't say it was UniData). If you want to know how to use ED, it should be documented in the UniVerse documentation somewhere, look for the ED manual. I think it's a fairly standard editor, but to someone from a DOS/Unix background it will probably feel a bit strange - a weird dialect ... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [OT] Need Lexmark 6150 Multifunction Printer Software
On 29/03/14 23:07, Charlie Noah wrote: Hey folks, I have another somewhat OT need. My wife and I both have Lexmark 6150 multifunction printers. We use both the printing and scanning functions. Copying is internal to the printer, so that still works, and we don't need the fax capability (we have an internet solution for that so long as we can scan documents). I don't even remember what the 5th function is, so we probably don't need it. The problem is that I have moved to Win7 32 bit, and my wife will very soon. Our printers aren't supported by Win7 and there are no drivers available. Mine will print fairly well, but the print jobs won't close. The multifunction software which came with the printers and is needed for the scanner will not work on Win7. These printers work fine, and we hate to just dispose of them, because of the environmental impact (even recycling -it's good to be green), and because we just can't afford to buy new printers. To get the functions we need will cost somewhere between $60-$150 each. $60 is very low-end. We are both disabled and have very minimal income. Does anyone out there know of any software to enable the scanning function, and/or a driver that will make the printer work better? Windows 7 Professional? That has a compatibility mode to run XP software, so it SHOULD run your scanner software okay. If you've got 7 Home, sorry you're out of luck there. I've seen the other post that may work better though. But I would ask why you have two printers? Is it because they are only USB printers? I know you don't have much money to buy a new printer, but we got a Dell 1355 plus four sets of cartridges for about £250. Maybe you can find a similiar deal (it was buy 4 sets of cartridges, get a free printer, and at £20 a laser cartridge, that's cheap!). That said, you can tell the printer's cheap and cheerful, when the cartridges run out we'll probably dump it and buy another one the same way... Look at the spec for this laser ... http://www.ijtdirect.co.uk/?sct=dell1765nfw Especially under scanning features where it says SMB. If you can find an mfp like that it's wireless, so you'll only need one to share. That SMB means you push scans from the scanner to the computer, rather than running a program to pull them. The other thing is, I don't know what you've got around you by way of charities. I'm planning to apply to one of our local charities for £2000 worth of camera gear! If you've got the same sort of thing near you they might well buy you a modern new printer. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] unidata index
On 13/03/14 18:26, Dave Laansma wrote: I do not believe so. I believe an index is only used during the SELECT statement and then only when the indexed field is the only field in the select criteria. I believe this is wrong. It certainly *used* to be true, but after repeated requests I think (it was Ardent at the time) it was made more clever and could select on multiple indexes and merge them. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
[U2] Linux kernel being optimised for database usage
http://lwn.net/Articles/590214/ It's being driven primarily by the PostgreSQL guys, but if you read the article you'll see they want to involve other databases too. A perfect opportunity for Rocket? It'd be nice to have U3 :-) get a bunch of optimisations in for UV/UD/D3 to benefit from. Hopefully we'll get more MV guys than just me chiming in on this, and make them realise there's a big world outside of FNF out there :-) Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Multi-threaded phantom processing
On 07/03/14 06:59, Peter Cheney wrote: Some of the other constraints were: no access allowed to the remote unirpc port, the remote UV is below 10.3 and different from ours, neither site has a UV/Net licence in prod. So I think I'm pretty much stuck with file queuing and multiple phantoms for now at least. Can you mount a remote directory? Because my immediate idea was if the source computer can write to a directory on the target, the target computer can declare it as a type 1 file. And if the source computer also declares it as a type 1, it can dump its records into this directory for the target to pick up. If you're worried about the target trying to read them before they're fully saved, simply put a datestamp in the key, and the target just does a select for all records older than, say, one minute, then processes and deletes them. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] ODBC - Not finding the MV fields.
On 15/02/14 19:05, Chris Austin wrote: I guessing could do all that.. OR have excel refresh the tables when u connect... Maintaining separate tables just for ODBC is silly Some of us learnt the *hard* way that it's a GOOD idea to have separate dictionaries. HyperStar wasn't the most bug-free of programs... And it's all very well if your files (I note you call them tables !!!) are actually pretty clean to start with, but that's rare for an ancient application. If your original dictionary is a mess, far better to start again for ODBC with a clean one. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] ED: The very finest of 1970s technology! was: UniVerse Dictionary question
On 06/02/14 16:33, Doug Averch wrote: George: All you need to do add is the words Back in the day and anyone will know why this a discussion that should be tabled. But are you tabling this in English or American? Is it on the table or under it? Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UV] Programmatic Verification of Globally Cataloged Subroutine
On 30/01/14 22:44, Bruce Decker wrote: I'd be interested to see how ON ERROR could catch a subroutine call failure. And I'd ball-up and toss my stuff in a heartbeat. No pride here... -BD No, on error doesn't catch a subroutine call failure. But it was added to prevent programs bombing if a write failed or similar - basically a feature to trap something going wrong ... Cheers, Wol On 1/30/2014 2:52 PM, Anthonys Lists wrote: On 30/01/2014 18:35, Bruce Decker wrote: Good points. My view is that it is usually not a matter of whether the failure should be catastrophic. It's usually a matter of who should be in in control of the catastrophe. If you call a object that bombs, the caller will never know why because control never returns to the caller. Which is the whole point of the object-oriented programming feature try/catch, or even the ON ERROR statement that has been added to databasic in recent years. 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 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you verify windows printer is good before fatal error by PRINTing to a bogus printer.
On 28/01/14 15:07, Jeff Schasny wrote: SPOOL -LIST will show you all the print queue names Is that all the printer names known to U2, or all the printer names known to the network? In Chuck's example, this particular printer will never have been declared to U2 - I did this all the time. The only printer UV was told about was DEFAULT, which didn't exist ... In fact, I suspect this syntax will list all the printers known to the server on which U2 is running, which could easily NOT include a valid printer the user is trying to print to ... Cheers, Wol Charles Stevenson wrote: SETPTR 0,80,60,3,3,1,AT \\BAD\NAME seems to execute w/o throwing an error. but an actual PRINT statement yields a fatal error: Program PRT: Line 2, Printer name \\BAD\PRINTERNAME is not recognized by the system. I'd like to verify we're printing to a good printer *before* attempting to do so. Execute some DOS command, maybe? ___ 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 you verify windows printer is good before fatal error by PRINTing to a bogus printer.
On 28/01/14 17:10, Jeff Schasny wrote: I was assuming, based on the fact that he is using SETPTR to address which printer he is directing the data to, that he was looking at queues available to the machine since that is what SETPTR does. Correct. Except he was *also* using the URI syntax, ie \\COMPUTER\QUEUE. So if I am working on \\ASHDOWN (the name of my computer) I can use SETPTR to point at \\TIGGER\HP - a printer logically connected to a different computer that I've never told UV anything about. Setptr is quite happy to be given a windows remote computer reference and it works fine. That was how all our printers worked - they usually had network cards in them, so when a new printer turned up, I would assign it a name in DNS, and for anybody who was supposed to use it I would just edit their login script to add eg SETPTR ...,AT \\ACCOUNTS-HP\RAW And it just worked. No UV printer setting up whatsoever. Okay, my setup was a little bit cleverer than that, but everything, and I mean EVERYTHING, was done in my programs. Nothing at the UV level whatsoever. Cheers, Wol Wols Lists wrote: On 28/01/14 15:07, Jeff Schasny wrote: SPOOL -LIST will show you all the print queue names Is that all the printer names known to U2, or all the printer names known to the network? In Chuck's example, this particular printer will never have been declared to U2 - I did this all the time. The only printer UV was told about was DEFAULT, which didn't exist ... In fact, I suspect this syntax will list all the printers known to the server on which U2 is running, which could easily NOT include a valid printer the user is trying to print to ... Cheers, Wol Charles Stevenson wrote: SETPTR 0,80,60,3,3,1,AT \\BAD\NAME seems to execute w/o throwing an error. but an actual PRINT statement yields a fatal error: Program PRT: Line 2, Printer name \\BAD\PRINTERNAME is not recognized by the system. I'd like to verify we're printing to a good printer *before* attempting to do so. Execute some DOS command, maybe? ___ 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 you verify windows printer is good before fatal error by PRINTing to a bogus printer.
On 28/01/14 20:31, Jeff Schasny wrote: I've been using Universe since it was in beta and I had no idea you could use a URI in SETPTR. Its a good day, I've learned something new. Thanks! Just watch out. In today's modern world of GDI printers, sending a raw text dump from UV is often not a good idea. In the old days of dot-matrix, or even PCL that just expected a text stream, it worked fine. It's nowhere near that simple any more :-( Cheers, Wol Wols Lists wrote: So if I am working on \\ASHDOWN (the name of my computer) I can use SETPTR to point at \\TIGGER\HP - a printer logically connected to a different computer that I've never told UV anything about. Setptr is quite happy to be given a windows remote computer reference and it works fine. That was how all our printers worked - they usually had network cards in them, so when a new printer turned up, I would assign it a name in DNS, and for anybody who was supposed to use it I would just edit their login script to add eg SETPTR ...,AT \\ACCOUNTS-HP\RAW And it just worked. No UV printer setting up whatsoever. Okay, my setup was a little bit cleverer than that, but everything, and I mean EVERYTHING, was done in my programs. Nothing at the UV level whatsoever. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UV] Programmatic Verification of Globally Cataloged Subroutine
On 27/01/14 17:48, Wjhonson wrote: You read the GLOBAL.CATDIR file looking for that subroutine name, typically, at least at my site, they are prepended with an asterisk *GET.YEAR And, iirc, you can call a locally catalog'd routine globally by calling it as *ACCOUNT*SUBNAME. This is a different sort of local cataloging than the form that creates a VOC pointer to BP.O - I was never a one for local cataloging so I can't really remember. Cheers, Wol -Original Message- From: Perry Taylor perry.tay...@zirmed.com To: U2-Users List u2-users@listserver.u2ug.org Sent: Mon, Jan 27, 2014 9:06 am Subject: [U2] [UV] Programmatic Verification of Globally Cataloged Subroutine Does anyone know of a good method in UniVerse BASIC to be able to verify if a subroutine is globally cataloged? Thanks. Perry Taylor Senior MV Architect Office (877) 494-7633 ext. 4392 Direct (502) 779-4392 ZirMed 888 West Market Street, Suite 400 Louisville, KY 40202 www.zirmed.comhttp://www.zirmed.com/ CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. ZirMed, Inc. has strict policies regarding the content of e-mail communications, specifically Protected Health Information, any communications containing such material will be returned to the originating party with such advisement noted. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. ___ 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] Time for a Redback upgrade ?
On 22/01/14 19:27, Israel, John R. wrote: I wrote my own program to clean things up every night (GARBAGE.COLLECT2). It run from cron every night and cleans up everything: WWSTATE, SAVEDLISTS, and other files unique to our application. It also archives things as needed. It keeps things running fairly tightly. With regard to SAVEDLISTS, look at the LOGIN and ON.EXIT verbs, along with GET.STACK and SAVE.STACK. In the days of network logins, personal stacks now seem to multiply like tribbles. These will allow you to get back the way it was supposed to be, one stack per person. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Report Generation
On 16/01/14 15:23, charles_shaf...@ntn-bower.com wrote: Ability to automatically distribute reports. I think saving them in a shared area is good enough. Dunno. But if you're on Windows, install blat. Then, Windows or linux, you can have the script that runs them also mail them out. Quite possibly from inside U2 using a list stored in the database :-) Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Logging program execution in Unidata?
On 07/01/14 17:19, Wjhonson wrote: On this R-pointer point, can someone point me to the manual which describes the ability to have a security routine on these? I can't quite figure out where that information is. iirc, if you put a globally catalog'd subroutine in field 4, that will run when the R-pointer is called. You'd need to use @SENTENCE etc I think to get the command name. And there's a way to pass info back because, amongst other things, I know it can tell the command processor to abort the command. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Logging program execution in Unidata?
On 07/01/14 17:20, Wjhonson wrote: I think we've found before, that *if* you ask the system what was the last access date... it's updates the last access date. Because you just accessed it. Wrong? Yes and no. This feature is often (by default?) disabled on linux, as it's a mount option. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Logging program execution in Unidata?
On 07/01/14 00:40, McGowan, Ian wrote: We catalog all our programs - locally (so they end up in CTLG in the current account) for programs specific to a particular account, as well as globally (so there is a pointer in CTLGTB) for generic programs. Unfortunately, unidata seems to have _MAP_ file in $UDTHOME/sys/_MAP_ (as well as a MAP command) but at least for us it's not populated. If _MAP_ is anything like the INFORMATION MAP file (I guess it's the clone...), then it will only have information on globally cataloged programs. That was the intention. Oh - and on PI, iirc, MAP was only populated when you ran the MAKE.MAP.FILE command, so you can't just read it and keep track of executions, you need to rerun the make command every time you want an update. Thanks for the suggestion, Ian Cheers, Wol -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of dale kelley Sent: Monday, January 06, 2014 4:13 PM To: U2 Users List Subject: Re: [U2] Logging program execution in Unidata? Ian, In universe the map file contains the most recent execution date for cataloged programs. Programs that are just RUN I don't know of any way. Dale On 01/06/2014 06:08 PM, McGowan, Ian wrote: We're looking into a major conversion late this year, which will involve checking out several thousand programs (mostly opens, reads or writes). Some programs are run many times a day, whereas some were throwaway and haven't been touched in years. It would be great to get some sense of which ones are active. We unfortunately don't have a wrapper program, wondering if anyone has run into this before - is it possible to somehow log when a program is executed in Unidata? Any magic triggers, directory flags or other audit flags that can get turned on? Any ideas gratefully received, Ian ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Regarding: LISTING SUB-VALUES
On 27/12/13 06:25, Shanmukh Nandha wrote: CUSTOMER FILE contains fields like 1. CUSTOMER.NAME http://customer.name/ (single value) 2. CUSTOMER.SALARY (single value) 3.CUSTOMER.PHONE.NUMBER (multi value) 1. JOHN (Cust name with single value) 2. 70$/hr (Cust salary with single value) 3. 123454ý 655656ý 767787ý 87887 (Cust Ph No with Multi value) General to list specific field we use LIST CUSTOMER F3. How to list 3rd position of 3rd field of CUSTOMER file. Could any one of you can please let me know If you're happy creating a new dict field ... CUSTOMER.PHONE.NUMBER.3 0001: I 0002: CUSTOMER.PHONE.NUMBER3 etc Otherwise, in the LIST command, you can always do EVAL 'CUSTOMER.PHONE.NUMBER3' Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] BASIC code - upper, lower, CamelCase, what say you?
On 22/12/13 22:39, Peter Cheney wrote: My colleague has recently introduced me to the joys of Emacs but am struggling to un-learn vi. http://www.emacswiki.org/emacs/ViperMode I thought I remembered something like this ... Wol (a dinosaur who wishes he still had the Sheffield EDitor :-) ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Tech Alert *TURN YOUR GADGETS OFF* before you get hacked
On 17/12/13 03:12, Allen Elwood RR wrote: no, but i follow all standard practices to avoid infection, and this was my first virus at home had a few at work when someone opened an invoice, that wasn't really an invoice, clicked on the attachment and the entire company was infected in seconds... norton was unable to remove it, so i loaded up microsoft security essentials which deleted the infected backup .dll and automagically downloaded a new one from the net for the system32 directory and the backup to that. *nice* I've already moaned about consultants ... When I first set up networking etc (NT3.5, that dates it! - or even NT 3.1) I put all the apps, networked, on a read-only share on the server. All the departments were write-enabled only for that department (and apart from finance and the directors were globally readable - if you *can* look, most people won't bother. And if they want to look you've got a problem regardless...) So what do our consultants do? They use the server as a workstation, writing their personal information all over the central shared installation! :-( I don't know how effective it would have been at stopping your problem - especially if it was Windows itself which was infected, but that setup should at least make life difficult for malware (PEBKAC idiots excepted! :-( Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [OT] Interview Questions
On 14/12/13 16:48, Dan Fitzgerald wrote: Kevin: I'd take the month (verifying; gigo), then run it through a case statement to determine the number of days in that month (sounds like a handy subroutine to have in the toolbox). Then I'd convert to get the day of the week, another case statement to get the number of days past Thursday, do the math from the last DOM internal date, oconv the result, and grab a cup of dark roast. There are probably more efficient ways, but that's how I'd work it through my head in an interview. This is pretty much the same problem as current week of the year :-) Can't remember off the top of my head, but it's *extremely* easy to make an off by one error - I remember someone copying my Pickwiki code and getting it wrong, introducing the very error I'd fixed. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [OT] Interview Questions
On 14/12/13 18:53, Kevin King wrote: The most challenging date math we've faced recently (a real project) is the ISO 8601 week calculation. Extremely easy to introduce an off-by-one error! THAT'S MY CODE! And how long has it been on Pickwiki? Absolutely ages! How does your solution compare with mine? Six lines of code :-) http://www.pickwiki.com/cgi-bin/wiki.pl?IsoWeekNum I think my code was lifted for this ... http://www.pickwiki.com/cgi-bin/wiki.pl?DateUtility Which had the off by one introduced :-) Cheers, Wol On Sat, Dec 14, 2013 at 11:13 AM, Wols Lists antli...@youngman.org.ukwrote: On 14/12/13 16:48, Dan Fitzgerald wrote: Kevin: I'd take the month (verifying; gigo), then run it through a case statement to determine the number of days in that month (sounds like a handy subroutine to have in the toolbox). Then I'd convert to get the day of the week, another case statement to get the number of days past Thursday, do the math from the last DOM internal date, oconv the result, and grab a cup of dark roast. There are probably more efficient ways, but that's how I'd work it through my head in an interview. This is pretty much the same problem as current week of the year :-) Can't remember off the top of my head, but it's *extremely* easy to make an off by one error - I remember someone copying my Pickwiki code and getting it wrong, introducing the very error I'd fixed. 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 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [OT] Interview Questions
On 14/12/13 19:20, Kevin King wrote: The 8601 week is based on the count of Thursdays but the week starts on the Monday and ends on the following Sunday. I haven't tested this, but is this accounted for in your logic? And what about the situation where Jan 1 (on a Fri, Sat, Sun) is in the 52nd or 53rd week of the prior year? YES IT IS :-) If you read my code, it takes the given date, goes back to the start of the week, then goes forward to the Thursday. It then works out where in its year that Thursday falls. This is guaranteed (if the maths is correct) to give the correct answer. Cheers, Wol On Sat, Dec 14, 2013 at 12:14 PM, Wols Lists antli...@youngman.org.ukwrote: On 14/12/13 18:53, Kevin King wrote: The most challenging date math we've faced recently (a real project) is the ISO 8601 week calculation. Extremely easy to introduce an off-by-one error! THAT'S MY CODE! And how long has it been on Pickwiki? Absolutely ages! How does your solution compare with mine? Six lines of code :-) http://www.pickwiki.com/cgi-bin/wiki.pl?IsoWeekNum I think my code was lifted for this ... http://www.pickwiki.com/cgi-bin/wiki.pl?DateUtility Which had the off by one introduced :-) Cheers, Wol On Sat, Dec 14, 2013 at 11:13 AM, Wols Lists antli...@youngman.org.uk wrote: On 14/12/13 16:48, Dan Fitzgerald wrote: Kevin: I'd take the month (verifying; gigo), then run it through a case statement to determine the number of days in that month (sounds like a handy subroutine to have in the toolbox). Then I'd convert to get the day of the week, another case statement to get the number of days past Thursday, do the math from the last DOM internal date, oconv the result, and grab a cup of dark roast. There are probably more efficient ways, but that's how I'd work it through my head in an interview. This is pretty much the same problem as current week of the year :-) Can't remember off the top of my head, but it's *extremely* easy to make an off by one error - I remember someone copying my Pickwiki code and getting it wrong, introducing the very error I'd fixed. 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 ___ 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] [OT] Interview Questions
On 14/12/13 19:44, Kevin King wrote: I'll have to run this through some testing, as it's definitely simpler than the solution I came up with. Read the notes at the top, explaining the logic. Satisfy yourself that's correct (it is :-), then satisfy yourself that the code actually implements it. What did you come up with? Cheers, Wol On Sat, Dec 14, 2013 at 12:40 PM, Wols Lists antli...@youngman.org.ukwrote: On 14/12/13 19:20, Kevin King wrote: The 8601 week is based on the count of Thursdays but the week starts on the Monday and ends on the following Sunday. I haven't tested this, but is this accounted for in your logic? And what about the situation where Jan 1 (on a Fri, Sat, Sun) is in the 52nd or 53rd week of the prior year? YES IT IS :-) If you read my code, it takes the given date, goes back to the start of the week, then goes forward to the Thursday. It then works out where in its year that Thursday falls. This is guaranteed (if the maths is correct) to give the correct answer. Cheers, Wol On Sat, Dec 14, 2013 at 12:14 PM, Wols Lists antli...@youngman.org.uk wrote: On 14/12/13 18:53, Kevin King wrote: The most challenging date math we've faced recently (a real project) is the ISO 8601 week calculation. Extremely easy to introduce an off-by-one error! THAT'S MY CODE! And how long has it been on Pickwiki? Absolutely ages! How does your solution compare with mine? Six lines of code :-) http://www.pickwiki.com/cgi-bin/wiki.pl?IsoWeekNum I think my code was lifted for this ... http://www.pickwiki.com/cgi-bin/wiki.pl?DateUtility Which had the off by one introduced :-) Cheers, Wol On Sat, Dec 14, 2013 at 11:13 AM, Wols Lists antli...@youngman.org.uk wrote: On 14/12/13 16:48, Dan Fitzgerald wrote: Kevin: I'd take the month (verifying; gigo), then run it through a case statement to determine the number of days in that month (sounds like a handy subroutine to have in the toolbox). Then I'd convert to get the day of the week, another case statement to get the number of days past Thursday, do the math from the last DOM internal date, oconv the result, and grab a cup of dark roast. There are probably more efficient ways, but that's how I'd work it through my head in an interview. This is pretty much the same problem as current week of the year :-) Can't remember off the top of my head, but it's *extremely* easy to make an off by one error - I remember someone copying my Pickwiki code and getting it wrong, introducing the very error I'd fixed. 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 ___ 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] Unidata index/query ?
On 06/12/13 15:08, jeffrey Butera wrote: Unidata 7.3.3 on RedHat: I have a table with numerous indicies built: Since these are data fields (nothing computed on-the-fly) and indexed, queries should be fast.The table has approximately 737,000 records. This query runs in under 1 second: SELECT H08.CR.COURSE.EVALS WITH XCCE.TERM EQ '2013F' However this query takes 10+ seconds (or longer) - even with two indexed fields: SELECT H08.CR.COURSE.EVALS WITH XCCE.TERM EQ '2013F' AND XCCE.TYPE EQ 'FINCRSE' I'm at a loss to explain the second, any insight appreciated. Can't speak for UniData, but on *older* versions of UV, this is what would be expected. UV only used one index, and even if further select fields were indexed it would run a full scan of the records selected by the first index. However, this was fixed in UV quite a long time ago. I'd be surprised if it wasn't fixed in modern UD too, either. If you're just doing a select, then I'd try the following (dunno if it's available in UD, don't know the exact correct syntax for UV) SELECT WITH TERM EQ 2013F TO 1 SELECT WITH TYPE EQ FINCRSE TO 2 SELECT INTERSECT 1 2 TO 0 Does that take 10 seconds? Something's bizarrely wrong if so. The other thing, does SELECT have an explain clause that'll tell you what it's doing? If none of this works, just create an i-descriptor of the two fields concatenated, and select on that. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV and Mount -t CIFS
On 09/10/13 16:59, George Gallen wrote: No, it's not - it's a 0. But...I didn't have it set to 1 on the old server either, and it worked. If I change it.I assume I would need to bring UV down and restart? What I essentially do is I backup the /uv directory on the old system, Did a fresh install of UV on the new server, then overwrite the /uv directory From the old system Are your user numbers the same on the new system as the old - check who owns the files by listing them on the machine the disk is physically in. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [OT] Interview Questions
On 08/10/13 05:28, Doug Chanco wrote: Questions I have been asked (and my favorites) Tell me a solution to get the last day of a given month (pick) I used that as a test question - it was quite revealing ... Another question we used - look for some bad code in one of your own programs. Ask the candidates to work out what it does, and ask could you do better?. The code we found was ten lines that (badly) re-implemented the round() function. ALL the candidates except one tried to rewrite it and made a total hash of it. One person actually spotted what it was trying to do and said you could use the round function. Even more impressive, he commented that he hadn't bothered to work out what it did when fed negative numbers but he mentioned the appropriate options. I think all told we had about four questions and gave candidates an hour. We were quite explicit that that was NOT enough time to do a good job, and we wanted quick and dirty answers, but the number of people who clearly wasted most of their time on question 1 was amazing. If you're going to call people back for a second interview, that's a good approach - give them a few open-ended questions and see how they tackle them. The no-hopers can be dropped and the few who can even read the questions properly can be called back for a further grilling :-) Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] REPLICATING DATA
On 03/09/13 18:33, Ard956 wrote: and we would keep replication in place as a DR solution. What OS are you on? Given that, I'd be inclined to use rsync - DBPAUSE the database to make sure it's quiescent, run an rsync, and then bring the database back. Dunno what the Windows equivalent of rsync is, but if you're backing up across machines, rsync tries to not copy stuff that hasn't changed. Cheers, Wol Sent from my iPad On Sep 3, 2013, at 1:30 PM, Ard956 ard...@optonline.net wrote: We are moving our servers to a new colo and wanted to replicate from the server in the old colo to the one in the new colo and then flip over to the new server one weekend. Looking to have minimal down time. Sent from my iPad On Sep 3, 2013, at 12:26 PM, Baker Hughes baker.hug...@mouser.com wrote: Andrea - are you wanting to replicate for the purposes of having a warm backup as DR solution, or for reporting from, or some (what) other purpose? This question will dictate the strategy and what tools to employ. We copied the entire db every night to a hot system for Business Analysis. That was put in place before EDA was available. You could spend a lot of resources and time cobbling a 'replication solution' into place, while trying to dodge an upgrade... and perhaps spend more and have less satisfactory results than proceeding with standard methodology (upgrade to get the new toolset). HTH. -Baker -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Ard956 Sent: Tuesday, September 03, 2013 11:19 AM To: u2-users@listserver.u2ug.org Subject: [U2] REPLICATING DATA Does anyone do replication with a tool outside of the U2 toolbox? We are on UV 10.2.10 which does not support UV replication. We have no plans to upgrade at this time but need a backup for our Universe server. Our database is about 180GB. Thank you, Andrea Dente Taylored Services ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Select from one file with save-list from another file
On 28/08/13 01:20, Wjhonson wrote: Yes I think you could use an On The Fly statement like the EVAL to do the trans if you can't actually mod the dictionary OOPS!!! I know this is UD, but in UV you couldn't do on the fly like EVAL if you couldn't mod the dictionary. Whether that was a security feature and thus is still true, or it just made temporary changes to the dictionary and may have changed, I don't know. But if UD is the same, if you can't mod the dictionary you can't do an EVAL. Cheers, Wol -- -Original Message- From: Allen Elwood (TW) aelw...@socal.rr.com To: U2 Users List u2-users@listserver.u2ug.org Sent: Tue, Aug 27, 2013 5:13 pm Subject: Re: [U2] Select from one file with save-list from another file forgot to mention, david green knows a way of doing this with some fancy statements, i'm sure he'll chime in when he sees the thread, so don't give up hope yet brandon! On 8/27/2013 5:06 PM, Allen Elwood (TW) wrote: that's basically what my program does on the fly, see fourth gosub GOSUB GET.OPTIONS GOSUB DETERMINE.TEMP.FILESIZE GOSUB LOAD.TEMP.FILE GOSUB CREATE.TEMP.DICT GOSUB BUILD.LIST2 GOSUB FINISH.UP On 8/27/2013 4:03 PM, Wjhonson wrote: It seems to me that the easiest way to create a list of orders where the customers state is Arizona is to first create a translation FROM the Order file INTO the Customer file which will return the customers state and then just select on that new dictionary entry -Original Message- From: Rick Nuckolls r...@lynden.com To: 'U2 Users List' u2-users@listserver.u2ug.org Sent: Tue, Aug 27, 2013 4:01 pm Subject: Re: [U2] Select from one file with save-list from another file Your response supposes that the ORDER.ID IS is in the CUSTOMERS file/table, which is not the criteria of the original problem. The problem presented is a bit difficult to work around in RETRIEVE, and even harder if you are restricted to not programming, as Brandon evidently is. We wrote a utility that will take a preselected list and create a new list based on the values of an alternate key, which would functions as SELECT CUSTOMERS WITH STATE = 'AZ' SELECTINDEX ORDERS CUSTOMER.ID ## use the CUSTOMER.ID index of ORDERS to find those orders related to customers within the list; return a list of ORDERS ids. Alternately, in Brandon's example, it might work to create a translate field from the Y.INFO file to the Y.INFO status field, but that would probably involve a less efficient overall selection, and would not be practical if the data common to the two tables (packet.id), is the primary key to neither, in which case: SELECT X.INFO WITH status = 'ccc' SAVING [UNIQUE] packet.id SELECTINDEX Y.INFO packet.id Sorry that I am unable to send out the code for SELECTINDEX, but, a simple version is straightforward to program using the BASIC SELECTINDEX function. -Rick -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jo Lester Sent: Tuesday, August 27, 2013 2:54 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Select from one file with save-list from another file SELECT CUSTOMERS WITH STATE = 'AZ' SAVING ORDER.ID LIST ORDERS From: r...@lynden.com To: u2-users@listserver.u2ug.org Date: Tue, 27 Aug 2013 14:42:34 -0700 Subject: Re: [U2] Select from one file with save-list from another file I found an old example on line that might get you started SELECT TO SLIST 0 FROM CUSTOMERS WHERE STATE = 'AZ'; SAVE.LIST CUSTOMER.LIST SELECT * FROM ORDERS WHERE CUSTOMER.ID IN (SELECT EVAL at RECORD FROM SAVEDLISTS 'CUSTOMER.LIST'); The extra syntax that might help is SELECT TO SLIST savedlist # FROM ORDERS If CUSTOMER.LIST is your X.INFO and ORDERS is your Y.INFO... Rick -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Hilk, Brandon Sent: Tuesday, August 27, 2013 1:24 PM To: u2-users@listserver.u2ug.org Subject: [U2] Select from one file with save-list from another file Hello! UniVerse 10.1, HP/UX, Pick. Is there a way I can build a save-list from a selection from one file X.INFO (where the record ID is an 8 digit number) and use that list to select from file Y.INFO (where that 8 digit number is not the record ID but does exist as a foreign key elsewhere in the file). In SQL this would be considered a join and would look something like this: select * from X.INFO, Y.INFO where X.INFO.packet.id=Y.INFO.packet.id and X.INFO.status='ccc'; I can run this in TCL and have it return the results I want but can't build a save-list from it because I don't know the UniVerse/SQL syntax to do so. So to summarize, is there a way to use a save-list built from X.INFO to make another save-list comprised of the record ID's from Y.INFO? Thanks for any advice
Re: [U2] [UV] ED PERMISSIONS subroutine
On 15/08/13 16:26, Dianne Ackerman wrote: I'll have to check that, thanks. -Dianne One thing to watch out for (I'm sure it's been discussed (by me) recently, just can't remember where) MAKE SURE YOUR CHANGES TO THE HOSTS FILE STICK! Something to do with Windows protecting itself, but it's difficult to change system files - Windows has a habit of silently reverting changes. What it actually does is save the changes to a special user area, so it modifies that user's experience. Except that if you're trying to change a system config file to modify everybody's experience - like the hosts file - it's just another case of Artificial Stupidity. I've been trying to put my (fixed IP) network printers into the hosts file on my Win7 laptop, and I've just given up ... Cheers, Wol On 8/15/2013 11:04 AM, George Gallen wrote: When we had delays with telnet logins, we traced it back to the reverse DNS That telnetd was doing. If you put the IP addresses of the telnet clients into the hosts file on the UV server Does the delay go away? I believe on windows servers the hosts file is at c:\ but I'm not sure. Format is: IPaddresstabmachinename Ex. 192.168.0.15tabcomputer1 It does not have to be a fully qualified domain name, as if it's in the hosts file, that Usually prevents a reverse DNS lookup. George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dianne Ackerman Sent: Thursday, August 15, 2013 10:59 AM To: U2 Users List Subject: Re: [U2] [UV] ED PERMISSIONS subroutine Yes! Actually, the login does also have the same delay. Sad to hear you didn't find a solution... On 8/15/2013 10:35 AM, mhilb...@ppcsoftware.com wrote: Dianne, Does your login to telnet sessions also have this same delay? We experienced this problem (with ED and with Login); never fixed it. The company was a multinational that managed user priveleges at an international corporate level, so even though we are in Argentina, supoosedly there was some validation going on at a server in the US or elsewhere. The multinational sold local operations to a local company and the problem went away when we left the corportate network. On Thu, 15 Aug 2013 09:25:35 -0500, George Gallen wrote: To me, if it is causing a delay that was not there before - raises red flags and back hairs of read disk errors (or gonna be errors soon). Can you do a disk scan? George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dianne Ackerman Sent: Thursday, August 15, 2013 9:51 AM To: U2-Users@listserver.u2ug.org Subject: [U2] [UV] ED PERMISSIONS subroutine Does anyone know anything about the -PERMISSIONS subroutine used by the ED verb in Universe? Running 11.1.12 on Windows, the ED verb has a huge delay and we've tracked it down to that subroutine call in the basic ED program. If I could look at that subroutine to see what it's doing, maybe I can figure out what's causing that delay. Thanks! -Dianne ED BP ED.B The file BP is read-only and cannot be updated. 3988 lines long. : L PERMISSIONS 0153: PERMISSIONS = '-PERMISSIONS' : L 0308: CALL @PERMISSIONS(EDIT.FILE,EDIT.PERM.MODE,EDIT.PERM.IN,EDIT .PERM.OUT) : EX ___ 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] ED PERMISSIONS subroutine
On 15/08/13 16:04, George Gallen wrote: If you put the IP addresses of the telnet clients into the hosts file on the UV server Does the delay go away? I believe on windows servers the hosts file is at c:\ but I'm not sure. Winders its something like c:\windows\system32\drivers\etc\ I'm not sure but it's certainly deep in the bowels ... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] What is true
On 01/08/13 17:10, Ed Clark wrote: on universe, it looks like only fileinfo(var,0) will let you test. fileinfo(var,1) etc will abort complaining that var isn't a file variable Which is why I think the UV implementation is CRAP! You should not be able to *crash* your program simply by accessing a variable. And if a statement makes - under ALL circumstances - complete logical sense. like IF VAR EQ THEN, it should not be a crapshoot whether your program crashes depending on the content of VAR. INFORMATION got this right - you might not be able to mess about with a file variable inside BASIC, but at least you could do anything you wanted that made sense. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] What is true
On 01/08/13 19:15, Martin Phillips wrote: Hi again, I have been on a site where they insisted that A = B = C should be written as A = B EQ C to emphasise that the second operator is a relational test. A lot of fellow coders have wondered at it, but as someone who learnt coding in FORTRAN, I *always* use EQ, NE, LT, GT etc as my logical operators. Okay, I had to be careful reading other people's code, but if there was a logical = in my code it was a mistake!!! Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] What is true
On 31/07/13 09:06, Martin Phillips wrote: Of course, nothing is ever completely black and white. As multivalue Basic has developed, internal data types have gone beyond simply numbers and strings. If I write IF FVAR THEN ... where FVAR is a file variable, what do I expect this to do? The language definition does not tell us but most multivalue products would give us a data type error of some sort because there is no rule for transforming a file variable to a Boolean value. Actually, UV gives us a program crash (or certainly used to :-( Which was a real bummer when porting programs from INFORMATION, seeing as before the CLOSE statement was introduced, doing FILEVAR= was the *recommended* way to close a file! So a fair chunk of PI code would be of the form IF FILEVAR EQ THEN OPEN FILE. Feed that code into UV and BOOM! If you were unlucky enough to test an open variable your program blew up! Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Origin of the word 'COMO'
On 22/07/13 21:10, Allen Egerton wrote: Primos, then prime information. Primos had command input and command output files. Comi and como. And the nice thing about them was they sat in the OS on the tty line. So if it was active it recorded EVERYTHING. I've noticed - with I think both PI/Open and UV - that they sometimes record a cleaned up version of the character stream. Which is nice on some occasions, but a pain in the neck on others. They upgraded comi files with cpl which was a command processing language that supported variables and decision based branching. Not really an upgrade, just a new programming language which sat at the input processing level, not the character stream level :-) and yes, I made a fair bit of use of both of them :-) I actually loved COMO as a debugging tool because, combined with FORTRAN's TRACE statement I could track exactly what my programs were doing. Debuggers can be okay, but if your error occurs on the 30th iteration of a loop it can be a pain, or if you need to track back a fair way to find where things start to go wrong ... the ability to just have a trace of the entire execution was great. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] CentOS with Universe?
On 17/07/13 15:31, Robert Porter wrote: The only effective difference is that CentOS is that it will always be slightly behind RHEL. This is because it is re-compiled from RHEL sources. Those sources have to be released before work can start. How long? It can be significant... RHEL 6.0 released Nov 10, 2010. CentOS 6.0 release July 10, 2011 - 8 months to the day.This may or may not be a problem for you - just something to be aware of when your trying to decide. Personally, I love CentOS and run it on many machines. Another possibility is Scientific Linux - also an RHEL clone. But do you have any RHEL boxes on which you pay support? Because if you do, what's the problem with adding another? And if you don't why don't you run RHEL anyway? I would let the VAR load RHEL. The only problem with doing that is the terms of RH's support contract - and if you don't have one then that's your lookout. If you take out a support contract the terms are you pay support for ALL your machines running RHEL. You can't install four copies and only pay for two. But there's nothing to stop you installing a hundred copies and paying for none. I know - this Free Software paradigm can be a bit difficult to understand sometimes :-) Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UML mapping tool for MV (UniVerse)
On 16/07/13 01:39, Hona, David wrote: Regardless of the toolset, the first hurdle would be to normalise your database to look like a relational one. Which is likely to be the greatest hurdle. Data dictionaries in U2/PICK are optional are a purely for reporting purposes - they can have duplicates and these can be conflicting. Even worse (as if you thought it could be) - data dictionaries can be incomplete or wrong. This added to the lack of enforcement of data integrity and constraints usually causes these toolsets to fail (indeed, even the UV/ODBC driver fails too!)... so good luck! Rocket released U2 Metadata Manager to assist in this respect and is designed to allow forward and backwards capability. Although, support for this in UV is limited to the latest official release... so your alternative is UV/ODBC... For UV/ODBC users - I have always recommended a separate UV account and data dictionary that is spotless. For some this is the best option - why go against the flow - when you create your own stream... And look on Pickwiki - there are a few tools there meant to clean up dictionaries ready for ODBC export. The problem is when there's loads of data of the wrong type in your field ... :-) What do you do when you need to clean the data file, as well as the dict ... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SORT reports line length, change right margin?
On 15/07/13 17:12, randyleesmith wrote: SETPTR might be worth looking into as long as I can set it back. Investigate using a different channel ... I mentioned it recently but try SETPTR 1,... followed by SORT ... LPTR 1 That way, you don't touch whatever's on the user's default channel 0, and can muck about as much as you like without (in all likelihood) trampling over the settings for something else. I use that as a matter of course when I don't want to accidentally mess up something I don't know about. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SORT reports line length, change right margin?
On 15/07/13 18:15, randyleesmith wrote: You all have given me a lot to work with. Thank you. I forgot to mentioned that the report I'm changing is part of a number of other similar reports. They all need to be together in the same printer spool. They are printed together as one big report. Since I don't know, or remember, much about SETPTR I'm not sure if there is a way to keep everything in the same spooler. Ummm. If it's part of a bunch of reports, then changing the channel might well mess things up. I don't think it will if they're just run sequentially, though. It looks like I need to make CIP and LPI changes too. I'll need to look up all the parameters for SETPTR. I think there are options for holding a print channel open, so you can send several reports, then do a close and they all go to the OS spooler as a single job. I don't think that's what you want here. (off-topic - another useful trick for multiple channels is the summary report - okay you really need a BASIC program for this - but I've had a program print several independent reports, saving some data for each and dumping this to a separate channel, which finally gets closed and printed as a separate report. I've seen programmers print the individual reports, then go back and repeat the calculations to print the summary! That or store the data in some complex data structure ...) Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SORT reports line length, change right margin?
On 15/07/13 18:50, randyleesmith wrote: There is a SP-ASSIGN OHS At the start of the Proc And a SP-ASSIGN At the end. All the report are meant to be held together. In which case (If I remember my SP-ASSIGN correctly) changing this one report to a different print channel most definitely will bugger it up... That code does hold the print channel open, so all the Pick reports get lumped into one single OS level job. Using different channels will give different jobs end of. I really did miss this, even if you don't get the answer you wanted to your question, you sometimes get some great insight to the U2 environment. Knowledge that can be used somewhere else later. Or sometimes you get the How to do it a better,other way. Thanks Wols for the off topic info. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UniVerse LPTR
On 08/07/13 21:19, Bill Brutzman wrote: Thanks to Martin, Phil, and Anthony. The SETPTR and then SETPTR.DEFAULT is the way to go. I am remembering the ugh when the server is reBoots... the settings vanish. Of course, this LPTR command appears in a legacy script. Perhaps I can insert a little SETPTR 0...etc into the script so that we can bypass the server reboot problem. Comments would be appreciated. Do your users mess about at all with their printer settings? Will they get upset if this script starts messing about with their printer? If you want this printout coming out on the same printer regardless of user, I'd do a SETPTR 1... followed by a LPTR 1 Our rule was always the user's default printer is on unit 0, and it's the one closest to their desk. Any other printer or unit was fair game for the programmer as required. Not knowing your setup, my immediate reaction would be is tampering with the printer going to mess up stuff I don't know about, hence my preference for picking any unit OTHER than 0, and messing about with that. Cheers, Wol --Bill -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Martin Phillips Sent: Monday, July 8, 2013 2:57 PM To: 'U2 Users List' Subject: Re: [U2] UniVerse LPTR Hi Bill, It's in the UV account only. It sets the defaults by copying printer 0 settings into shared memory. To use it, do something like SETPTR 0,1,AT LASER SETPTR.DEFAULT The problem with this is that it isn't saved between UV restarts so you may need to set up a paragraph that runs as the machine is booted. Martin Phillips Ladybridge Systems Ltd 17b Coldstream Lane, Hardingstone, Northampton NN4 6DB, England +44 (0)1604-709200 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Brutzman Sent: 08 July 2013 19:47 To: 'U2 Users List' Subject: Re: [U2] UniVerse LPTR SETPTR.DEFAULT not in VOC. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Martin Phillips Sent: Monday, July 8, 2013 2:45 PM To: 'U2 Users List' Subject: Re: [U2] UniVerse LPTR Hi Bill, Take a look at SETPTR.DEFAULT Martin Phillips Ladybridge Systems Ltd 17b Coldstream Lane, Hardingstone, Northampton NN4 6DB, England +44 (0)1604-709200 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bill Brutzman Sent: 08 July 2013 19:36 To: 'U2 Users List' Subject: [U2] UniVerse LPTR Where can I change the default printer? We have an HP-Ux machine. --Bill Brutzman ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] History of Prime Information
On 13/06/13 15:18, David Peters Bluefinity wrote: Hi As long as you don't tell anyone else, as it might show my age, I can add a bit of background. I worked for Prime and was seconded to represent sales to the project in Milton Keynes that delivered PI/open. In fact I was part of the group that decided on the name and still have some of the original marketing collateral in a box somewhere. As far as I can remember due to the implementation Martin outlined the run time code could be moved between Unix systems without recompiling.But I am sure Martin will be able to remember and correct me if I am wrong. That sounds a bit odd to me. Unless you're talking the components that were in BASIC, because Unix systems ran on a lot of different CPUs. But it could well have been just a recompile. Assuming we are talking about a UK VAR in South London for the EXL 7330's etc I was probably involved as well. Small world. Jefferys Systems - I remember them when they were Wootton Jefferys - that'll date me too! But we also dealt directly with Prime. And yes I then moved to VMark as they acquired Prime Information. It took them years to assimilate PI in to Universe, but that's another story!! Yes - I gather they tried to merge the Prime code with UniData, or some other similar PHB story ... Cheers, Wol Regards David Peters Sales Manager BlueFinity International - an Mpower1 Group Company -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wols Lists Sent: 12 June 2013 22:14 To: u2-users@listserver.u2ug.org Subject: Re: [U2] History of Prime Information On 12/06/13 13:36, Martin Phillips wrote: It is interesting to note that just a few weeks before first release the marketing guys decided to change the platform on which it would be launched. If we had gone the assembler route, this would have imposed a huge delay. With C, it took just a few changes to recompile everything. When we got rid of our Prime (2750, iirc), we migrated to PI/Open. We migrated our main system to three EXL7330s, which used a MIPS R3000 processor - the same as in the Sony Playstation 1 I understand! But we also had an EXL300 (if I've got the designation right) which was an Intel box (286 processor?) and also ran PI/Open. So that's two unique architectures right there ... :-) Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] History of Prime Information
On 12/06/13 13:36, Martin Phillips wrote: It is interesting to note that just a few weeks before first release the marketing guys decided to change the platform on which it would be launched. If we had gone the assembler route, this would have imposed a huge delay. With C, it took just a few changes to recompile everything. When we got rid of our Prime (2750, iirc), we migrated to PI/Open. We migrated our main system to three EXL7330s, which used a MIPS R3000 processor - the same as in the Sony Playstation 1 I understand! But we also had an EXL300 (if I've got the designation right) which was an Intel box (286 processor?) and also ran PI/Open. So that's two unique architectures right there ... :-) Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Resurrecting a crashed session
On 12/06/13 15:35, Dan Goble wrote: If you are using unix / linux as your OS then, use the tandem command to attach to the session. At the unix prompt as root type in tandem unidata_session_number Then the esc key F to enter and esc key X to exit Or use the screen command. It sticks a layer between your network session and the command you're running specifically so you can do that sort of thing. I've never really used it so I can't give you any hints but I know that's what it's meant for. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Writing into metadata
On 11/06/13 12:22, Carl Dula wrote: This is not directly in uv, but you could execute a Powershell script on the windows box to do it. Take a look at the following, which should give you some good info. http://blogs.technet.com/b/jamesone/archive/2010/07/05/exploring-the-image-powershell-module.aspx Or again on Windows, I haven't used it but there's always Activestate Perl. I'm sure you could find a Python shell too. Cheers, Wol ___ 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
On 07/06/13 20:49, Mecki Foerthmann wrote: 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! Actually, if it wasn't for cold fusion, then the sun wouldn't shine! As I learnt in one of my uni courses, I can't remember which step in the hydrogen cycle it is, but by all the standard calculations it's impossible. But, by dint of quantum tunneling (aka cold fusion) the impossible happens often enough to power the sun :-) Which is one of the reasons I'm a cold-fusion sceptic, but not an outright disbeliever. I studied the Fleischman-Pons debacle as another one of my uni courses, and I firmly believe that the bad publicity they generated basically destroyed a good avenue of research. Cheers, Wol ___ 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?
On 28/05/13 20:05, Daniel McGrath wrote: You can't 'swap'. What you can do is save it as a new name and delete the old record. If you are doing this on a live system as part of production support (hopefully development isn't been done there), make sure you understand how code is using that file and lock as appropriate, otherwise you might have it double process the same record under different names. This probably isn't something you can do as a regular PreStore. Dunno if it would actually work, or quite how you would do it, but my immediate reaction was ED :-) and a saved command there. You can put loops in, so you select the file, do an ED *, SAVE newname, FD. The problem I can see is how to programatically create newname to save it. Maybe you need to go back to something old-fashioned like PROC! (gasp, shock, horror). Regards, Dan McGrath Managing Director, U2 Servers Lab Rocket Software Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV File doesn't like being sampled?
On 24/05/13 15:57, George Gallen wrote: In thinking about itI'm not sure, but it seems to increase the selection speed (considerably). It is a type 30 file, So possibly the index makes up for a hashing algorithm where the modulo is too small? And the makeup of The @ID causing more similar hashing? A type 30 file typically is very well balanced. Bear in mind that UV files store the key with the data in the group (unless the record is large). So any unindexed select has to scan the entire file. So an index will speed up any select, simply by reducing massively the amount of i/o required. I guess it acts strange with an index on @ID because such an index needs special code, precisely because it's not indexing a data field... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] U2 demos and sample code now on Github
On 21/05/13 19:47, George Gallen wrote: What might be helpful, would be a little help Blurb about what github is, and how to use it? Granted, it didn't take a lot to figure it out. But it was a little confusing at first. In particular, I know github stores git repositories. The command needed to clone the repository onto your local hard drive (assuming you have git installed :-) would be appreciated. Along with a pointer (for windows users especially) of where to download it. Linux users shouldn't need any hints :-) We should all have some form of VCS installed, shouldn't we :-) And imho, even if your company isn't using it, git is a very sensible VCS to use as an individual developer to keep track of your own changes. George Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] U2 demos and sample code now on Github
On 21/05/13 20:02, Wjhonson wrote: http://en.wikipedia.org/wiki/VCS Helpful as usual ... I'm sure pretty much everyone here knows what a VCS is, even if they're not sure how to use any particular one ... or as here any particular repository. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Convert data from UniData to Microsoft SQl server
On 15/05/13 18:43, Kathleené M Hunter wrote: Multiple what by a thousand and round up ? Measure the disk space used by your Unidata account, and convert Kb to Mb. And Dan Ell is only *half* joking. Really. I did an account dump and transfer to SQL-Server, and SQL-Server really did take on the order of one order of magnitude more disk space! Cheers, Wol -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dan Ell Sent: Wednesday, May 15, 2013 9:32 AM To: U2 Users List Subject: Re: [U2] Convert data from UniData to Microsoft SQl server I think you multiply by a thousand and round up -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kathleené M Hunter Sent: Wednesday, May 15, 2013 12:26 PM To: u2-users@listserver.u2ug.org Subject: [U2] Convert data from UniData to Microsoft SQl server Does anyone have a way to calculate the disk space required to move data from a UniData Server to a Microsoft SQL server. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] select query..
On 15/05/13 18:43, Colin Alfke wrote: That's what READLIST and WRITELIST are for. I've found writing the list as MY.LIST000 to be relatively safe, when you read you would have to check for MY.LIST000, then MY.LIST001, etc. Sathya - as Mecki said, if you're using the @ID of the file you can do a straight read to check if it's there. However, the select shouldn't be taking that long. The other little trick you can use (I hope, it's fine in UV) is EXECUTE SELECT FILE.NAME :KEYVALUE However, I agree with the other posters that you probably shouldn't be using SELECT at all. But you can pass a (list of) keys directly to SELECT without having to specify equals or anything like that. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Illegal use of the file, select, cursor, BCI, Socket, HTTP, XML, SCTX , MQS, SOAP or database variable.
On 08/05/13 21:43, Tony Gravagno wrote: [ad] And of course all of these situations are avoidable by using NebulaXLite. http://Nebula-RnD.com/products/xlite.htm [/ad] And of course, all of these situations are UNavoidable when you are just a mere user of the database :-( I'd love to have some input, but I get the impression that criticisms are just shrugged off. It's a classic case of the PHBs trying to impose what should happen structure, when the *volunteers*! on the ground know that things just don't work like that! Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Illegal use of the file, select, cursor, BCI, Socket, HTTP, XML, SCTX , MQS, SOAP or database variable.
On 08/05/13 20:10, Tony Gravagno wrote: I have news for you - they ALL do. Other systems don't store data with trailing zeros because they have no need to store them. It's up to each individual user/application to decide whether to use 1 digit, 2, 4, or none. Data is stored with as few characters as possible, which is part of the reason why we tend to store integer-only in MV. Our system of storing integers with implied 4 digit precision is flawed and archaic, Except that precision isn't decimal place. Don't most apps in the real (pun intended) world use six digit precision? UV has a max of 14, no? iirc INFORMATION had arbitrary precision, but then they did provide specialised microcode to do BCD ... I once got a load of kudos by showing my colleagues how to replace an error-prone case statement with a couple of lines of provably correct code to output figures to four significant places. Proved incredibly useful when they brought in the EMS - who remembers the six-digit fixed exchange rates? But when you're working with currencies, from Pounds Sterling where many prices are in pence, through Italian or Turkish Lire where they are in thousands or millions, to hyper-inflated messes like Zaire where all bets are off ... displaying to four digits can be tricky ... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Manage $ values
On 07/05/13 23:23, Bill Haskett wrote: Dale: Be careful with this if running UniData. Here are some UDT.OPTIONS documentation: UDT.OPTIONS 56 - U_CONV_BADRETURN Normally, if an OCONV or ICONV conversion fails due to invalid data or an invalid conversion code, UniData returns the input string. This is what INFORMATION did. In BASICTYPE P, if you turn on UDT.OPTIONS 56, UniData returns an empty string. ON If this option is on, UniData returns an empty string when an OCONV or ICONV conversion fails. Note: For compatibility with most Pick® systems, turn this option on. This is how - I believe - all systems based on true Pick code behaved. OFF If this option is off, UniData returns the original string when an OCONV or ICONV conversion fails. I've been bitten by this in the past. :-( The option was introduced in UV and UD because the two main codebases (PI and Pick) had these different behaviours. I've got bitten by a similar-but-different behaviour. Dunno how, but I fed a number like 9012 into a date ICONV, and wondered why I got a truly weird result. I think I was trying to convert an internal date for display and got my ICONV and OCONV mixed up ... Bill Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] History of Prime Information
On 29/04/13 19:25, Jerry Banker wrote: Prime Information was originally developed by Devcom I'm not sure what the name was at that time but I do know that Prime Computers bought them out and bought the rights from Pick to develop independently. Prime became a database powerhouse with the product at one time encompassing almost 50% of the database business in the US. From what I heard Vmark was a group of users of Prime Information that decided to go UNIX so they developed UniVerse borrowing much of the expertise from Prime to build a product that would ride on UNIX instead of Primos, Prime's operating system. They even took over some of the offices that Prime had on Speen Street. When Prime went under, don't ask why, at the end of the 80's, early 90's, Vmark bought Prime Information. Actually, I don't think Pr1me bought the right to develop independently. iirc, the group developing GIRLS (Public Domain, btw, as all software developed for the US gov then was) split in two, with Dick forming Pick Systems as one half. The Devcom guys then split off from the other half and were sued (like pretty much everyone else) by Dick. The lawsuit then concluded that the Devcom guys had as much rights as the Pick guys (bear in mind also, that Devcom was a re-implementation, not a derivative). Which is why Pick Systems ended up picking off and taking over all the derivative versions, but not the re-implementations. I wasn't aware of INFORMATION owning a large chunk of the US market, after all, they were up against Oracle and DB2 in their own back yard, but it was Pr1me Australia that licenced PI from Devcom, and they ended up pretty much owning the Aussie market. I didn't think they bought Devcom out - Devcom might have turned into Revelation, but they did buy the (joint) copyright to PI. Again iirc, I think the deal was joint copyright, co-develop, PI on Pr1me and Devcom elsewhere. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] History of Prime Information
On 27/04/13 05:26, Wjhonson wrote: Okay but let's just talk about 1990-1993 How did Computer Vision exactly get its hands on Prime Information ? This happened *before* the final bankruptcy of Prime? Or did somehow Prime sell or spin off Computer Vision with Prime Information as well? iirc they didn't. Computer Vision did a sort of reverse buyout, taking Prime's CAD business with it. INFORMATION was sold to Vmark, and the hardware business was sold to ?Pericom? That might be why Pr1mos has ended up in copyright limbo. There was a White Knight involved in this, so I'm guessing that the breakup and sale was along the lines of PI to Vmark, software to Computer Vision, and hardware and support to this other company. With the result that it wasn't clearly specified who got the copyrights to Pr1mos and now nobody can do much with it because they don't know who actually owns it... Enquiring minds want to know Well, I might not be much good at enlightening, but I was around as a customer when it all happened ... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Unidata and Replication from AIX
On 25/04/13 23:11, Daniel McGrath wrote: Hi Kevin, Yes, you should be able to replicate from AIX to another platform. Please keep in mind that CentOS isn't an officially supported platform. No, you cannot replicate from your current system to a PE edition of the database; you will need to by a second license. Can you still get hot standby licences? They used to cost a quarter of the full price, or what we did was have a full 4-user licence. If we needed the system, we transferred the licence from the broken system (although that might not be so easy with the online validation now). Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] TCL input and response logging (AD)
On 26/04/13 21:00, Allen Egerton wrote: I didn't say vmark acquired prime. I said they acquired prime information. Indeed. We were a Pr1me customer, and were transferred to VMark with the INFORMATION acquisition. The plan was to merge INFORMATION with one of the other products. If memory serves me right (and it doesn't add up so it probably doesn't) they wanted to merge it with Unidata because, of course, it would have made more sense to merge it with Universe. In the end, that didn't happen and it was left to fade away. (Allen - Sent from my paperweight) On Apr 26, 2013, at 3:07 PM, Wjhonson wjhon...@aol.com wrote: That idea doesn't seem right Allen. I can't find any reference to Vmark acquiring Prime, after Prime's bankruptcy. One reference says that the Prime assets all went to ComputerVision, but it's just a blog Anyone have a newspaper article link ? Cheers, Wol ___ 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...
On 26/04/13 20:33, Kevin Le wrote: We have a few applications written in VB that use ODBC to access Unidata... but I find it to be a security risk since ODBC can be used in Access and allow the user to dump entire tables of data with no controls/auditing/logging. Are there any other ways of getting data from Unidata that could be more secure? Look on PickWiki for a bunch of data dump programs. I wrote some, I'm sure there are more. They'll dump stuff in a variety of flat-file formats for you to pick up from the CIFS (or NFS) share that other people have suggested. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] TCL input and response logging such as COMO
On 24/04/13 22:54, Tom Whitmore wrote: Hi, Can you provide more information on what you are trying to capture? (edits, list commands, etc.) I suspect that you may be able to put security on the commands you are concerned with and address the problem with less pain. The problem with using the command stack or a COMO is that they are easily modifiable. You may want to consider using a Unix Tee to capture all output which isn't as easy to turn off. Having said that, I'm not a Unix expert so I can't offer the command string you should use but I'm sure someone will provide it. And if you're supposed to be logging power users, are they the sort of user who will know about the COMO command? It's not stackable, so if they have a genuine reason for wanting to use it (eg programming/debugging), they're going to innocently mess up your logging. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UD - Display Current Terminal Type
On 23/04/13 22:12, Bill Haskett wrote: I've had a brain-freeze and can't remember how to display the current terminal type at ECL. I know it's SYSTEM(7) but what ECL command do I need to display it? TERM doesn't work (although I can set it by entering TERM WYSE60). PTERM doesn't work (it gives me all kinds of other things). Dunno whether it works for UD, but the UV command is GET.TERM.TYPE. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] List..
You don't need to create a dictionary item if it's a one-off ... For a one-off, just put (iirc the syntax correctly) EVAL FIELD(@ID,*,1) as the field name in the list command. You can modify the way it displays with things like the FMT option, there are more ... Mind you, there's a good chance this I-type already exists in the dictionary, if the dictionary was set up properly. Cheers, Wol On 26/03/13 14:48, George Gallen wrote: At least for UV (not sure about Unidata). You would need to do two things. 1. create a DICT item that only displays the first part of the @ID up to the * ED DICT filename NEWID I 001: I 002: FIELD(@ID,*,1) 003: 004: NEWID 005: 10L (max width you want your column to be) 006: S 2. create a new default paragraph field listing DICT item (called @) ED DICT filename @ 001: PH 002: NEWID BY NEWID (Anything you would want after the SELECT FILENAME...) That's it, now when you LIST filename, it will use the new paragraph entry. You can make any combination of paragraph listing entries you want, say you called It NEWLIST2 - you would use it like: LIST filename NEWLIST2 George -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Sathya Sent: Tuesday, March 26, 2013 10:32 AM To: u2-users@listserver.u2ug.org Subject: [U2] List.. Hi all,.. I have a small issue in listing a file. When I use LIST FILENAME, the data comes like 123456*001 123456*001. I would like to display the data as 123456 123456 Can someone please help me in doing this? TIA, Sathya V. ___ 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] History..
On 20/03/13 18:11, Israel, John R. wrote: Type: .L To list the past commands. .Xn To re-execute the nth command. .? For help Also .Rn to pull the nth command back into first (default) place. That's useful if you've got the COMMAND.EDITOR switched on. By the way, n defaults to 1, so .Rn .X will have the same effect as .Xn Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] User cannot login
On 11/03/13 20:59, Holt, Jake wrote: I've tried it in the past, but doing it again made me consider something else and it worked. If I use domain\username it works... Must be something strange with his AD account. I'm sure this is a known problem in Rocket's knowledgebase. And I think you fix it by messing about with the registry. It's probably in the archives of this group somewhere if you can find it ... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Unidata index and short-circuit evaluation
On 08/03/13 21:03, Jeffrey Butera wrote: While I'm on a roll... I often look at how to make queries run faster. In short, we index all the commonly used data fields we can and (of course) it makes world of difference. However, I have some questions about optimal ways to query data using a mix of indexed data, non-indexed data and i-descriptors. Let's say that in a table FOO I want to do SELECT FOO WITH A='foo' AND B='bar' AND C='bang' where: A = indexed data field B = non-index data field C = I-descriptor (assume it's time-consuming: 2 seconds per record) Which is the optimal way to attack? 1) I could just go for it with: SELECT FOO WITH A='foo' AND B='bar' AND C='bang' 2) I could do the following: SELECT FOO WITH A='foo' AND B='bar' SELECT FOO WITH A='foo' AND B='bar' AND C='bang' REQUIRE.SELECT 3) I could do the following: SELECT FOO WITH A='foo' SELECT FOO WITH A='foo' AND B='bar' AND C='bang' REQUIRE.SELECT I've done benchmarks, but really curious about the innards of Unidata and how/when it does short-circuit evaluation of AND clauses, etc. My gut tells me that (3) should be good because it first weeds out bad records based solely on an indexed data field, thereby reducing the number of records that C needs to be evaluated. Conversely, if it's doing a good job with short-circuit evaluation then (3) and (1) shouldn't be terribly different because failure of A='foo' would imply that C never gets evaluated. While I don't know UniData, I'm guessing that it's the same as UniVerse in this sense, and imho the second select of both (2) and (3) is broken (as in, the first select is a waste of time ...) I notice you're using REQUIRE.SELECT. So... SELECT FOO WITH A='foo' ;* will use the index SELECT FOO WITH B='bar' REQUIRE.SELECT ;* will now find the records with A equal to foo and B equal to bar SELECT FOO WITH C='bang' REQUIRE.SELECT ;* now finishes off the select. Whether you want to combine the second two selects as SELECT FOO WITH B='bar' AND C='bang' REQUIRE.SELECT depends on what C does. If, in order to evaluate C, you need to read the contents of FOO, then you should combine the two. If UniData reads @RECORD regardless of whether it's required when evaluating an i-desc, then likewise. If, however, evaluating C can be done without reading @RECORD, then you may be better doing two selects. Whatever happens, there is no point (indeed, it could easily be positively harmful) in repeating an earlier select. The REQUIRE.SELECT keyword guarantees that if the previous select fails to find any records, the subsequent select will also fail rather than starting again from scratch. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Unidata index and short-circuit evaluation
On 08/03/13 22:07, Wjhonson wrote: If your file is small enough, and your system idle enough that the file remains *in memory* for all possible scenarios below, than you may not notice speed issues. However, the monster in the kitchen, is the number of DISK READS you are doing. If your prior reads get cycled out before they are read again, then you should run a single combined select which will do all accesses at the same instant. You missed the fact that the first select is based on an index. That should not go anywhere near the data anyway. So doing it before or at the same time as the other selects is irrelevant. But yes. I based my recommendations on minimizing the number of disk accesses ... Cheers, Wol -Original Message- From: Wols Lists antli...@youngman.org.uk To: u2-users u2-users@listserver.u2ug.org Sent: Fri, Mar 8, 2013 1:17 pm Subject: Re: [U2] Unidata index and short-circuit evaluation On 08/03/13 21:03, Jeffrey Butera wrote: While I'm on a roll... I often look at how to make queries run faster. In short, we index all the commonly used data fields we can and (of course) it makes world of difference. However, I have some questions about optimal ways to query data using a mix of indexed data, non-indexed data and i-descriptors. Let's say that in a table FOO I want to do SELECT FOO WITH A='foo' AND B='bar' AND C='bang' where: A = indexed data field B = non-index data field C = I-descriptor (assume it's time-consuming: 2 seconds per record) Which is the optimal way to attack? 1) I could just go for it with: SELECT FOO WITH A='foo' AND B='bar' AND C='bang' 2) I could do the following: SELECT FOO WITH A='foo' AND B='bar' SELECT FOO WITH A='foo' AND B='bar' AND C='bang' REQUIRE.SELECT 3) I could do the following: SELECT FOO WITH A='foo' SELECT FOO WITH A='foo' AND B='bar' AND C='bang' REQUIRE.SELECT I've done benchmarks, but really curious about the innards of Unidata and how/when it does short-circuit evaluation of AND clauses, etc. My gut tells me that (3) should be good because it first weeds out bad records based solely on an indexed data field, thereby reducing the number of records that C needs to be evaluated. Conversely, if it's doing a good job with short-circuit evaluation then (3) and (1) shouldn't be terribly different because failure of A='foo' would imply that C never gets evaluated. While I don't know UniData, I'm guessing that it's the same as UniVerse in this sense, and imho the second select of both (2) and (3) is broken (as in, the first select is a waste of time ...) I notice you're using REQUIRE.SELECT. So... SELECT FOO WITH A='foo' ;* will use the index SELECT FOO WITH B='bar' REQUIRE.SELECT ;* will now find the records with A equal to foo and B equal to bar SELECT FOO WITH C='bang' REQUIRE.SELECT ;* now finishes off the select. Whether you want to combine the second two selects as SELECT FOO WITH B='bar' AND C='bang' REQUIRE.SELECT depends on what C does. If, in order to evaluate C, you need to read the contents of FOO, then you should combine the two. If UniData reads @RECORD regardless of whether it's required when evaluating an i-desc, then likewise. If, however, evaluating C can be done without reading @RECORD, then you may be better doing two selects. Whatever happens, there is no point (indeed, it could easily be positively harmful) in repeating an earlier select. The REQUIRE.SELECT keyword guarantees that if the previous select fails to find any records, the subsequent select will also fail rather than starting again from scratch. 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 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] VOC Pointer
On 04/03/13 20:36, Israel, John R. wrote: I need to copy PDFs from a Windows server into a UNIX dir (where UniData lives). Can I map a VOC pointer? Can the unix machine see a windows share? You MAY be able to put a network path in field 2 of a voc entry, but by default, if UD recognises a network path it'll probably refuse to access it. And is copying PDFs (binary files) using the UD command line a good idea? Other thoughts? Put samba on the HPUX box, share your HPUX directory, and copy the pdfs from Windows to nix. Or if you need to do it from the nix end, share your Windows directory and use smbmount (probably part of samba, I'm not quite sure what's happened to it) to make the windows share look like a nix directory where you can use nix commands to copy. Running HPUX, UniData 7.2.1. John Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] VOC Pointer
On 04/03/13 21:11, Israel, John R. wrote: I have done things from Window to UNIX with Samba before. As you say, we do it all the time. The issue I have is I need my Unix box to grab the data from Windows and copy it from Windows to Unix. The copy needs to be run from Unix, not Windows. THAT is the problem I am having. Mapping a network drive in Windows will be great from Windows, but will not solve the problem of issuing the command from Unix (unless I am completely missing the point). mount -t cifs //windows/share /mnt/windowsdrive -o user=username -o pass=password This will enable you to copy from the unix box. You'll need to hunt up what you need to install to get the -t cifs option but it should come with samba - man mount.cifs. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] WRITESEQ and input buffer
On 04/03/13 22:08, Cook, Amy wrote: We seem to be running up against a size limitation using WRITESEQ since increasing shared memory parameters on Friday. (SHM_GPAGESZ, SHM_LMINENTS, SHM_LCINENTS) I'm looking at ADMINNT.pdf, trying to determine if EXPBLKSIZE relates specifically to the input buffer that WRITESEQ uses. Please please please DO NOT REPEAT DO NOT hit reply to someone else's mail and change the subject. Start a new email. The reason for this is that any decent email client will track what message replies to what, and your new message will get hidden inside a totally unrelated thread. (a) that can be very annoying (I hate it), and (b) it makes your messages a nightmare to track down if someone wants to find them later. Which could hurt you if they've suddenly thought of an answer for you ... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV full screen editor
On 26/02/13 08:38, Symeon Breen wrote: I seem to remember when we used such things that the costs in the uk where pretty similar. Wintegrate also did some emulations that accuterm did not and we needed those, but the other problem I have with Accuterm is that it is very American (not being rude here) so it has some funny (to us Europeans) way of doing things, and always looks very old fashioned. Each to their own I guess The thing with wIntegrate for us was emulation too - pretty much every emulator we tried failed somewhere. With wIntegrate it was easy to get at the definition files and re-define the client end to match the server - the VT emulation in particular bit us hard. The current official PT emulation is mostly my hard work :-) I doubt they've done anything to it since they replaced the original bare-bones version with mine back in the days of v3. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] UV full screen editor
On 25/02/13 17:48, Daniel McGrath wrote: Unfortunately not baked in to BDT yet. You can always override the BASIC/CATALOG keywords (after copying them to something like stdBASIC, stdCATALOG) with stub programs featuring few lines of logic to call your tool chain unless called in certain situations which should redirect to the std* versions. (like being called from your tool chain or directly from ECL) For those who do change standard keywords, there is a command that will restore them all (UPDATE.ACCOUNT ?). They're all, I think, also in the UV account in the NEWACC file. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Dumping data to file from TCL
On 20/02/13 21:24, Phil Walker wrote: No we aren't and this needs to be an automated script executed by cron or other mechanisms e.g. EXECUTE command CAPTURING output etc. I can create a paragraph do to below if needed. If you're happy using a program written by someone else there are several on PickWiki. They'll dump to csv, or there's a Hollerith one there that takes its column width from the dictionary and dumps in fixed-width format. Take a look and take your pick ... Cheers, Wol -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of William Brutzman Sent: Thursday, 21 February 2013 10:19 a.m. To: U2 Users List Subject: Re: [U2] Dumping data to file from TCL If using Rocket's Dynamic Connect, it is easy to copy and paste green screen data into say Windows NotePad. --Bill On Wed, Feb 20, 2013 at 3:56 PM, Phil Walker p...@gnosys.co.nz wrote: Does Universe now have the ability to dump data to a file using a SELECT or LIST from TCL? I believe Unidata does have this capability.. For example, I can do a SELECT File SAVING IType SAVE.LIST ExportDirectory Datadump.dat But I would rather just say LIST File IType TO ExportDirectory Datadump.dat I know I could use DOWNLOAD or use LIST File Itype TOXML But I don't want to really use xml for this as there are a large number of records and the contents of IType are long and I would prefer not to use DOWNLOAD, or have to write a program if I can help it. Any ideas? ___ 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] : Evaluating DCOUNT
On 12/02/13 19:04, Wjhonson wrote: Correct me if I'm misunderstanding you Tom, but you said that field marks are indexes so the first scan resolves where each field begins. That is not correct, at least not literally. Count or Raising or Lowering or Scanning in general will not create an index to the position of any fields. The Remove maintains *A* (singular) pointer to where it's at, right now, as it moves along. It's not a fully indexed string. There's just a current position pointer. One. The thing here, is Tom said he used for/next, and not remove. Just as remove keeps track of the current position in the string, so does *field* access in a dynamic array! So the original program had to scan the multi-value variable every single time round the loop. SLOW. The revised program, using RAISE, was scanning a multi-*field* variable, and BASIC's internal optimiser kept track of the current field. Effectively increasing the speed to pretty much the same as using REMOVE. Cheers, Wol -Original Message- From: Tom Whitmore tewhitm...@ratex.com To: U2 Users List u2-users@listserver.u2ug.org Sent: Tue, Feb 12, 2013 10:43 am Subject: Re: [U2] : Evaluating DCOUNT 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 fast How 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 REMOVE virtual 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 of array could change within the loop. Personally if the size of array is relatively small, DCOUNT is alright. However I've found REMOVE to be EXTREMELY faster and therefore use it whenever possible, even on small arrays. For example, we have two files, a 'header' and 'detail' file. The keys to the 'detail' file are stored in attribute 200 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
Re: [U2] Record locks (Unidata 7.2)
On 08/02/13 07:30, Tony Gravagno wrote: 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. And even in an office, if you code properly, an unprotected READU can make sense. The proper way to program data entry (if you can) is to read everything, get the info from the user, and then RERUN THE TRANSACTION using locks to stash it safely away. That way, you should never get a program hanging on a lock for more than a second or so (I know I know ...) Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UV] Large File Operations Kill Linux
On 04/02/13 21:05, Dan Fitzgerald wrote: What's the value in /proc/sys/vm/swappiness? How will that make any difference? 2.6.18-348 SOUNDS like an ancient (in linux terms) kernel. Are you on RedHat support? This is a problem with the linux kernel that was addressed recently, iirc. Large amounts of io from a single process can swamp the queue, and the latest kernels have it fixed. If you've got RH support, see if you can find out if that's been backported into your kernel. Cheers, Wol From: perry.tay...@zirmed.com To: u2-users@listserver.u2ug.org Date: Mon, 4 Feb 2013 20:53:13 + Subject: Re: [U2] [UV] Large File Operations Kill Linux We're on RHEL5 (2.6.18-348.el5), ext3 and 132GB ram. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Symeon Breen Sent: Monday, February 04, 2013 9:23 AM To: 'U2 Users List' Subject: Re: [U2] [UV] Large File Operations Kill Linux A few questions - What linux version/distro are you on and what type of file system, and how much ram do you have -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Perry Taylor Sent: 04 February 2013 15:57 To: U2-Users List Subject: [U2] [UV] Large File Operations Kill Linux Looking for some ideas on how to keep Linux from becoming largely unresponsive when creating large files. What happens is as the new file is being created the I/O buffer cache quickly fills up with dirty buffers. Until the kernel can flush these out to disk there is no avail buffers for I/O operations from other processes. . The most troubling manifestation of this is the transaction logging check point daemon gets *way* behind putting us as risk if we were to have a failure of some kind. I have tried using ionice and renice to slow the file creation down as much as possible. This help a little but is still a big problem. Any ideas how to get CREATE.FILE/RESIZE to play nice on Linux? Thanks. Perry Perry Taylor Senior MV Architect ZirMed 888 West Market Street, Suite 400 Louisville, KY 40202 www.zirmed.comhttp://www.zirmed.com/ ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UV] Large File Operations Kill Linux
On 04/02/13 21:34, Perry Taylor wrote: Yes we are on RH support. I'll run it by them and see. Again, this is from memory, but I think somebody noticed that copying a single very large file brought a system to its knees until the copy finished, and the whole thing spiralled from there. Probably about 6 months to a year ago. Chances are I picked up the story from LWN. Thanks. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Searching for 'Bad' Dates
On 29/01/13 23:36, Wjhonson wrote: Just use the NUM function in an I-Descript. Any external format, has to have at least one non-numeric in it. I was thinking that. Just set field 2 to NUM( @RECORD( x)) where x is your field number (provided it's not multi-value of course) and then select for your i-desc is 0 Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Data not seen using LIST.ITEM
On 28/01/13 21:32, Tyler L wrote: Don, Thank you for your reply. That is a nice thing to know. I using that I have since found out that it is my own fault for not reading the code properly and I have resolved the issue. Thank you very much. I know you've solved it :-) but something else that is very useful ... Look in VOC for entries called 1 or F1 etc. I'm not sure how far it goes by default, but I always add extras as I need them. They're default dictionary items so you can at least look at a field. In your case LIST filename F30 would probably fail with F30 not found, but for smaller numbers it would list the field, and if you edited F1, replaced line 2 with the number 30, and saved it as F30 that command would then display the contents of field 30 for you. A useful trick ... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Triggers in Universe
On 28/01/13 23:26, Peter Cheney wrote: Could use the trigger program to call one or more external subroutines based on the trigger action required? I understand that the external subroutines are not cached and can be updated without needing to stop/start the master trigger. Never tried this, but you should be able to break the cache if you so wish ... MYSUB = subroutine name CALL @MYSUB See my other post about the catalog and caching :-) but this will cache the object code in the variable MYSUB. If you reload the variable with the subroutine name EVERY CALL, it should load the object code afresh every time. Never tried it, can't guarantee it, but if you use this sort of code in your trigger program it should work fine without caching. When it's all tested and working, you can change it to CALL *MYSUB or whatever. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Universal COMO
On 23/01/13 23:11, Wjhonson wrote: That's not however to what he is referring. Not a cron job, but rather a way to specify directories to BE temporary. Sort of a flag or something. I've never heard of that before. Implemented by cron, I believe ... But I know yast had it (the SuSE admin tool). You just gave it a list of directories, and how long to keep stuff, and it would clean them out for you. Cheers, Wol -Original Message- From: Dan Ell d...@jbase.com To: U2 Users List u2-users@listserver.u2ug.org Sent: Wed, Jan 23, 2013 1:48 pm Subject: Re: [U2] Universal COMO Ahh. In that case, my guess is directories as temporaries with time-outs means you have certain log directories in *nix that are cleaned up based on date. This is typically done with a cronjob that uses find and simply removes old logs at a preset time (usually in the wee hours of the morning). Here is a find command to purge vsifax outbound faxes over 7 days old. find /usr/vsifax3/faxq/vsifax -mtime +7 -exec rm -rf {} \; I believe that command added to the cron to run everyday at 1am would define /usr/vsifax3/faxq/vsifax as temporary with time-outs. 1 0 * * * /usr/bin/find /usr/vsifax3/faxq/vsifax -mtime +7 -exec rm -rf {} \; #Clears vsifax report files and faxes older than 7 days -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of wjhon...@aol.com Sent: Wednesday, January 23, 2013 3:37 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Universal COMO To be more clear declare certain directories as temporaries with time-outs. -Original Message- From: Dan Ell d...@jbase.com To: U2 Users List u2-users@listserver.u2ug.org Sent: Wed, Jan 23, 2013 11:27 am Subject: Re: [U2] Universal COMO According to Google this has several meanings: Pronoun Used to identify a specific person or thing close at hand or being indicated or experienced: is this your bag?. Adjective Used to identify a specific person or thing close at hand or being indicated or experienced: don't listen to this guy. Adverb To the degree or extent indicated: they can't handle a job this big. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson Sent: Wednesday, January 23, 2013 2:22 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] Universal COMO I don't understand at all what this means. I tried to Google it and I get a million false hits, without a more specific name for which to look -Original Message- From: Wols Lists antli...@youngman.org.uk To: u2-users u2-users@listserver.u2ug.org Sent: Wed, Jan 23, 2013 11:15 am Subject: Re: [U2] Universal COMO On 23/01/13 18:28, Wjhonson wrote: I see a *pro* in this, for the ease of cleaning up old logs from years ago, obviously no longer needed, which can be done from the O/S level. What might be a *con* ? This isn't a pro, in that that is perfectly possible, certainly in *nix. I'm not sure how it's done, but it's pretty standard to declare certain directories as temporaries with time-outs. Just add the COMO directories to that list ... you could probably automate that. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Universal COMO
On 23/01/13 18:28, Wjhonson wrote: I see a *pro* in this, for the ease of cleaning up old logs from years ago, obviously no longer needed, which can be done from the O/S level. What might be a *con* ? This isn't a pro, in that that is perfectly possible, certainly in *nix. I'm not sure how it's done, but it's pretty standard to declare certain directories as temporaries with time-outs. Just add the COMO directories to that list ... you could probably automate that. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Unidata 6.1.13/AIX 5.3 Stops Unexpectedly
On 18/01/13 03:18, Kevin King wrote: Peter, I'm 1200+ miles away from the box. Getting to the console is not an option. To restart, I've been forcing Unidata down with stopud -f and starting it again with startud. Yeah, drastic, I know. But that's why I'm looking for better ways. How do you get to the box to do a stopud/startud? This implies AIX is up and responding. So it shouldn't be too hard to open a remote session at the AIX level to find out what is going wrong. Not that I can advise how to do it ... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UV Retrieve] Selecting file based on partial key
On 15/01/13 07:47, Peter Cheney wrote: Hi Manu, Thankyou very very much for this it worked a treat. Absolutely brilliant! The index was already created so just had to find the right one amongst the others and all was good. The only thing I'd add is that reading the index file directly like that is probably a bad idea ... two ways round it ... Either do a SELECT ... EQ ... which will read the index for you, or if you're in BASIC use the READINDEX statement. Both of them should go straight to the index so (a) it will be fast, and (b) you don't run the danger of corrupting the index by having an accident with the index file. At the end of the day, I'm always happier using official constructs rather than a cheat workaround if they're going to be almost identical. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] External database
On 14/01/13 15:24, asad50089 wrote: Hi, I know U2 is 64 bit. My most of the work in U2-32 bit edition. Please let me know any complications I can face when migrate from 32-bit edition to 64-bit. Do I need to resize all data files and compile code again. Please suggest. U2 is (to the best of my knowledge) NOT 64 bit (software, that is). The problem is, by default, it creates FILES which contain in their structure a 32-bit offset field, so the files can't go above 2Gb because this field gets corrupted. Look up the 64BIT or 64-BIT) keyword. You may be able to just resize your files. Otherwise just do a CREATE.FILE using that keyword, and copy the data across. You shouldn't have any trouble - I don't know when 64-bit files were introduced to UV, but they've been around a while - like distributed files which is the other way round. If you think you're going to have trouble, it'll be a damn sight cheaper paying an expert to come in for a day or two and help you out, than paying for a migration to Oracle! Regards Asad Rauf Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] External database
On 13/01/13 09:02, Phil Walker wrote: Seems rather extreme to go to Oracle just to get around 2GB file limit ;-) Agreed. But if he wants some advice, there's a few things I'd say. First he's better just upgrading to the latest UV :-) Or can he use distributed files? Asad - if you don't know what they are, you break the file into bits, each one of which can be 2Gb ... Oh - and if you're worried about disk space in UV, I think for every two gig of UV data, Oracle will take five or six gig to store it :-) The other thing is, look at Pickwiki. There's loads of useful code there, and the ODBC guide was actually written against 9.6! Cheers, Wol -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of asad50089 Sent: Sunday, 13 January 2013 9:18 p.m. To: u2-users@listserver.u2ug.org Subject: Re: [U2] External database Thanks for reply. Can you guide me by some example to do this task. In fact I have little bit experience of ODBC drivers and their usage. -- View this message in context: http://u2-universe-unidata.1073795.n5.nabble.com/External-database-tp39618p39625.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
Re: [U2] {BDT] Commenting A Block Of Code
On 10/01/13 01:55, Peter Cheney wrote: Hi Bill, In UV's ED use the (start block) and (end block) to define a block of code. Then do C//*/B This will prompt for confirmation of change block from line n through m. Hmmm that's new to me ... What I would have done - let's say I want to comment lines 10 to 20 10 - takes me to line 10 C//*/11 - change the start of line to * for the next 11 lines. That's the way I've always done it ... Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] [UV]Corrupted object in global catalog
On 28/12/12 17:18, Wjhonson wrote: Are you certain that catdir is not an O/S directory? If so, you should be able to tell the Create Date, seperately from the last touched date (read), or the last update date as well. You should have three dates associated with each directory entry, no? That depends pn the O/S (and, in linux at least, on the mount flags too) Cheers, Wol -Original Message- From: bpaige bpa...@serta.com To: u2-users u2-users@listserver.u2ug.org Sent: Fri, Dec 28, 2012 7:32 am Subject: [U2] [UV]Corrupted object in global catalog Greetings, all! We have recently upgraded to the latest version of our vendor's software, and in the process have gone from Pick flavored accounts to Ideal flavored accounts. This has drastically changed the way programs are cataloged, as we are now using the global catalog directory (catdir, aka GLOBAL.CATDIR). We have discovered that some of the object code in the global catalog is corrupted (for lack of a better term). It looks like some of the object code files were somehow truncated. Since we don't discover this until someone notices that a program is behaving oddly, or working differently between the different servers (dev, test, production), and since the date stamp on the file in the catdir directory is the last time someone ran the program (as opposed to the time it was actually cataloged), it is impossible to tell if the object code was 'bad' from the beginning or got corrupted somewhere along the way. At this point, we can just recatalog everything. It would be a royal pain, but it is possible to do. That would ensure everything was all good right now, but doesn't do anything to make sure it stays that way. Does anyone know if there is a command we can ruin or some other way to verify object code in the global catalog? We would much rather monitor this proactively than wait until a user runs into a mysterious issue that we can't explain - or worse, runs something that ends up corrupting data because of a problem with the object code. Of course the ideal would be to figure out what's corrupting the object code to begin with - or to be able to determine if it was somehow corrupted in the initial install and we're just running into the bad pieces now. Without being able to monitor the object code and see when/if it gets corrupted again, though, that's going to be almost impossible. Any assistance would be greatly appreciated! Thanks! Brian ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Unidata DICT size
On 10/12/12 20:32, Israel, John R. wrote: That should not be a problem. Note that with that many elements, you would be STRONGLY advised to write your code with dimensioned arrays, not dynamic ones. Performance will be amazingly faster (assuming you have a bunch of records in the data file). Just be careful. I once wrote an app that had field positions that went into 4 figures ... didn't use all the positions, but - And because the field count was dynamic, I stored the length as a data element. With big warnings everywhere that you MUST get this correct. A colleague then spent a day with my supervisor debugging a program because she got that wrong. Cheers, Wol JRI -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeffrey Butera Sent: Monday, December 10, 2012 3:30 PM To: U2 Users List Subject: [U2] Unidata DICT size So I'm curious how large a dictionary of Data elements (not I-desc) people have used on a single table in Unidata. We have a couple of tables with 200ish data elements in them and I'm facing a project that could see single tables with 400+ data elements. I assume this is no issue assuming the DICT is resized appropriately (like any other table), but curious to here people's input regarding performance and other factors. -- Jeffrey Butera, PhD Associate Director for Applications and Web Services Information Technology Hampshire College 413-559-5556 http://www.hampshire.edu http://www.facebook.com/hampshirecollegeit ___ 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] Another job ad written by people who have no clue
On 09/12/12 17:38, Wjhonson wrote: For a single line. I don't understand how an IF would know, for multiple lines, where it's supposed to end. With a semi colon? Horrible. Computer languages should be written for humans to read, not machines. Why don't you take the OP's advice and learn some Python! I don't know the language but, actually, imho it's pretty obvious how the IF would know :-) Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Advantage of indirect call in BASIC
On 04/12/12 04:57, Israel, John R. wrote: As far as the number of arguments changing, I will often write a subroutine with a few extra variables (FUTURE1, FUTURE2, FUTURE3) so that I do not need to find all the existing programs that call it and recompile them. It makes this sort of thing a piece of cake. The existing programs will likely not need to populate the arguments other than initialized to null. While I didn't know about it way back when, you can actually test a variable for unassigned so if you do that, you can just start your subroutine with if future1 is unassigned then set to null etc. Cheers, Wol John Israel Sent from my iPhone On Dec 3, 2012, at 9:28 PM, Kate Stanton k...@walstan.com wrote: I would hate to see that in our software, as it would be so hard to find where a subroutine is used. On the odd occasion we use this form (eg call depends on transaction type), we do the definition just above, so it can be found. In my experience, the number of parameters is more likely to change that the subroutine name. On 4 December 2012 13:38, Wjhonson wjhon...@aol.com wrote: I've not encountered this is my career previously, but now I'm seeing a system written almost entirely with the use of indirect calls in Universe BASIC. That is SOURCE = *SOME.PROGRAM ... CALL @SOURCE(INPUTS) Is there some advantage to the use of indirect calls that a system would be written entirely in this fashion? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Advantage of indirect call in BASIC
On 04/12/12 00:38, Wjhonson wrote: I've not encountered this is my career previously, but now I'm seeing a system written almost entirely with the use of indirect calls in Universe BASIC. That is SOURCE = *SOME.PROGRAM ... CALL @SOURCE(INPUTS) Is there some advantage to the use of indirect calls that a system would be written entirely in this fashion? I've sometimes done this, can't remember why. BUT. This is *standard* OOP practice. If the guy was used to object orientated programming, then he would expect this, and if he was not using an OOP language (like BASIC), then he would have had to explicitly code it - just like he's done here! Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Advantage of indirect call in BASIC
On 04/12/12 16:06, Jeff Schasny wrote: I'll second Allen Egerton's left over from Prime Information theory. I distinctly remember being told that indirect subroutine calls were measurably faster way back in my days at Prime. From my knowledge of Pr1me architecture (which isn't great) this was one of Pr1me's very strong points - the hardware/software subroutine call architecture was *extremely* fast. So much so that, clocktick for clocktick, it is probably STILL several times faster than the now-ubiquitous x86 architecture. Shame they haven't caught up :-( (I'm thinking particularly here of a ring-jump, but I think it was just blindingly fast regardless - linux goes to great efforts to avoid such jumps, Pr1mos didn't care...) Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Advantage of indirect call in BASIC
On 04/12/12 17:03, Wjhonson wrote: Ring-jump ? Vas is das It's when the processor jumps between restricted user mode, and kernel can do anything mode. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Things you shouldn't do.....
On 30/11/12 16:39, Cypress Support wrote: The PH file is a type 1 file(a directory). On AIX: When you write the record back to the directory, the inode is changed to point the the new disk location of the new file. The old file is still update(output for phantom) until the file is closed, then AIX removes it. I'm sure this is the same on Linux/all UNIX distros, never tested. Spot on. IF UV does a delete then rewrite this is what's happened. Unlike in many other systems, nix treats the directory entry and the file as separate entities rather than different parts of the same. So UV would have deleted the directory entry and created a new file identical to the old one. But the phantom will continue writing to the old file. It will be garbage-collected when the phantom terminates. It is possible to recover it, but don't ask me how. You can ask the system which processes have which files open and it will give you the inodes. You can then relink that file somehow. Off-topic - I make a lot of use of this tactic to save disk space - I store all my digital photos in a secure area, and then link them into my and my wife's home directories so we both see the same file. And because I use hard links, moving the original file doesn't break the links. If you do an ls -al in a directory, one of the columns is the number of links to the inode - do hard linking and you'll see this climb above 1. Just don't hard-link a directory - I gather it can be done, but an rm is likely to make a mess of your files ... James Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] mailserver test
Quasimodo? Cheers, Wol On 18/11/12 16:27, Wjhonson wrote: Who rang that bell! -Original Message- From: Robert Houben robert.hou...@fwic.net To: U2 Users List u2-users@listserver.u2ug.org Sent: Sun, Nov 18, 2012 8:10 am Subject: Re: [U2] mailserver test pong... -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Allen Egerton Sent: November-18-12 3:46 AM To: .U2 List Subject: [U2] mailserver test ping... ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Improving performance
On 10/11/12 19:54, Jeff Butera wrote: In an attempt to improve performance, I've taken to replicating the spouse field in the DONOR record by using an update trigger on PERSON to ensure spouse is updated in DONOR as well. By replicating the spouse in DONOR, I eliminate one TRANS in each field and cut my 64 PERSON reads to 32 reads. That said, I'm looking for other means - this is one place where Pick isn't my friend as we often have reports written out of various tables and need to use 32+ TRANS statements to pull in PERSON demographic info. Any insight appreciated. Don't quote me on this, you'll need someone at Rocket to confirm it, but as far as I know, TRANS *does* cache the records it's read. So if you make multiple references to SPOUSE, unless you trans a different file or record in the interim, multiple consecutive accesses to the same record won't need to make multiple reads. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Multiple UniData Indexes in same select
On 08/11/12 00:47, dennis bartlett wrote: Once again (I'm a fan of these) the answer is to create a file of composite keys (FldA * FldB etc) and index that... The bummer is that the xref file will always be out unless one adds a 'trigger' to each 'to be indexed' file Are you SURE? Itypes can then be created to XLATE the data from the specific files. The index makes + the select quick, + the returned keys are in sequential FldA main sort, FldB nested, + there is a smaller subset of data to do direct reads to the two (or more files). You're assuming that the data is spread across multiple files. It's nicer if you create the files with a set prefix to define that all they are is xref files. The SELECTINDEX can be used. !!! Don't create an IType of the composite and index that... seriously bad idea (or an excellent way to get a continually random, lossy select) Yes, with multiple files. Seriously, I think you're answering the wrong question - iirc the OP wanted UD to combine multiple indexes on ONE file. Something it (and UV) never used to do. If all your data is in one file, and you get the corruption you're describing, I think all us users would be screaming blue murder at Rocket. Cheers, Wol ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Loading a UNIX-based UNIDATA file system on a Windows system...
And to add even further to the mix ... bear in mind my advice is about operating systems not U2, and my knowledge is UV not UD ... Are you SURE it's not needed if the source is Linux? Or do you actually mean Linux/x86? Certainly with UV, the OS is irrelevant, what matters is the endian-ness of the chip, so files can be freely copied between Intel machines regardless of OS. (Mind you, you probably can't get U2 for non-Intel linux :-) And nobody has even mentioned the file-corruption issue the OP asked about ... this is *probably* ftp. Could be samba. Anyways, you need to make sure that however you copy the files, you tell it that it is a binary file. If ftp or samba think it's a text file, it will translate between crlf and lf (and cr on a mac, I believe). Cheers, Wol On 06/11/12 21:03, Wally Terhune wrote: Fnuxi is UniVerse - not UniData. UDTBIN\convdata will convert the byte order of hashed files. If the source machine is Linux, this will not be necessary. You will need to run it - if the source UNIX is AIX, HPUX, Solaris. Convidx will convert UniData indexes. If you need to run programs: convcode Wally Terhune Technical Support Engineer Rocket Software 4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA t: +1 720 475 8055 **e: wterh...@rocketsoftware.com **w: u2.rocketsoftware.com -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny Sent: Tuesday, November 06, 2012 1:49 PM To: U2 Users List Subject: Re: [U2] Loading a UNIX-based UNIDATA file system on a Windows system... After loading the data on the Windows system you will have to run fnuxi (C:\u2\UV\bin\fnuxi) on each file you wish to access. I would suggest you do this as follows: - locate the directory where the Unidata files are loaded - run fnuxi on the VOC and D_VOC - drop into Unidata and create a listing of the files in the directory (LIST ONLY VOC WITH F1 = F) output to the hold file and copy the list from the hold file to the directory containing the Unidata files - using the editor of your choice prefix each line in the file tie c:\u2\UV\bin\fnuxi.exe and save it as a windows .bat file - run the batch file to convert all the files. - edit the batch file and change all the filenames to D_filename - run it again Robert wrote: I have a client that has a client's tape containing the file system from a UNIDATA system running under some form of Unix. They want to load it up on a Windows PC and using the Windows version of UNIDATA, retrieve file data. I have seen in the past that sometimes a file from one OS (like Unix) was not able to be read under a different OS (Windows). This happened once to me with a PKZIP file. There was something slightly different about the file headers or something like that. So the question is, what is the best way to load the data? Is there a conversion utility that you run AFTER you load the data to convert any file header differences? Or are the file headers compatible? Or...? Robert Norman ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] Loading a UNIX-based UNIDATA file system on a Windows system...
Why not tar -cvzf MDB.tgz ACCOUNTNAME which will have the same effect as tar/compress. And depending on the nix system, if it's running samba and on the same net as the NT system, you should just be able to connect in Windows and do a drag-n-drop copy rather than faffing about with tar/compress/ftp. Or if it's a linux system you have the option of mount -t cifs ..., which I do regularly, then you can copy from the linux side to windows. Cheers, Wol On 07/11/12 11:37, Martin Braid wrote: and you want to make sure that the originating UNIX system does not have files named in both upper and lower case e.g. EMPLOYEES and employees. That causes some fun. Correct these on the UNIX side before an attempt is made. There are standard utilities e.g. NT_SCOUT for checking issues prior to conversion (written to _HOLD_) On UniData the simplest method of transferring ACCOUNTNAME from Unix to NT is:- tar -cvf MDB.tar ACCOUNTNAME compress MDB.tar This will then give you a single Unix file MDB.tar.Z which you can then ftp harmlessly. Accessing this file in NT will act as a zip file that can be extracted with folder names enabled. Go to the exploded NT directory and CONVMARK 255/192/129 ACCOUNTNAME CONVDATA -r ACCOUNTNAME CONVCODE ACCOUNTNAME CONVIDX -r ACCOUNTNAME UPDATEVOC -oca ACCOUNTNAME Martin -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wols Lists Sent: 07 November 2012 10:42 To: u2-users@listserver.u2ug.org Subject: Re: [U2] Loading a UNIX-based UNIDATA file system on a Windows system... And to add even further to the mix ... bear in mind my advice is about operating systems not U2, and my knowledge is UV not UD ... Are you SURE it's not needed if the source is Linux? Or do you actually mean Linux/x86? Certainly with UV, the OS is irrelevant, what matters is the endian-ness of the chip, so files can be freely copied between Intel machines regardless of OS. (Mind you, you probably can't get U2 for non-Intel Linux :-) And nobody has even mentioned the file-corruption issue the OP asked about ... this is *probably* ftp. Could be samba. Anyways, you need to make sure that however you copy the files, you tell it that it is a binary file. If ftp or samba think it's a text file, it will translate between crlf and lf (and cr on a mac, I believe). Cheers, Wol On 06/11/12 21:03, Wally Terhune wrote: Fnuxi is UniVerse - not UniData. UDTBIN\convdata will convert the byte order of hashed files. If the source machine is Linux, this will not be necessary. You will need to run it - if the source UNIX is AIX, HPUX, Solaris. Convidx will convert UniData indexes. If you need to run programs: convcode Wally Terhune Technical Support Engineer Rocket Software 4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA t: +1 720 475 8055 **e: wterh...@rocketsoftware.com **w: u2.rocketsoftware.com -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Schasny Sent: Tuesday, November 06, 2012 1:49 PM To: U2 Users List Subject: Re: [U2] Loading a UNIX-based UNIDATA file system on a Windows system... After loading the data on the Windows system you will have to run fnuxi (C:\u2\UV\bin\fnuxi) on each file you wish to access. I would suggest you do this as follows: - locate the directory where the UniData files are loaded - run fnuxi on the VOC and D_VOC - drop into UniData and create a listing of the files in the directory (LIST ONLY VOC WITH F1 = F) output to the hold file and copy the list from the hold file to the directory containing the UniData files - using the editor of your choice prefix each line in the file tie c:\u2\UV\bin\fnuxi.exe and save it as a windows .bat file - run the batch file to convert all the files. - edit the batch file and change all the filenames to D_filename - run it again Robert wrote: I have a client that has a client's tape containing the file system from a UNIDATA system running under some form of Unix. They want to load it up on a Windows PC and using the Windows version of UNIDATA, retrieve file data. I have seen in the past that sometimes a file from one OS (like Unix) was not able to be read under a different OS (Windows). This happened once to me with a PKZIP file. There was something slightly different about the file headers or something like that. So the question is, what is the best way to load the data? Is there a conversion utility that you run AFTER you load the data to convert any file header differences? Or are the file headers compatible? Or...? Robert Norman