Re: [U2] Rgarding ED editor

2014-04-17 Thread Wols Lists
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

2014-03-30 Thread Wols Lists
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

2014-03-14 Thread Wols Lists
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

2014-03-11 Thread Wols Lists
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

2014-03-07 Thread Wols Lists
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.

2014-02-15 Thread Wols Lists
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

2014-02-06 Thread Wols Lists
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

2014-01-30 Thread Wols Lists
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.

2014-01-28 Thread Wols Lists
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.

2014-01-28 Thread Wols Lists
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.

2014-01-28 Thread Wols Lists
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

2014-01-27 Thread Wols Lists
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 ?

2014-01-22 Thread Wols Lists
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

2014-01-16 Thread Wols Lists
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?

2014-01-07 Thread Wols Lists
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?

2014-01-07 Thread Wols Lists
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?

2014-01-06 Thread Wols Lists
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

2013-12-27 Thread Wols Lists
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?

2013-12-23 Thread Wols Lists
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

2013-12-17 Thread Wols Lists
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

2013-12-14 Thread Wols Lists
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

2013-12-14 Thread Wols Lists
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

2013-12-14 Thread Wols Lists
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

2013-12-14 Thread Wols Lists
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 ?

2013-12-06 Thread Wols Lists
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

2013-10-09 Thread Wols Lists
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

2013-10-08 Thread Wols Lists
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

2013-09-03 Thread Wols Lists
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

2013-08-27 Thread Wols Lists
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

2013-08-17 Thread Wols Lists
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

2013-08-15 Thread Wols Lists
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

2013-08-01 Thread Wols Lists
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

2013-08-01 Thread Wols Lists
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

2013-07-31 Thread Wols Lists
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'

2013-07-22 Thread Wols Lists
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?

2013-07-17 Thread Wols Lists
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)

2013-07-16 Thread Wols Lists
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?

2013-07-15 Thread Wols Lists
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?

2013-07-15 Thread Wols Lists
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?

2013-07-15 Thread Wols Lists
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

2013-07-08 Thread Wols Lists
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

2013-06-15 Thread Wols Lists
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

2013-06-12 Thread Wols Lists
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

2013-06-12 Thread Wols Lists
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

2013-06-11 Thread Wols Lists
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

2013-06-07 Thread Wols Lists
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?

2013-05-28 Thread Wols Lists
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?

2013-05-24 Thread Wols Lists
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

2013-05-21 Thread Wols Lists
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

2013-05-21 Thread Wols Lists
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

2013-05-15 Thread Wols Lists
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..

2013-05-15 Thread Wols Lists
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.

2013-05-10 Thread Wols Lists
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.

2013-05-10 Thread Wols Lists
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

2013-05-07 Thread Wols Lists
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

2013-04-30 Thread Wols Lists
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

2013-04-27 Thread Wols Lists
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

2013-04-26 Thread Wols Lists
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)

2013-04-26 Thread Wols Lists
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...

2013-04-26 Thread Wols Lists
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

2013-04-25 Thread Wols Lists
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

2013-04-23 Thread Wols Lists
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..

2013-03-26 Thread Wols Lists
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..

2013-03-22 Thread Wols Lists
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

2013-03-11 Thread Wols Lists
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

2013-03-08 Thread Wols Lists
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

2013-03-08 Thread Wols Lists
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

2013-03-04 Thread Wols Lists
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

2013-03-04 Thread Wols Lists
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

2013-03-04 Thread Wols Lists
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

2013-02-26 Thread Wols Lists
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

2013-02-25 Thread Wols Lists
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

2013-02-20 Thread Wols Lists
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

2013-02-12 Thread Wols Lists
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)

2013-02-08 Thread Wols Lists
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

2013-02-04 Thread Wols Lists
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

2013-02-04 Thread Wols Lists
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

2013-01-30 Thread Wols Lists
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

2013-01-29 Thread Wols Lists
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

2013-01-29 Thread Wols Lists
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

2013-01-24 Thread Wols Lists
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

2013-01-23 Thread Wols Lists
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

2013-01-18 Thread Wols Lists
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

2013-01-15 Thread Wols Lists
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

2013-01-14 Thread Wols Lists
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

2013-01-13 Thread Wols Lists
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

2013-01-10 Thread Wols Lists
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

2012-12-28 Thread Wols Lists
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

2012-12-10 Thread Wols Lists
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

2012-12-09 Thread Wols Lists
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

2012-12-04 Thread Wols Lists
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

2012-12-04 Thread Wols Lists
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

2012-12-04 Thread Wols Lists
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

2012-12-04 Thread Wols Lists
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.....

2012-11-30 Thread Wols Lists
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

2012-11-18 Thread Wols Lists
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

2012-11-11 Thread Wols Lists
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

2012-11-08 Thread Wols Lists
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...

2012-11-07 Thread Wols Lists
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...

2012-11-07 Thread Wols Lists
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

  1   2   3   4   >