RE: [U2] fixtool

2008-08-04 Thread Stevenson, Charles
  I read somewhere that all it does is fix the broken link (fixing
the 
  file but losing the data that the broken link pointed to).
 
 This may be all that can be done. A backward link error often means
that
 two groups apparently own the same overflow block. The data of one
will
 have overwritten the other. There is no way that any recovery tool
could
 ever get back the lost data.

Yes, data truncated.  
Fix, as in when you get your dog fixed: snip, snip.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[UV] printer memory segment. was: [U2] Available printer memory exceeded

2008-08-04 Thread Stevenson, Charles
Does anyone know the history of that printer memory segment
nomenclature?

 It seems that all memory errors are printer memory errors on Universe.
 Jerry

That's true.  Generally doesn't have much to do with printers,  but a UV
process's private memory.   

Examples:
See POST.STATUS's 3rd column for phantoms.
unix icps -map | grep 0xaceb.
See smat -p (aka ANALYZE.SHM -p)
Look up printer memory segment in UV docs.


Undoubtedly, there was a reason for calling it that way back when.
Was it originally only a spot where printer output was buffered?

Sounds like a question for David Meeks or Glen Herbert, answer to be
archived by historian Dawn Wolthuis.

cds
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Available printer memory exceeded

2008-08-04 Thread Stevenson, Charles
Jerry,

1. 1st thing I'd do is look in the recent changes for a construct
functionally something like this:

   X cleared   (wrong place for X to be initialized.)
   Start-outer-loop
* X should be cleared here, but isn't.
  Start-inner-loop
 X:= [stuff](X grows)
  end-inner-loop
   End-inner-loop

You say it runs fine by itself, but not in it's rightful setting, so
maybe the var is in common and persists through multiple executions w/o
proper reinitialization.  


2.  I recently had a memory leak where executions got slower  slower,
until the uv process aborted.  Different error message from yours.
Unix's ps -l  was interesting. Size column showed it growing.  It
turned out ULIMIT config param was set too high. Joel Yates @ IBM had me
reset it to the default.  Hadn't been an issue until we changed from
HP-Risc/HPUX11.11/UV10.1.16  to HP-itanium/HPUX11.23/UV10.2.6.
Thank-you, Joel.

cds

-Original Message-
Last night during our month end batch process it aborted the proc when
we got Available printer memory exceeded during one of the programs. I
ran the program this morning and it ran without getting the error, same
program, same data files. Can anyone tell me where I could look to keep
it from doing this? It has always run without problems in the past, it
only runs at month end, but there were some minor changes made to the
program that shouldn't have caused any problems and don't when run by
itself.


Jerry Banker
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Re: Going to U2 University 2008?

2008-07-17 Thread Stevenson, Charles
One of Janet Oswald's email ad broadcasts for U2U indicated that there
would be pre-conference chargeable tutorials the day before each of
the 4 editions of the conference.  The list of tutorials and their
charges are not yet on the web-site, but she tells me they should be
there tomorrow.  These tutorials have been worthwhile in years past.
I'm holding off on registering for San Diego until I can see those.

I think the regional conference idea is a good one.  I attended the San
Francisco one  2 prior pan-IBM ones, as well as others off and on
dating back to Infocus/VMark days.

Pluses:
+ Cheaper.
+ Shorter.  2 nights lodging only.
+ More targeted. (That 2006 Anaheim Information on Demand event for
all IBM software users was ghastly.  Sure, we got to see Gladys Knight
and the Pips and got in free one night to part of Disneyland where the
music blared that you couldn't network (the primary purpose for the
social events), provided you could even find any fellow U2 users amid
the AIX, Tivoli, DB2, etc. users, almost half of whom seemed to be IBM
employees.)
+ If you attend the later venues, the presenters have honed their show a
bit.
+ The audience seemed a bit more technical last year.  I'm guessing the
lower price  shorter time span allowed companies to send technical
people other than the mucky-mucks who see these conferences like
junkets.
+ More content, less junket.

Minuses:
- You don't see some users from other parts of the world.  I miss that.
- Almost all sessions are presented by IBM staff, since not many
independent presenters want to commit to 4 such events.  I have always
appreciated the presentations by users  independent consultant groups,
myself, so I miss that.
- More content, less junket. (Some people will see that as a minus,
anyway.)

cds

P.S. Pardon me if some of this has already been discussed.  I've been
unsubscribed for a month long vacation.


-Original Message-
From: Louie Bergsagel
Ah, found the U2 University session abstracts:
http://www-306.ibm.com/software/info/u2/university/index3.jsp
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Printer errors in the error log

2008-05-24 Thread Stevenson, Charles
From: [EMAIL PROTECTED]
 We're logging many errors in the UV error log that say
  Too many PRINTER channels open.
 I know the channel numbers themselves are limited to 0-255,
 but I didn't know there was a limit on how many could be
 open at one time.  What is the limit?
 Is there a configuration parameter somewhere that I'm missing?

I vaguely remember encountering this about 10 years ago in a Sequoia/UV
conversion.
I think there is/was a limit of 14 or so that can be open at one time.
I don't think there is/was a config param work around.

If you do:
   SETPTR n,...
   SETPTR n+1,...
   SETPTR n+2,...
   Etc.
I think you'll find that error message once you hit about n+14.

I don't recall how to explicitly close a particular channel so you can
open another.  Anyone?

In our case, I think we didn't need to actually print to more than 14
printers at once.  We converted the pick code so that a program would
call a utility subroutine to map the particular printers it needed onto
one of the channels 0-14.

If you have to print to more than 14 at once, probably writeseq to files
 spool later.
If you have to print to more than 14 at once, may the Lord's mercy be
upon you.
Or Clif Oliver's.  I think he sells a print environment handler designed
to make up for UniVerse's inadequacies.

Chuck S
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] version control

2008-04-28 Thread Stevenson, Charles
From: Brian Leach
 ...The key was to appoint someone who was responsible for it. 
 If it is anything more than trivial, it needs someone charged
 to administer it,

Conan the Librarian

 not just left to the whims of developers!...

Which brings us to the 2nd key: Build in perks for the developers for
using version control.  It shouldn't be another layer of management that
slows them down.  Properly implemented, it should be a programmer
productivity tool.

The more that it helps them be able to compare versions, track what
change happened when  by whom, lump  segregate work, coordinate
activity between programmers, do status reporting . . .,  the more it
directly helps programmers do those tasks, the more enthusiastic they
will be,  the less likely to circumvent or resent enforcement.

I recall implementing it one time where the practice had been to never
delete old code, just comment it out and surround changes with date and
project numbers comment lines.   It got so that a source file had more
commented out stuff than actual compilable code.  Very difficult to
read.   When we implemented version control,  I suggested that this
practice was no longer necessary because they could easily reconstruct
pretty pictures of change history.  They insisted on doing it the old
way, too.  Several months later the staff violently revolted against
their own conservatism and wanted a special internal project just to
clean out all that old stuff because version control was so good to
them.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Guaranteed unique sequential keys

2008-04-24 Thread Stevenson, Charles
That's very good, but DICT NEXT.AVAILABLE sure is ugly. It means you
can't make a dictionary read-only.  Dictionaries should be under source
control. And a data file can have multiple dictionaries.
A better answer would be to embed the next-id in the file header.
Then give a utility to edit it similar to how SET.INDEX can edit the
file header's path to it's index dir.
 
If one were to set up an SQL table like that,  what would you consider a
good UV/Basic coding practice for writing to it?  Explicit, low-level
readu  increment of the next id record?

-Original Message-
From: Ray Wurlod

Here is a UniVerse/SQL answer.

Create the primary key with a default value of NEXT AVAILABLE.

CREATE TABLE MyTable (
   MyKey INTEGER NOT NULL PRIMARY KEY DEFAULT NEXT AVAILABLE,
   Column1 VARCHAR,
   Column2 VARCHAR,
   Column3 VARCHAR NOT NULL MULTIVALUED,
   Column4 VARCHAR MULTIVALUED,
   ASSOCIATION MyASSOC(Column3 KEY, Column4) );

Whenever you insert a row without supplying a key value, the next
available key value will be used.

This uses the same mechanism as REVISE, namely an item called
NEXT.AVAILABLE in the file dictionary.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


FW: [U2] UV: LOOP;EXECUTE cmd CAPTURING X; REPEAT fatal memory fault.

2008-04-02 Thread Stevenson, Charles
Resolved, thanks to Joel Yates at IBM for nailing this for me.

My uvconfig ULIMIT parameter was way way too big.
The default is 128000, ours was 800.
I changed it to 128000 and the memory leak got plugged.

It's one of those things where it was set big when I took over and
didn't seem broke so I didn't fix.
Except the HP-Itanium / HPUX 11.23 / UV 10.2.6 combo apparently didn't
agree.

I can't say I completely understand this.  
Or even why there is a UV config parameter for ULIMIT.  
Or why it matters on EXECUTE...CAPTURING...

Thank-you everyone who took a look on their system.
Especially Richard Lewis, who is soon hopping down the same Itanium
bunny path.

cds
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV: LOOP;EXECUTE cmd CAPTURING X; REPEAT fatal memory fault.

2008-03-19 Thread Stevenson, Charles
I hear IBM was finally able to reproduce my problem.  I don't know any
other details yet.
After I learn more, maybe I'll come back at you, Richard, and ask to
compare our 2 systems's configurations.
Thanks,
cds

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of rbl000
Sent: Wednesday, March 19, 2008 11:28 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] UV: LOOP;EXECUTE cmd CAPTURING X; REPEAT fatal memory
fault.

Charles,

One of the guys in our shop tested this on one of our machines (HP
Itanium, HPUX 11.23, UV 10.2.6) and couln't see any problem.

He ran this code for 3,572,053 iterations with no increase in memory
(not even a byte):

0001: CNT = 0
0002: LOOP
0003:   CNT +=1
0004:   CRT OCONV(CNT, MR0,)
0005:   EXECUTE TIME CAPTURING TIME.GOO
0006: UNTIL @FALSE DO
0007: REPEAT

He the following code 288,448 times with no increase in memory:

0001: CNT = 0
0002: LOOP
0003:   CNT +=1
0004:   CRT OCONV(CNT, MR0,)
0005:   EXECUTE * anything CAPTURING TIME.GOO
0006: REPEAT

Best Regards,

Richard Lewis
Nu Skin Enterprises


 --- On Mon 03/17, Stevenson, Charles  [EMAIL PROTECTED]
 wrote:

This is on HP Itanium, HPUX11.23, UV10.2.6 Anticipating some of your
questions:

* My simple case fails at about
1/4 million iterations to fail on my smaller dev system,
1 million on the 2 larger production system.

* The memory leak applies to the session, not the program.
If I limit the number of iterations in the program, but repeatedly
execute it from TCL, eventually it fails.
This fails just the same:

VOC M.LOOP
O1 PA
02 LOOP
03 EXECUTE RUN CDS.BP M
04 SH -cps -lp $$PID
05 REPEAT
where M is limited to 100,000:
CDS.BP M
01 FOR I = 1 TO 10
02 EXECUTE * comment CAPTURING X
03 REPEAT


Thank-you in advance,

Charles Stevenson
Getronics
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


___
No banners. No pop-ups. No kidding.
Make My Way  your home on the Web - http://www.myway.com
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV: LOOP;EXECUTE cmd CAPTURING X; REPEAT fatal memory fault.

2008-03-19 Thread Stevenson, Charles
From: Ray Wurlod
 Just out of curiosity, because EXECUTE is (may be) handled
 differently, what is the account flavor in each case?  
 And have you set any compiler options such as EXEC.EQ.PERFORM ?

Primarilly tested in Pick-flavoured account, but IDEAL, too.

I've tried 
   $OPTIONS EXEC.EQ.PERFORM
   $OPTIONS PIOPEN.EXECUTE
   $OPTIONS DEFAULT
   $OPTIONS PIOPEN
All have the same result.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/



RE: [U2] UV: LOOP;EXECUTE cmd CAPTURING X; REPEAT fatal memory fault.

2008-03-18 Thread Stevenson, Charles
I would love it if someone else using Itanium would tell me if they
do/don't see this.

My guess is similar to Tony's.
The child process does disappear after the execute.

Here's a snippet from where I monitored one of my problem processes (pid
5783) by looping 1x/sec:
date; ps -flu cds33896|grep -v pts/| grep -e 5783
You can see the child caught at various stages of execution.
Notice that the SZ column for the parent grows.
Notice that the parent's memory is duplicated(?) for the child.
I edited out a few columns to make it easy to read in an email:


  F S  UID   PID PPID SZSTIME   TIME COMD

Sun Mar 16 22:18:37 EDT 2008
401 S cds33896  57831 253057   Mar 15 688:35 phantom RUN BP MF
401 R cds33896 26712 5783 251568 22:18:37   0:00 phantom RUN BP MF

Sun Mar 16 22:18:38 EDT 2008
401 S cds33896  57831 253057   Mar 15 688:35 phantom RUN BP MF
401 R cds33896 26990 5783116 22:18:38   0:00 SH -c # comment

Sun Mar 16 22:18:40 EDT 2008
401 R cds33896  57831 253061   Mar 15 688:36 phantom RUN BP MF

Sun Mar 16 22:18:41 EDT 2008
401 S cds33896  57831 253061   Mar 15 688:36 phantom RUN BP MF
401 R cds33896 27484 5783 251572 22:18:41   0:00 phantom RUN BP MF
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] UV: LOOP;EXECUTE cmd CAPTURING X; REPEAT fatal memory fault.

2008-03-17 Thread Stevenson, Charles
IBM can't reproduce this.  I'm hoping someone else can.
That didn't come out right.  I don't really want to you have this
problem.  That would be mean.  I just hope this august body can help.

Simplest case:

   CDS.BP M
   01 LOOP
   02   EXECUTE '* anything' CAPTURING X
   03 REPEAT

   RUN CDS.BP M
   Memory fault(coredump)
   3046$ls -l core
   -rw---   1 cds33896   tech   279499648 Mar 17 17:11 core


This is on HP Itanium, HPUX11.23, UV10.2.6
Anticipating some of your questions:

* If I get rid of CAPTURING X it works fine.

* PERFORM works fine.

* It doesn't matter what the command executed is.  
  I executed a comment ('* anything')above, because what is more benign?

* ps -l shows memory increasing (SZ column) as the process executes.
  (Monitoring it from a 2nd session.)

* EXECUTE SH -c'[any unix command]' CAPTURING X
  gets slower  slower each iteration.
  ( Because ever increasing memory is duplicated for child process? )

* Other flavours of the CAPTURING syntax are the same:
EXECUTE cmd CAPTURING X
EXECUTE cmd,OUTX
EXECUTE cmd,/OUT.X
  They compile identically.

* Behaviour is the same in IDEAL-  PICK-flavoured accounts.

* It doesn't matter if I null out X.
 X = ''
 EXECUTE cmd CAPTURING X

* It doesn't matter if I assign X to an unassigned variable.
 X = Y  ;* (where Y has deliberately never been assigned.)
 EXECUTE cmd CAPTURING X

* My simple case fails at about 
1/4 million iterations to fail on my smaller dev system, 
1 million on the 2 larger production system.

* The memory leak applies to the session, not the program.
  If I limit the number of iterations in the program, 
  but repeatedly execute it from TCL, eventually it fails.
  This fails just the same:

 VOC M.LOOP
 O1 PA
 02 LOOP
 03EXECUTE RUN CDS.BP M
 04SH -cps -lp $$PID
 05 REPEAT
  where M is limited to 100,000:   
 CDS.BP M
 01 FOR I = 1 TO 10
 02EXECUTE * comment CAPTURING X
 03 REPEAT

* My old HP PA/risc, HPUX 11.11i, UV 10.0.16 system works fine.


Thank-you in advance,

Charles Stevenson
Getronics
Costa Mesa, CA
714-641-5943 desk
714-396-2771 cell
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] RE: UV: LOOP;EXECUTE cmd CAPTURING X; REPEAT fatal memory fault.

2008-03-17 Thread Stevenson, Charles
I said  $$PID.   2 dollars, 1 pee.
I meant $PPID.   1 dollar, 2 pees. (Still pricey for a public biffy.)

$PPID is the variable containing the Parent Process's process ID.
So  SH -c 'ps -lp $PPID'
gives ps info on the UV parent process issuing the command.

Sorry about that.
cds

-Original Message-
[snip]
 VOC M.LOOP
 O1 PA
 02 LOOP
 03EXECUTE RUN CDS.BP M
 04SH -cps -lp $PPID   --- corrected from $$PID
 05 REPEAT
  where M is limited to 100,000:   
 CDS.BP M
 01 FOR I = 1 TO 10
 02EXECUTE * comment CAPTURING X
 03 REPEAT

[snip]
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV: LOOP;EXECUTE cmd CAPTURING X; REPEAT fatal memory fault.

2008-03-17 Thread Stevenson, Charles
From:  Ken Hall
 Maybe, just maybe, the loop is executing too fast on the
 Itanium server. Try putting a SLEEP into the loop.

Ken, 

See line 9.  
Notice SZ column increases by the same amount with or without sleep.

CT CDS.BP KEN

 KEN
0001   PERFORM SH -c'ps -lp $PPID'
0002   CRT TIMEDATE() , 'Simple:'
0003   FOR I = 1 TO 600
0004  EXECUTE '* DUMMY' CAPTURING X
0005   NEXT I
0006   PERFORM SH -c'ps -lp $PPID'
0007   CRT TIMEDATE(), 'Simple done.  With sleep:'
0008   FOR I = 1 TO 600
0009  SLEEP 1
0010  EXECUTE '* DUMMY' CAPTURING X
0011   NEXT I
0012   PERFORM SH -c'ps -lp $PPID'
0013   CRT TIMEDATE(), 'done.'

RUN CDS.BP KEN
  F SUID   PID  PPID  C PRI NI ADDR   SZ
WCHAN TTY   TIME COMD
401 S   5517 19121 18392  0 158 20 e001894f24c0 1015
e0018c70c000 pts/ta0:00 uvsh
19:50:36 17 MAR 2008  Simple:
  F SUID   PID  PPID  C PRI NI ADDR   SZ
WCHAN TTY   TIME COMD
401 S   5517 19121 18392  7 158 20 e001894f24c0 1172
e0018c70c000 pts/ta0:00 uvsh
19:50:36 17 MAR 2008  Simple done.  With sleep:
  F SUID   PID  PPID  C PRI NI ADDR   SZ
WCHAN TTY   TIME COMD
401 S   5517 19121 18392  0 158 20 e001894f24c0 1328
e0018c70c000 pts/ta0:00 uvsh
20:00:42 17 MAR 2008  done.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV: LOOP;EXECUTE cmd CAPTURING X; REPEAT fatal memory fault.

2008-03-17 Thread Stevenson, Charles
From: Louie Bergsagel
 How long before it fails?

A few minutes for me, for that simple test.
The question is what's memory doing?
Try looking at the process with -l option of the unix ps command.

But look at this where I execute an SH command:
  EXECUTE SH -c'# comment' CAPTURING X
 then printed a report line every 100,000 iterations.
It still failed after 990,230 iterations,  but ran slower  slower 
slower.
It took 28 hours to get to that point, whereas my old much slower
PA/risc got to that number in ~5 hrs.
Look at Mem SZ: constant 942, vs growing to 230145.

Itanium:

0001: HP-UX x0003031 B.11.23 U ia64 2885820074 unlimited-user license
0002: uid=5517(cds33896) gid=212(tech)
0003: -5783 resizetmp From cds33896
0004: RUN CDS.BP MEMFAULT3
0005: 12:24:01 15 MAR 2008  Count   Secs  Sys(9)  Mem SZ
0006: 12:49:09 15 MAR 2008  10  1508  420550  26715
0007: 13:43:27 15 MAR 2008  20  3257 1138400  52103
0008: 15:14:58 15 MAR 2008  30  5490 1947890  77495
0009: 17:30:49 15 MAR 2008  40  8151 2831010 103019
0010: 20:35:40 15 MAR 2008  50 11090 3734720 128407
0011: 00:22:42 16 MAR 2008  60 13621 4617480 153865
0012: 05:07:25 16 MAR 2008  70 17083 5582570 179357
0013: 10:24:14 16 MAR 2008  80 19008 6438780 204745
0014: 16:17:22 16 MAR 2008  90 21188 7272240 230145 
Bottom at line 14.
(6 hours later, this aborted before reaching 1 million.
 Dumped a core file.)


Here's the same job on PA/risc.
It took ~5 hrs to reach the same point.

0001: HP-UX w0003030 B.11.11 U 9000/800 1488117173 unlimited-user
license
0002: uid=5517(cds33896) gid=212(tech)
0003: -23412 resizetmp From cds33896
0004: RUN CDS.BP MEMFAULT3 
0005: 17:16:55 15 MAR 2008  Count   Secs  Sys(9) Mem SZ 
0006: 17:51:39 15 MAR 2008  10  2083  278170   942 
0007: 18:24:48 15 MAR 2008  20  1988  269890   942 
0008: 18:57:50 15 MAR 2008  30  1982  269170   942 
0009: 19:31:13 15 MAR 2008  40  2002  271450   942 
0010: 20:04:06 15 MAR 2008  50  1973  268050   942 
0011: 20:36:04 15 MAR 2008  60  1917  256230   942 
0012: 21:07:16 15 MAR 2008  70  1872  248220   942 
0013: 21:38:34 15 MAR 2008  80  1878  249360   942 
0014: 22:09:35 15 MAR 2008  90  1861  247390   942 
0015: 22:40:38 15 MAR 2008 100  1862  247480   942 
0016: 23:11:46 15 MAR 2008 110  1867  248500   942 
0017: 23:42:51 15 MAR 2008 120  1865  246870   942 
0018: 00:14:33 16 MAR 2008 130  1901  250930   942 
0019: 00:47:19 16 MAR 2008 140  1965  259980   942 
0020: 01:19:09 16 MAR 2008 150  1910  254220   942 
0021: 01:50:15 16 MAR 2008 160  1865  247170   942 
0022: 02:21:10 16 MAR 2008 170  1855  246310   942 
0023: 02:52:10 16 MAR 2008 180  1859  246240   942 
0024: 03:23:04 16 MAR 2008 190  1854  245850   942 
Bottom at line 24. 
(Killed duiring nightly UV stop/restart @3:30AM.)
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV: LOOP;EXECUTE cmd CAPTURING X; REPEAT fatal memory fault.

2008-03-17 Thread Stevenson, Charles
From: Allen Egerton
 Capturing writes to uvtemp.  
 Are you running out of disk space or perhaps inodes?

Good question, but no.  Plenty of room in uvtemp.  Plenty of inodes.
It does leave an 0-byte capturenaa file in uvtemp.
0-byte, because I am really doing nothing (execute a comment).
If I do something real, the capture file does contain the appropriate
thing, but it does not correspond to the runaway memory usage.

It also leaves an aceb printer memory segment that needs cleaning up
too.
 (ipcs -mopuv/bin/uvlictool clean_lic )
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] release notes (was: SLEEP 60 slept only 53 seconds, or else TIMEDATE() is wrong)

2008-02-15 Thread Stevenson, Charles
Where on IBM's massive web site can I find what was fixed on what 
 version of universe?
 This thread got me wondering if some weird issues I have seen have
 already been fixed on a new versions of universe (we are running on
 AIX if that matters)
 As well as what new features have been added to new versions of
universe

It's not all nicely in one place, but a good starting place is
   http://www-306.ibm.com/software/data/u2/contacts/
You'll find links to manuals, knowledgebase, product availability,
[EMAIL PROTECTED], etc., etc..

Each major release is usually accompanied with an update on the manuals,
including a New Features at Release X.0 sort of thing.

U2 Product Availability page page is linked from the above url.
   https://www-927.ibm.com/software/data/u2/support/matrix.asp
There is a readme for any given release from the base x.0 release
forward.
Caution:  You'll see that IBM continues to make fixes to later versions
of UV10.1.x after UV10.2.0 was released.  So if you read about a fix in
such a release, you have to look carefully to make sure that same fix
was applied to a later 10.2.y  you might be interested.
I use UV as an example, but I think the advice is good anywhere.

There have been a few conference and Web presentations that IBM has made
about new releases.  Maybe others can say where to find them.  Or
[EMAIL PROTECTED]

There is no place where IBM will tell you a list of acknowledged open
issues, their disposition, suggested workarounds, projected fix dates.
They hold that close to the chest, to the detriment of clients who get
bit by a bug that they otherwise would have worked around.  (Am I
bitter? A little.)

Chuck Stevenson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] SLEEP 60 slept only 53 seconds, or else TIMEDATE() is

2008-02-13 Thread Stevenson, Charles
 Maybe a sys admin changed the system time during the run. 
 Or maybe the system automatically synced to a timeserver.

I'll check on that, but I think the synch is automatic and frequent
enough to not  be off by 7 seconds.  Maybe not, since this isn't a
production system yet.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] SLEEP 60 slept only 53 seconds, or else TIMEDATE() is wrong

2008-02-13 Thread Stevenson, Charles
-Original Message-
From: Mark Eastwood
 I had a similar experience several years ago (10.0.?/Windows).
 What I suspect (but never proved) was happening was when I ran
 PORT.STATUS, it touched the sleeping phantom process and woke it up.
 It was of little significance to me, and never encounter on other
boxes,
 so I never pursued. You should be able to test easy enough.

To test, I had a phantom doing (roughly):
   loop
  crt timedate()
  sleep 60
   repeat
On a 2nd session I repeatedly did
   PORT.STATUS PID [phantom's id]

That caused the phantom to write out the time every 61 or 62 seconds,
but never wake up prematurely.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] SLEEP 60 slept only 53 seconds, or else TIMEDATE() is

2008-02-13 Thread Stevenson, Charles
 You might check the system logs; if there was a time server
 sync there should be a note in there.

We synch every 10 minutes at 0,10,20,30,40,50 minute mark.
That doesn't cover 15:05 where my 7 second glitch happened.

I ran a mess of tests overnight.  About 200,000 iterations of
[time/sleep/time] in all.  I read the results this morning
programmatically.
There were some 1-second anomalies (my smallest measurable granularity).
All except 2 spanned a timeserver resynch.

Those other 2 each occurred slightly before 01:49:41, in parallel jobs.
That's a half minute shy of a time resynch.  Each woke up in 9 seconds,
not 10.
There were 29 other parallel jobs doing exactly the same thing at 1:49 
they all behaved appropriately.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] SLEEP 60 slept only 53 seconds, or else TIMEDATE() is wrong

2008-02-13 Thread Stevenson, Charles
I see what you're saying.
 yeah, moot.

I was hoping someone would jump in and say they'd seen this before  the
simple fix is...

oh well.
thx,
cds 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Louie Bergsagel
Sent: Wednesday, February 13, 2008 11:53 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] SLEEP 60 slept only 53 seconds, or else TIMEDATE() is
wrong

If you had a continue or exit in the code above line 439, it would speed
up the interval by skipping the sleep on line 439, and depending on what
that code was doing, it could take a coincidental 53 seconds.

But you said there was none, and there are no double top loop lines,
so that situation is moot.

-- Louie

On Feb 12, 2008 6:05 PM, Stevenson, Charles
[EMAIL PROTECTED]
wrote:

  Silly question perhaps, but are there any CONTINUE or EXIT 
  statements in the parts you left out?

 No, but think about it: even if there were, it could only SLOW DOWN 
 not SPEED UP the interval between executions of CRT TIMEDATE().
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] SLEEP 60 slept only 53 seconds, or else TIMEDATE() is wrong

2008-02-13 Thread Stevenson, Charles
This is on 10.2.6, released Aug 2007.
Issue 7659 was fixed in 10.1.14, released Aug 2005.
You'd think the fix would be in 10.2.6, too,  but maybe it has reared
its ugly head again.
My description is not quite the same, but I am on HP.  No select
involved.  Executing a PORT.STATUS from another session sounds like
something I might have donw.  I was examining that program intensely
that afternoon.

Thanks, JayJay!  I'll forward this to support.

Chuck

-Original Message-
From: John Jenkins
There were some changes to do with PHANTOMS being woken from a SLEEP
when the parent process terminated. It would be interesting to check
your UniVerse release against the Product Availability Matrix:

10.1.14
7659If one UniVerse process was executing a SELECT statement
against a file, and a different UniVerse process was
executing the PORT.STATUS command, the process selecting
the file may have received an error message similar to
the following:

nanosleep: Interrupted system call

This problem was unique to the HP platform and has been fixed.


This might be of help - does it match?
-Original Message-
From: Mark Eastwood
I had a similar experience several years ago (10.0.?/Windows).
What I suspect (but never proved) was happening was when I ran
PORT.STATUS, it touched the sleeping phantom process and woke it up.
It was of little significance to me, and never encounter on other boxes,
so I never pursued. You should be able to test easy enough.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] SLEEP 60 slept only 53 seconds, or else TIMEDATE() is wrong

2008-02-12 Thread Stevenson, Charles
 Silly question perhaps, but are there any CONTINUE or EXIT statements
 in the parts you left out?

No, but think about it: even if there were, it could only SLOW DOWN not
SPEED UP the interval between executions of CRT TIMEDATE().  

If you look at the line numbers, you'll see that there are no statements
missing between line 438 thru 450, then looping back to 151,152.

I verified using VLISTt that 450's REPEAT really loops back to 151's
LOOP.

The only other way would be if there were other lines  somewhere else in
the program that could be producing that output, but nope:

: t
Top.
: c/loop top/loop top/222
0152:  CRT ; CRT TIMEDATE():' loop top.' ; * 2/08 DBG
CDS
Bottom at line 1017.
: t
Top.
: c/Sleeping for/Sleeping for/22
0439:CRT @(10,20):Sleeping for :LOOP.TMR: seconds ...
:
Bottom at line 1017.
:  


How does:
   CRT TIMEDATE()
   SLEEP 60
   CRT TIMEDATE()
execute in 53 seconds?

Adding other code in between doesn't help.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] SLEEP 60 slept only 53 seconds, or else TIMEDATE() is wrong

2008-02-12 Thread Stevenson, Charles
I've never seen this before.  Can anyone explain it?
I'm testing UV 10.2.6 on HPUX 11.23, Itanium  found this while
debugging a program that runs as a phantom.

The grep  cut of PH file below shows relevant parts of the file,
namely pairs of lines where
- pgm line 438 prints a time stamp
- pgm line 439 prints how long it's going to sleep (60 secs)
- pgm line 447 sleeps 60 seconds
- pgm loops back to line 152  prints the time again

The time logged via pgm line 152 MUST be at least 60 seconds later than
the previous time logged via pgm line 438.  Right?

But look at PH lines 113  114.  They claim to be only 53 seconds
apart.
How can that be?

Every other loop iteration is exactly as expected.


Here's the relevant part of the program:

0151:   LOOP
0152:  CRT ; CRT TIMEDATE():' loop top.' ; * 2/08 DBG
CDS
  . . .
  . . .
  . . .
0438:CRT TIMEDATE():' ':   ; * 2/08 DBG CDS
0439:CRT @(10,20):Sleeping for :LOOP.TMR: seconds ...
:
0440:CRT @(10,22):Last :RDESC: inbound record
processed on 
0441:IF REC.DAT = None THEN
0442:   CRT (None yet):
0443:END ELSE
0444:   CRT OCONV(REC.DAT,D2/): at
:OCONV(REC.TIM,MTH):
0445:END
0446: END
0447: SLEEP LOOP.TMR
0448:  END
0449: *
0450:   REPEAT


$cat -n ./FIELD.ESC.PROCESS.LOOP_53693_14653 | grep -eSleeping for 
-eloop top.| cut -c1-55
60  14:59:35 12 FEB 2008 loop top.
77  15:00:41 12 FEB 2008 Sleeping for 60 seconds ...
78  15:01:41 12 FEB 2008 loop top.
95  15:02:51 12 FEB 2008 Sleeping for 60 seconds ...
96  15:03:51 12 FEB 2008 loop top.
   113  15:05:07 12 FEB 2008 Sleeping for 60 seconds ...
   114  15:06:00 12 FEB 2008 loop top.
   131  15:07:22 12 FEB 2008 Sleeping for 60 seconds ...
   132  15:08:22 12 FEB 2008 loop top.
   149  15:09:48 12 FEB 2008 Sleeping for 60 seconds ...
   150  15:10:48 12 FEB 2008 loop top.
   167  15:12:20 12 FEB 2008 Sleeping for 60 seconds ...
   168  15:13:20 12 FEB 2008 loop top.
   185  15:14:57 12 FEB 2008 Sleeping for 60 seconds ...
   186  15:15:57 12 FEB 2008 loop top.

  (etc.  always 60 seconds difference for rest of file)
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe 10.1 Itype possible parsing problem

2008-01-08 Thread Stevenson, Charles
Try DLIST.  It's like VLIST, but for I-descriptors.

DLIST decompiles the I-descriptor into something that looks an awful lot
like the decompiled basic object that VLIST shows.

I put 2 I-descriptors called NICELY.SPACED and CRAMMED in DICT VOC 
compiled them.  Look how the 2 decompile into different looking things,
exactly as Jerry Banker said:

DLIST VOC NICELY.SPACED CRAMMED

Item 'NICELY.SPACED': IF @RECORD3 = @RECORD6 THEN 1 ELSE -1

Compiled 01:10  09 JAN 08
1 expressions
0 TOTALS
8 constants
: 060 dyn_extract@RECORD 3 0 0  = $R0 
000C: 060 dyn_extract@RECORD 6 0 0  = $R1 
0018: 06E eq $R0 $R1  = $R2 
0020: 1A0 testf  $R2 0034: 
0028: 0F8 move   1  = @1 
002E: 0C2 jump   003A: 
0034: 0F8 move   -1  = @1 
003A: 0F8 move   @1  = @ANS 
0040: 15C return 

Item 'CRAMMED': IF @RECORD3= @RECORD6 THEN 1 ELSE -1

Compiled 01:11  09 JAN 08
1 expressions
0 TOTALS
8 constants
: 0DC lt @RECORD 3  = $R0 
0008: 060 dyn_extract@RECORD 6 0 0  = $R1 
0014: 0A0 ge $R0 $R1  = $R2 
001C: 1A0 testf  $R2 0030: 
0024: 0F8 move   1  = @1 
002A: 0C2 jump   0036: 
0030: 0F8 move   -1  = @1 
0036: 0F8 move   @1  = @ANS 
003C: 15C return 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Deployment of software for UD and UV

2008-01-03 Thread Stevenson, Charles
For dirs  never,  Never,  NEVER use Type 1 files. 
''   ''  always, Always, ALWAYS use Type 19.

(Dave Taylor already said that, but it was buried in the middle of other
useful stuff  I didn't want anyone to miss it.   He gave rationale 
his related comments about LONGNAMES ON was germaine, too.)

-Original Message-
From: Tony G

We are about to publish software which runs over Unidata and Universe
for Windows.  What is the preferred deployment package for Universe?
1) Full account, source and object in Type 1 files, Pick flavor.
2) Full account, source and object in Type 1 files, Ideal flavor.
[snip]
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] RE: testing

2007-12-24 Thread Stevenson, Charles
 He's getting coal for Christmas this year.

Does he know what coal is?
I actually found some at a lumberyard several years ago  got a few
pieces for my kids' stockings.
A shiney black rock that burns?  No way.  This is so cool!
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] WHERE for universe?

2007-12-14 Thread Stevenson, Charles
From: Ray Wurlod
Not really.  And you couldn't call it WHERE because that's a keyword for
UniVerse/SQL.
---
Actually, you COULD call the verb WHERE, even though it is already a
keyword.
In VOC WHERE 3  you can add the real name of the real verb you want
executed if WHERE appears in the command line as though a verb.

Here's an example of using WHERE to execute PORT.STATUS:

CT VOC WHERE PORT.STATUS

 WHERE
0001 K
0002 506
0003 PORT.STATUS

WHERE USER cds33896

There are currently 1 uniVerse sessions; 1 interactive, 0 phantom

Pid..  User name  Who  Port name..  Last command processed...
 3304   cds33896   14  /dev/pts/td  PORT.STATUS USER cds33896


And it still functions properly as an SQL keyword:

SELECT TYPE,F2,F3 FROM VOC WHERE TYPE='K' AND F3#'';
TYPE F2... F3...

K22SELECT
K212   *
K286   USERS.VERB
K506   PORT.STATUS
K276   FORMAT.VERB
K215   *
K573   DATE.VERB
K214   *
K378   COUNT.VERB
K400   MAP.VERB
K377   SUM.VERB
K403   TIME.VERB
K258   DISPLAY.VERB
K66FROM.VERB
K66FROM.VERB
K194   LOGOUT
K257   BREAK.VERB
K213   *

18 records listed.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] RB Developer (4.2.x) vs WebDe Eclipse/Java Tool (4.4.0)

2007-12-13 Thread Stevenson, Charles
I heard a rumour of a bug in the RedBack Designer client tool  need
advice.
The rumour is that some updates to WinXP SP2 might break Designer.  The
break may have workarounds or can be complete.

We're at 4.2.3  debating whether to make
  a big jump to WebDe4.4.0 (Redback has been renamed WebDe @ 4.4)
or
  a slight upgrade to 4.2.6.

One or the other is necessary to accommodate a hardware change from HP
Risc to HP Itanium.

Questions:

1. Have you seen this bug?   When?

2. At which releases of RB is this problematic?  If 4.2.3, then
theoretically we are already vulnerable.

3. What do you think of 4.4.0  the Eclipse/Java replacement for
Developer?

4. Is anyone out there using 4.4.0 at all ??

I am cross-posting this to u2-users  rbsolutions.  I don't see traffic
on rbsolutions.  I don't know how many subscribe to it.


Thanks,

 Charles Stevenson
 Getronics
 Costa Mesa, CA
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] RB Developer (4.2.x) vs WebDe Eclipse/Java Tool (4.4.0)

2007-12-13 Thread Stevenson, Charles
 I heard a rumour of a bug in the RedBack Designer client tool  need
 advice.
 The rumour is that some updates to WinXP SP2 might break Designer.
 The break may have workarounds or can be complete.

 We're at 4.2.3  debating whether to make
   a big jump to WebDe4.4.0 (Redback has been renamed WebDe @ 4.4)
 or
   a slight upgrade to 4.2.6.

 One or the other is necessary to accommodate a hardware change from HP
 Risc to HP Itanium.

 Questions:

 1. Have you seen this bug?   When?

 2. At which releases of RB is this problematic?  If 4.2.3, then
 theoretically we are already vulnerable.

 3. What do you think of 4.4.0  the Eclipse/Java replacement for
 Developer?

 4. Is anyone out there using 4.4.0 at all ??

 I am cross-posting this to u2-users  rbsolutions.  I don't see
 traffic on rbsolutions.  I don't know how many subscribe to it.


 Thanks,

 Charles Stevenson
 Getronics
 Costa Mesa, CA
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UV] Paragraph

2007-12-07 Thread Stevenson, Charles
 Is there a way to read from a file from within a Paragraph ? 

Jerry's answer is generally easiest:
  A,F(filename,recordname,attribute,value,subvalue),variablename
or  F(filename,recordname,attribute,value,subvalue),variablename
___

Re. Brian's program idea:

Good idea for more complicated stuff.
You can pass data back to the paragraph via
- @USER0 thru @USER4
- @USER.RETURN.CODE
- @SYSTEM.RETURN.CODE
- in an active select list
  - numbered 1-10 automatically
  - select list 0 if the program is catalogued  in VOC with a K in 4.
- You can populate an in-line prompt using the ILPROMPT() basic
function.
  The paragraph calls a program that does:
DATA 'whatever'
HUSH ON
dum = ILPROMPT( 'A,This is a prompt' )
HUSH OFF
  Then This is a prompt containing 'whatever' will be available to
the PA.
___

Re.  VAL=TRANS(FILENAME,RECORDID,FIELDNUMBER,OPTIONS) :

Not immediately useable by a paragraph, but theoretically you could bury
it in an EVAL (or I-descriptor) then SELECT some arbitrary record in an
arbitrary file for the express purpose of running the I-descriptor 
returning its result in the active select list, incidentally setting
@SELECTED to 0 or 1 along the way:

SELECT VOC SAMPLE 1 _
  [ WITH [selection criteria, maybe including an EVAL ] _
  RETURNING EVAL
TRANS('FILENAME','RECORDID',FIELDNUMBER,'OPTIONS') 
IF @SELECTED  0 THEN ... 

The technique might prove useful if the EVALs were more complicated than
a simple TRANS(). 
(VOC  SAMPLE 1 are innocent bystanders used solely to get the query to
execute the EVAL.)  
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] LIST.READU

2007-12-07 Thread Stevenson, Charles
Doug,

When you talk to Charlie Noah, get him to contribute his programming
standards to the u2ug wiki, too.
Good stuff in there.

Chuck

-Original Message-
From: Doug Chanco
Actually I worked with Charlie many years ago (he used to grade my
programs and come by my desk with a copy of my program with a bunch of
red marks all over it ...)  He was/is the most brilliant pick person
I have ever met in person with the exception of Jim Young.

I will email him and ask him about it

-Original Message-
From: Jerry Banker
On the UniVerse system the SYS.CTL and LOCK.FILE do not exist are they
in Unidata? We use a program that was built by Charlie Noah that uses a
file that contains tables that equate system and inode numbers to file
names. You probably know him from the jbase lists. I would rather he
send it than myself because mine has been modified over the years to
reflect the systems that we have been on.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] LIST.READU

2007-12-07 Thread Stevenson, Charles
Currently, the inode can be discovered by using -i option of the unix
ls command.
FILEINFO() also yields it up, so I have DICT VOC i-descriptors that
return the various FILEINFO() file info.  That way I can do queries such
as:
  LIST VOC WITH DATA.INODE = 446496 OR DICT.NODE = 446496

At IBM's U2 University conference, we were promised for 2008 a new,
improved, Eclipse-vased UniAdmin tool.
Jackie Burhans ~suggested~ that IBM ?might?/?would? tackle displaying
file NAMES or paths instead of just device-inode combo.  (Search the
list history for painful discussions of that problem.)

I don't know jBase's SHOW-ITEM-LOCKS so I can't compare it to what UV
can do.

Look at the current UniAdmin client tool that comes with the client CD.
(Ask if you don't have one or don't know where to get it.  It's free.)
It has a lock page where the columns can be sorted by user, pid, inode,
etc..  It still won't give you the filename, though.

cds

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Doug Chanco
Sent: Friday, December 07, 2007 8:44 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] LIST.READU

Hello all,

 I am back in the universe world after working in jBASE for many
years now, is there a better tool than LIST.READU to show the locking
table? (similar to jBASE SHOW-ITEM-LOCKS which is pretty awesome)



It shows record locks BUT not what file the lock is on ... I am
still learning our system and seeing a lock like 123456789 does not
tell me anything about what file the lock is on, I suppose I might be
able to figure out something with the inode but still ..



Active Record Locks:

Device Inode  Netnode Userno  Lmode   Pid Login Id
Item-ID.

30801944464960142  10 RU 59788 1267316151029

30801943389200142  12 RU 59788 1267316151029



Is anyone aware of a better tool?



Thanks



Dougc
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Recall Question

2007-12-06 Thread Stevenson, Charles
Pick flavor has you stick that stuff on the end
   BREAK.ON field[ [text] ['options']...] 
Instead of what SYS.HELP says:
   BREAK.ON [ [text] ['options']...] field


2 Examples.  
1st a Pick flavor account:

.L RELLEVEL

 RELLEVEL
001 X
002 10.0.16
003 PICK
004 PICK.FORMAT
005 10.0.16

LIST VOC BY TYPE BREAK.ON 'O' TYPE
RetrieVe: syntax error.  Unexpected literal string.  Token was 'O'.
  Scanned command was LIST VOC BY TYPE BREAK.ON 'O' 
LIST VOC BY TYPE BREAK.ON TYPE 'O'

LIST VOC BY TYPE BREAK.ON TYPE O 03:17:09pm  06 Dec 2007  PAGE1
VOC. TYPE

CDSDUM   1

 **

SIZE A

 **

F1   D
F13
---

Here's after logging into an ideal account:

LOGTO HS.SALES

.L RELLEVEL

 RELLEVEL
001 X
002 10.0.16
003 NEWACC
004 
005 10.0.16
LIST VOC BY TYPE BREAK.ON TYPE 'O'

0 records listed.
'O' not found.
LIST VOC BY TYPE BREAK.ON 'O' TYPE

LIST VOC BY TYPE BREAK.ON O TYPE 03:19:56pm  06 Dec 2007  PAGE1
VOC.TYPE

F1  D
F2
F3
F4
F5
F10
F6
F7
F8
F9


UNIVERSE.STAF
T.FILE
SYS.TERMINAL


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ron Hutchings
Sent: Thursday, December 06, 2007 11:29 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] Recall Question

.L RELLEVEL

 RELLEVEL
001 X
002 10.0.11
003 PICK
004 PICK.FORMAT
005 10.0.11

Running Universe the BREAK.ON 'O' feature gives me an error message.
Any insight on this?  I am guessing it is because of the pick format.

_
You keep typing, we keep giving. Download Messenger and join the im
Initiative now.
http://im.live.com/messenger/im/home/?source=TAGLM
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] universe syntax for vim?

2007-12-05 Thread Stevenson, Charles
Ken,
How about sticking on the u2ug wiki?
cds  

From: Ken Wallis
Make that http://ftp.users.on.net/~empower_data/vimfiles.zip
and I don't think you'll be asked for a username/password.

From: Kathleeni M Hunter
How about sharing with the rest of us.

From: Craig Bennett
there is an excellent vim syntax file written by Ken Wallis.
Email me offlist and I'll send you a copy.

Doug Chanco wrote:
 Anyone have a universe syntax file for vim they would care
to share?
 Rather than create one I was hoping someone already did
the work
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Need to partially hide a file

2007-12-03 Thread Stevenson, Charles
Look seriously at both Ray's SQL solution and Mark's
Data-At-Rest-Encryption.  The latter is a UV 10.2 enhancement.

-Original Message-
From: Ray Wurlod
Sent: Thursday, November 29, 2007 1:59 PM

If you were to convert the file into an SQL table, then you can grant
SELECT privilege (or not) at the individual column level.  And/or you
can restrict the table entirely to a single SQL user (at least in
UniVerse) and only access it via programs compiled with the
AUTHORIZATION statement.

My $0.02 worth.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] mv.net versus Web DE

2007-11-29 Thread Stevenson, Charles
'twere a popular forum discussing this late yesterday @ IBM U2
conference, San Fransisco edition.
Jackie Burhans had I nice chart at the end showing about 8 different
IBM-supplied approaches.
I attended it  mostly to hear any Redback (now aka WebDE) gossip.  I
have to move from 4.2 to  4.4  and it looks like I'll be an early
innovator.  I hate that.  I hope others weigh in here.


-Original Message-
From: Martin Hutchinson
Has anyone out there made comparisons between the different internet to
U2 linking technologies? The 2 main ones appear to be Web DE (Redback as
was) and mv.net (Uniobjects.net and connection pooling?), although I am
sure there are others out there and if so I would like to hear about
them. Any opinions on costs, useability etc would be welcome,
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] IBM U2 conference, San Fransisco edition

2007-11-29 Thread Stevenson, Charles
On order of 100 attendees.  Lots of people I hadn't met before.  Looks
like this regional, 3day/2night approach is reaching a different
audience.  Maybe a few more techies  younger average age.

There's a new developer IDE(?) coming.
UniAdmin is also being re-done.  No delivery date promised. It's
performance moinitor will(?) be enhanced to log history, not just
capture real-time to screen.  That will be good for establishing a
baseline to compare to when later problems are being troubleshot.  That
was a U2UG requestg, by the way.

More on conference later or I'll miss breakfast.

 Charles Stevenson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] OCONV Extraction Question

2007-11-14 Thread Stevenson, Charles
'MCP':@VM:'G.1'
is the exact answer your exact question of what can replace 'WHATEVER'
in your code.

The complete code becomes
   VAR1 = 'SAM':@VM:'TRUDY'
   CRT OCONV(VAR1,'MCP':@VM:'G.1')

This answer will work as long as there aren't any real periods in VAR1.

In the 2nd argument, you can stack successively executed conversion
codes separated by value marks.  Each acts on the output of the previous
conversion.
So above, the first conversion, MCP, changes thevalue mark to a
period.  The second, G.1 extracts the 1st group deliminated by
periods.

This also explains why 
   OCONV(VAR1, 'G':@VM:'1')
doesn't work.


OCONV does not care about system delimiters in the 1st argument. It acts
on the entire string.
OCONVS (with an S) does care.
ICONV  ICONVS make the same distinction.


People have mentioned the obvious dump of OCONV for just VAR11,1,  but
I asssume you've just condensed some complicated real-world problem down
to a simplistic case.

Chuck

-Original Message-
From: D

VAR1 = 'SAM':@VM:'TRUDY'
CRT OCONV(VAR1,'WHATEVER')

What replaces WHATEVER, so that I can see the value SAM? I cannot find
in the documentation or remember for that matter how to extract a single
value using the OCONV function.

Thanks in advance,
Doug
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] U2 University

2007-10-30 Thread Stevenson, Charles
I've bought  paid for it.  See you there. 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Nancy Fisher
Sent: Tuesday, October 30, 2007 9:15 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] U2 University

Is anyone going to the San Francisco end of Nov venue?

Nancy Fisher
Peninsula Truck Lines, Inc
Auburn, Washington
253/929-2040
[EMAIL PROTECTED]
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Locks in subroutines

2007-10-09 Thread Stevenson, Charles
Responding to this part only:

 Yes the file is being opened withing the subroutine and 
 no, is not easy to change it to open the file higher in the food
chain.

   SUBROUTINE XYZ( ... )
   COMMON /XYZ.ONLY/ XYZ.COMMON.INIT, FVAR
   IF NOT( XYZ.COMMON.INIT ) THEN
  OPEN 'whatever-file' TO FVAR ELSE ... Abort ? ...
  XYZ.COMMON.INIT = @TRUE
   END
   READU rec FROM FVAR, 'some-id' ELSE ...
   RETURN ;* readu lock ON whatever-file some-id is retained
  ;* and file remains open in /XYZ.ONLY/ common.
END


The calling program can later release that lock via:

   OPEN 'whatever-file' TO LOCAL.FVAR ...
   RELEASE LOCAL.FVAR, 'some-id'

BUT !!!NOT!!! By this: 

   OPEN 'whatever-file' TO LOCAL.FVAR ...
   RELEASE LOCAL.FVAR   
   

Yet these 2, within the calling program, WILL cause the record lock on
'some-id' to be released:
   RELEASE 
Or:
   STOP


I'm just describing what IS (10.0.16), not whether good or bad.
cds
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] What is this error??

2007-09-21 Thread Stevenson, Charles
The words CASE  editor  jumped out at me just now as I perused the
UV release notes. 
I recalled the same two words figured prominently in a list question a
week ago.
Frankly, I don't understand any of it, let alone whether they're
related.
So just in (ahem)case:
___

Problems Fixed in UniVerse Release 10.1.1 (Build 8169)
Issue 
Number  Short Description
--  - 
  6446  A problem was discovered with the UniVerse editor when using the
CASE command. If you executed the command C/ABC/CASE, UniVerse
displayed a message. When executing SEQ/A/1/1, if the letter A
appeared in the record you were editing, UniVerse displayed a
message and exited the editor. These problems have been fixed.
___

-Original Message- 
From: Karen Bessel 
Sent: Thursday, September 13, 2007 9:04 AM 
To: u2-users@listserver.u2ug.org 

   In the Editor (UV ED): 
   : R/TREC/UPCASE(TREC 
   TCL Case sensitivity is ON 
   [990070]  Try HELP. 

Does anybody know what is causing that error? It's very annoying and
causes me to have to re-type the whole line. 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] [BB] Does UD need the equivalent of uv/errlog?

2007-09-17 Thread Stevenson, Charles
Is there a UniData enhancement request buried in the discussion below?

UniVerse has a handy file called $UVHOME/errlog that logs runtime error
messages (and a few things that aren't really errors) that normally
appear on the screen or PH file of the user generating the error.  It
shows what, who, when,  where the error occurred.

Does Unidata need the same?

Chuck S
 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Timothy Snyder
Sent: Wednesday, September 12, 2007 1:45 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] UV basic assignment error ?

 As far as I can tell, UD doesn't have a BASIC runtime-error log. 

Oops - haphazard reading on my part.  You're correct, of course.  I
actually get a lot of good information from the UniData logs that do
exist, but then those are things that pertain more to what I normally
do.

And, as you pointed out, you shouldn't be making programming errors,
anyway.  ;-)

OK - administering self-imposed cyber-spanking...


Tim Snyder
Consulting I/T Specialist
U2 Lab Services
Information Management, IBM Software Group
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] $UVHOME /.uvhome

2007-09-17 Thread Stevenson, Charles
 Where is this $UVHOME file?  I can't find it in my UV directory.

In the root directory there is a hidden file called .uvhome that is a
simple text file pointing to where universe is installed.  Mine says:

   $cat /.uvhome
   /dbms/uv
   $

UVHOME is a variable that many people typically set up in their
.profiles:

  UVHOME=`cat /.uvhome`
  export UVHOME

So if I say echo $UVHOME I get this:
   $echo $UVHOME
   /dbms/uv
   $

Usually it is included in PATH, too:
PATH=$PATH:$UVHOME/bin:/software/bin
export PATH 

-Original Message-
On 9/17/07, Stevenson, Charles [EMAIL PROTECTED] wrote:

 Is there a UniData enhancement request buried in the discussion below?

 UniVerse has a handy file called $UVHOME/errlog that logs runtime 
 error messages
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV sentence stack

2007-09-15 Thread Stevenson, Charles
 You may wish to add to the wiki that 99 is a tunable number in the
 ~/uv/uvconfig file as HISTSTK NN where NN = 99 as the default. If you
 wish, you can reduce or enlarge that number, which is what SYSTEM(33)
 will then return.

Or, given the nature of wikis, you may wish to add depth of content
yourself.  There's a lot that's cursory.

I wish someone more experienced with wikis would go to that article edit
or add hyperlinks and better indexing.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV sentence stack

2007-09-14 Thread Stevenson, Charles
The command stack is also available as @COMMAND.STACK, which actually
compiles as SYSTEM(33).

UV documentation erroneously says SYSTEM(33) returns only the last
command, but Ray's right. It has the whole stack. 
I'm correcting the U2UG WIKI page for SYSTEM(n) to say:

   33 Dynamic array containing the last 99 commands executed.  
  (IBM doc erroneously says: Returns the last command on the
command stack.)
  @COMMAND.STACK is equivalent.  It compiles as SYSTEM(33).

cds

-Original Message-
From: Ray Wurlod

The UniVerse sentence stack isn't stored anywhere.  It is kept in the
user's printer shared memory segment while the user is active.  The .L
command and the SYSTEM() function retrieve it from there.

When the user exits from UniVerse, and if the VOC item STACKWRITE is set
to ON, then the command stack is saved in SAVEDLISTS as others have
posted.  But it does not go there until the user exits from UniVerse.

The command stack can be deliberately saved to SAVEDLISTS, for example
via the SAVE.STACK command, but this is not an automatic operation.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [OT] Primos emulator

2007-09-14 Thread Stevenson, Charles
I work for what used to be Wang, but is now a part of Getronics, which
is the Dutch parent company that is currently being bought by another
Dutch company.  (For you younguns still reading this thread, Wang was
another of the players at the same time PR1ME was in it's prime.)

Anyway,  there's a group that has written some kind of Wang emulator on
a PC to run old Wang software that still has a customer base but a
diminishing supply of experienced Wang hardware since we no longer
build the stuff.   I'm told the emulator is a money maker.

Chuck Stevenson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [OT] Primos emulator

2007-09-14 Thread Stevenson, Charles
Ha. I'm guessing the disk is emululated, too.
Actually I don't think it's the Wang Word Processing Station,  but
something else.  I don't remember what.  Now you know as much, probably
more than I do.

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Garry Smith
Sent: Friday, September 14, 2007 4:42 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [OT] Primos emulator

Does that load on the 10 inch floppy disk? What was the size of that
large disk for the Wang Word Processing Station?


Garry L. Smith

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Stevenson,
Charles
Sent: Friday, September 14, 2007 4:24 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [OT] Primos emulator

I work for what used to be Wang, but is now a part of Getronics, which
is the Dutch parent company that is currently being bought by another
Dutch company.  (For you younguns still reading this thread, Wang was
another of the players at the same time PR1ME was in it's prime.)

Anyway,  there's a group that has written some kind of Wang emulator on
a PC to run old Wang software that still has a customer base but a
diminishing supply of experienced Wang hardware since we no longer
build the stuff.   I'm told the emulator is a money maker.

Chuck Stevenson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] U2UG Wiki article on UV's SYSTEM(n) - I need help editing it.

2007-09-11 Thread Stevenson, Charles
Thank-you, Brian.  This has great potential.

From: Brian Leach
 The U2UG have published a new Wiki. It's waiting for your content
 to turn this into the most complete resource for the IBM U2 community.

 
 You can find the Wiki on the U2UG website. Registration is separate, 
 and all U2-ers are invited to contribute. Even if you can't write find
 the time to contribute a whole article, give us your thoughts and
 experiences or help to enhance the pages as they arrive.

 This is an exciting opportunity to harness and pass on the knowledge
 and expertise in this list for the community.


I mentioned on-list last week that I posted a beta Wiki thing on UV's
SYSTEM(n)function and ASSIGNment - undocumented (except here)
features. 

It's under:
 www.usu2.org
   u2ug Wiki
   For Developers 
 Server Development
  UniBasic Development
   SYSTEM(n) function and ASSIGNment - undocumented (except here)
features
 
If someone more experienced writing wikis would edit it and link it up
properly, I'd appreciate it.   I don't think I have hyperlinks  search
keywords set up right.  I think it would be hard to find the info if one
didn't know exactly what to look for.  My fault, not the wiki's.

For example, there's a table with a row for each numeric argument,
applicable for SYSTEM(n). I should have a link on the 9001 row that
points to the separate system(9001) detail section.  But I can't seem to
get it the link right.

I also had a hard time formatting text within a cell, so I don't like
how some of the longer descriptions read.  In the editor it recognized
enter, but after filing it, the enters get dropped.

And by _all_means_, anyone, fill in / correct the table content!  Most
was info I gleaned from this list w/o personal knowledge.


Chuck
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] U2UG Wiki article on UV's SYSTEM(n) - I need help editing it.

2007-09-11 Thread Stevenson, Charles
From: Laura Hirsh
 Hey Chuck - I think you meant www.u2ug.org in your path... 

Yup, the new Wiki is under www.u2ug.org. 
Neither fat fingers nor MS spellchecker accounts for that one.
Maybe our resident psychologist, Ray Wurlod, can provide a Freudian
explanation.
On second thought, don't!

  From: Stevenson, Charles
  
  www.usu2.org---  should be  www.u2ug.org
u2ug Wiki
For Developers 
  Server Development
   UniBasic Development
SYSTEM(n) function and ASSIGNment - undocumented (except
here) features
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV basic assignment error ?

2007-09-10 Thread Stevenson, Charles
Scott,
This is a known behavior.  It is by design, so I won't even call it a
bug, although it sure can be misleading, as you've found out! 
It's an excellent question  ought to go under some sort of FAQ, in the
new U2UG Wiki maybe.
 
Here's the question, with an answer below:

 Here is a weird UV error condition that I just spent way too long
debugging:
 
 CT BP SB
 
  SB
 0001 X = 
 0002 IF X EQ  THEN X = Y
 0003 PRINT ONE
 0004 PRINT TWO
 0005 PRINT THREE
 0006 PRINT X
 0007 Y = A
 
 RUN BP SB
 
 ONE
 TWO
 THREE
 Program SB: Line 6, Variable X previously undefined.  Empty string
used.
 
 Why does the run-time error happen in line 6 instead of line 2?


In an assignment like X = Y,  all that happens is that X is pointed to
the same address in the user's memory that Y is at.
This is really nice when Y is a very long string.  Rather than
duplicating the string in memory, both X  Y point to the same spot
until one of them changes.  At that point there are 2 strings.

The problem here is that Y has never been assigned.  So X is made to
point to Y, which is just fine, until X actually gets used.  At that
point it tries to read what is in X (i.e., what is in Y) and yields an
Undefined variable error.


Solutions:

* Correctly initialize Y. Obviously, Y should be initialized before it
is used in X = Y.

* If this is a subroutine where Y is an input argument that you have no
control over, test it using ASSIGNED(Y) or UNASSIGNED(Y) functions
before relying on it.

* When debugging, look back to how the variable was assigned, realizing
that simple assignments like X=Y mean the problem is with Y, not X.


A Terrible, Horrible, Disgusting, but Common (Non)Solution: 
 
Do NOT BLINDLY INITIALIZE ALL VARIABLES at the top of a program.
Initialize them intelligently exactly when needed, limiting their scope.
I see this so often!
I think it is because of programmers who are used to other languages
with strongly typed variables that need to be DECLAREd at the top of the
routine have an uncontrollable urge to declare variables in MV basic,
but the closest they can come is to indiscriminately add Y='' or Y=0 to
initialization.  This actually HIDES BUGS!  It is better to have the
runtime bug that shows up the error, than have it run wrong silently.

Suppose in the little test demo program below Y=0 was indiscriminately
inserted at line 1.  Maybe Y should be zero, maybe not.   But we'd never
see the runtime error that points out the bad logic.  The bad logic
remains, running silently in the background, the latent bug corrupting
processing and data.

Learn to routinely monitor uv/errlog for runtime errors like this that
might slip by your users.   You can catch these latent bugs and fix them
at their source, rather than waiting for users to complain about bad
data and wondering how it got that way.  I've promised to add a Wiki
article on monitoring uv/errlog, including some programs to do so.

Chuck Stevenson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Unidata Query Optimizer Documentation

2007-09-09 Thread Stevenson, Charles
Kevin,
Is there an enhancement request for better documentation on UD's query
optimizer erupting here? 
cds

From: Kevin King
 On 9/8/07, Dave Davis [EMAIL PROTECTED] wrote:
 
  Testing with the actual data appears to be the best way of figuring 
  this stuff out.

 With all due respect, I don't have the time nor desire to figure out
something
 that should be documented somewhere.  Even if I did have the time, the
best
 possible answer via this method would inevitably be supposition rather
than fact,
 possibly leading to dangerous errors in assumption.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Nabble (was Re: Documentation errors (was Get a grip))

2007-09-07 Thread Stevenson, Charles
Ok, it got posted 2x.  Don't know why, maybe something I did.  
I sent it 9:48 PDT. 2 copies are in my email inbox at 10:08.  A 20
minute lag,  but I think that lag is on u2-users list side.

It (or I?) also deleted a line from my reply that said something like
Clifton Oliver wrote:.  That was supposed to appear above As to
archive... line.

I like the view this message in context+URL line.
Clicking on the URL shows the message in-thread.  Cool.

Nabble seems to reconstruct threads, but I'll bet it has to guess at
exactly what is a response to exactly which previous post.

History seems to go back to Spring 2005.


So how does this work?  Who set it up?  I assume Nabble is a list
subscriber and gleans from it to build its own database?  But it has to
be more than that.  It posted my email to the list as from me.  I
registered as cstevenson so that appears instead of my email address
as will appear with this current post, which I am sending as email
outside nabble. Otherwise you can't really tell it came via Nabble
except for the useful URL tacked onto the bottom.


Chuck S

P.S.  I also just got an alert from Nabble that Chuck B had responded to
my post.
Said alert rated Chuck's response with 3 Stars(!)  gave me a Nabble url
to it.



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of cstevenson
Sent: Friday, September 07, 2007 9:49 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] Nabble (was Re: Documentation errors (was Get a grip))

I did not know about access to u2-userss via Nabble until Clif's post.
So I just registered.
Supposedly it's more than history.  This is a test post via Nabble's
reply
page.
I'll click [Post Message] and see what happens . . .



As to archive indexes, I've found the archive at Nabble to be fairly
good, although there are things I know are there that it misses. Try

http://www.nabble.com/U2---Users-f801.html

--
View this message in context:
http://www.nabble.com/U2-University-Last-Week-In-Denver-tf4380810.html#a
12559151
Sent from the U2 - Users mailing list archive at Nabble.com.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Nabble (was Re: Documentation errors (was Get a grip))

2007-09-07 Thread Stevenson, Charles
From: Charles Barouch
 Unless you are already registered, Nabble replies bounce. I send out a
lot
 of e-mails to peopl who get caught in the bounce filter because of
this and
 invite them to join. We get a lot of our newer members that way.

That means people know about the forum via Nabble and there is probably
a population that prefers that web-user interface over email.  This is
good.

Chuck, is this the source of some of those messages you sometimes post
on behalf of non-list-members?

Maybe we need an option to subscribe, but not receive either digest or
individual posts,  but that would allow people to post via Nabble. 

I'm still not sure how we got in bed with Nabble, or rather, how they
crawled in bed with us.  What are they doing under the covers!  Hey, who
else are we sleeping with?  Google?  Yahoo?

Chuck S
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] RE: Get a grip - was ads - was U2 University Last

2007-09-06 Thread Stevenson, Charles
1.   Vendors.   I have appreciated any post I see from Tony Gravagno,
Doug Averch, Jeff Fitzgerald, Dawn Wolthius, Susan Joslyn, IBM people
promoting U2 features or classes (yes, same standard applies to IBM),
and any other vendor/consultant in our market.


B.   The moderator's job is not pleasant and I wholeheartedly thank
Chuck B for his effort.  Clif before him.


III.   I like [AD] on the subject line if that's the primary purpose of
the post.
I do not like the ad/ad, joke/joke pseudo-xml  -html silliness
in the middle of posts.

If [AD] is missing from the subject line and I think it should have been
there, I raise my substantial eyebrows a notch.  It flavours how I
receive said ad.  Blatant repeat offenders can be reprimanded, but
they've already dug their own pit.

Vendors responding to questions about their products is not an [AD].
Vendors taking the opportunity of a general question to tout how their
product or service will solve the problem is welcome,  but should
probably be referred to as [AD].

I wish we had more [AD] postings.


d.   u2-users is not only for just deep diving technical questions, but
for any _serious_ discussion of any topic related to our niche of the IT
industry.  (Including this meta-discussion.)  Dawn says she doesn't feel
free to post,  but I can't think of anything that she would post that I
would not welcome.


(5)   U2-community was originally created to weed out the non-serious
degeneration of threads into Monty Python gags, etymologies (I plead
guilty), politics, etc..  If you want water-cooler conversation go to
u2-community.  Maybe we should have named it u2-WaterCooler.

The Noise:Signal ratio before the split was intolerable to many and I
truly believe we lost list members because of it.  I think we waited too
long to split because the list members who were with or enjoyed the
frivolity were the wrong people to ask.  We really needed to ask the
people who DIDN'T join.

I think we do need to continue to separate out mere frivolity; Bah!
Humbug!


Six.   Lighten up.


With malice toward none, with charity for all (Lincoln),

Chuck S
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UV] - Getting the call stack trace within a program

2007-09-04 Thread Stevenson, Charles
I posted the following when SYSTEM(9001) was invented.  It's gotta be in
the archives somewhere.

I recently added it to the newly developing U2UG Wiki, along with a
table of other un- or poorly documented uses of SYSTEM(n), sorted by
said n.  Most info I gleaned from u2-users list archives.

Some formatting is lost CutPasting it back to this text-only format,
but here it is:

_

SYSTEM(9001) Call stack of current process

SYSTEM(9001) tells you what program you are in  where you came from! It
will return a dynamic array that contains roughly the same info that
PORT.STATUS LAYER.STACK or RAID T command coughs up. 

- Value 1 of each attribute is the depth in the return stack 
  Non-negative numbers mean that those programs are all part of the
return stack. 
  Negative numbers below simply mean those subroutines were called and
returned from in the past. 
  I don't think @LEVEL has anything to do with it, contrary to the
patchlist text. 
- Value 2 is the program 
- Value 3 is the hex address 
  The object address you see when you VLIST a program 
  For the negative depths, n/a. 
  (0x0 on DUMMY example is real. They are small programs.) 
- The number of values is constant, 
  the number of attributes grows or shrinks. Oh well. 

One caution: 
The data is turned 90 degrees from conventional MV data design: the
values should have been the attributes; the attributes, values.  Each
value has a different meaning, multi-attributes for multiple
occurrences.






Here is a sample subroutine that displays the data and a dummy program
that calls it. Then from the menu, I get to pseudo-TCL and execute the
dummy program. 

CT CDS.BP SYS9001 DUMMY 

SYS9001 
0001 SUBROUTINE SYS9001 
0002 CRT Depth Executing.. Address 
0003 S = SYSTEM(9001) 
0004 FOR A = 1 TO COUNT( S, @AM ) 
0005 CRT SA,1 4R##: : SA,2 40L#40: SA,3 

0006 NEXT A 
0007 CRT QUOTE( S ) 
0008 RETURN 
DUMMY 
0001 CALL SYS9001 
. ED VOC LIST 

8 lines long. 
. - - - -: XEQ RUN CDS.BP DUMMY 
Executing the command RUN CDS.BP DUMMY 
Depth Executing.. Address 
3: CDS.BP.O/SYS90010x6 
2: CDS.BP.O/DUMMY 0x0 
1: /dbms/uv/catdir/*UVPRINTMSG 0x4b40 
0: /dbms/uv/catdir/-MATBLOCK 0x0 
-1: /dbms/uv/catdir/-PERMISSIONS 0x0 
-2: /dbms/uv/catdir/-GET.FILE.NAME 0x0 
-3: /dbms/uv/BP.O/ED.B 0x0 
3}CDS.BP.O/SYS9001}0x6~2}CDS.BP.O/DUMMY}0x0~}/dbms/uv/catdir/*UVPRINTMS
G}0x4b40~0}/dbms/uv/catdir/-MATBLOCK}0x01}/dbms/uv/catdir/-PERMISSIONS}0
x0~-2}/dbms/uv/catdir/-GET.FILE.NAME}0x0~-3}/dbms/uv/BP.O/ED.B}0x0~ 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] POKE command on Universe

2007-09-04 Thread Stevenson, Charles
Is it just feed-mode  that doesn't work, or tandem in general?
If the latter, it be a matter of permissions on the binary executable.

On unix, tandem itself won't let non-administrators proceed, even if there are 
execution rights for group or other.

On QA/Dev we use the sticky bit to let any ol' developer in, executing as root:

   $ls -l $UVHOME/bin/tandem
   -rwsr-x--x  1 root  other  2752512 Jul 29  2003 /dbms/uv/bin/tandem 
  ^
   
On production we have it configured as IBM delivers it (admin only):

   $ls -l $UVHOME/bin/tandem
   -rwxr-x--x  1 root  other  2752512 Jul 29  2003 /dbms/uv/bin/tandem
  ^
 
Once permissions are ok,  the Poke-like escF feed mode works for me, with a 
couple caveats should the targeted process dive into another unix shell.

cds

-Original Message-
From: Marcos Fogaga

Somebody knows how do I do a POKE command on Universe?
I used the POKE command with pick/D3 and I need to use now with UV.
I tried the TANDEM using feed mode, but did not work.
By the way, with D3 POKE command we can write from a line into input buffer of 
the another line.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


FW: [U2] POKE command on Universe

2007-09-04 Thread Stevenson, Charles
 Do you know how do I do a TANDEM inside a pick basic program passing
the ESC F (feed mode)?
 I have tried the EXECUTE but I can not send a ESC F.
 Using TCL shell the TANDEM in feed mode works.

Since tandem is a unix executeable, pipe the commands you want into it.
For example, suppose port 17 is sitting at TCL, and you want to print
THIS IS A TEST to it's screen.

If you have a file, tandemcmds, that contains

   ^027FDISPLAY THIS IS A TEST
   ^027X

At unix:
   cat ./tandemcmds | $UVHOME/bin/tandem 17

At basic:
  EXECUTE \SH -ccat ./tandemcmds | $UVHOME/bin/tandem 17
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Clearing a portion of a screen

2007-08-29 Thread Stevenson, Charles
The even shorter answer is: NEVER repeatedly do ANYTHING inside a loop
that will remain constant for each iteration and could be resolved
outside a loop.
That's language-, platform-, hardware-independent.  

Shoot, it's applicable to life in general.  Try it in your love life:
During initialization, marry the woman ONCE, vowing vow to love her in
sickness  health till death do you part rather than iteratively waking
up each day and wondering, Am I going to stay in this relationship
another day?  It's much more efficient.

-Original Message-
From: Ray Wurlod

The short answer is that I measure expensive by the fact that every call
to an @() function in UniVerse must be resolved by recourse to
interrogating a terminfo database.  Why do this unnecessarily?
---
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] SQL query locks

2007-08-27 Thread Stevenson, Charles
Excellent.
What about UniVerse?
I've hit it...No: It's hit me there, too.
cds

-Original Message-
From: Wally Terhune
Sent: Monday, August 27, 2007 10:48 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] SQL query locks

If this is UniData, we fixed a problem in this area at 6.1.7 (released
3/18/05):

Issue 6917 - Problem Description

UniData -- A lock release in SQL UPDATE failed, causing SQL to hold the
locks for records that were excluded from the query with a WHERE clause.
A fix to the lock checking utility corrected this issue.


Hi,
We have a Cold Fusion app that is using SQL queries.  It's locking
records, unfortunately as many as 100 at a time.  Is there a way to do
the query without locking records?  We're not updating anything.
Pam

--
Pamela J Robbins New Bolton Center
Senior Programmer AnalystSchool of Veterinary Medicine
[EMAIL PROTECTED]   University of Pennsylvania
610-925-6438
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV - Files Stats Question

2007-08-26 Thread Stevenson, Charles
 can you tell me where FAST keeps the list of files under its control ?

There should be a universe account called fastcs. 
FAST.STATS is its main interesting file you should become familiar with.


Where the fastcs directory resides is up to you.  For me, it is a sister
of the universe home dir.   In other words, when I do LIST UV.ACCOUNT I
see:

LIST UV.ACCOUNT 05:44:11pm  26 Aug 2007  PAGE1
Account...  UNIX pathname.

uv  /dbms/uv
fastcs  /dbms/fastcs



List the FAST.STATS dictionary and then write your own queries.
The key to FAST.STATS is the pathname.

There are ancillary control files like FAST.LISTS, FAST.SESSIONS, etc..
You'll figure it out once you start looking.



One complaint I have with FAST is that it doesn't keep history.
I want to see where a file has been and where it is going,  so after I
run my weekly Gather Stats,  I copy each newly updated FAST.STATS
record to my own FAST.STATS.HIST where the key is
[idate]*[fast.statsID(i.e.,path)].  Indexed on date, path, filename.

Then I can look at how a file is changing over time (number of data
bytes, items, etc.).
I and my comrades have found that useful not just in sizing but in
application analysis  research.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV - Files Stats Question

2007-08-26 Thread Stevenson, Charles
Jeff,
I wouldn't worry about the cyberspanking. We pay Charles those big bucks
to monitor this list, and he's earning his keep.  (He insisted on 75%
the u2 users list subscription fees goes to him,  but the U2UG former
president, Charles Barouch, chiselled him down to 50%.) 

I always appreciate vendor response to questions.  You've always been
very helpful.  The fact is, FAST probably does what the original poster
wants, if he can figure out how to do it technically.

The rules on [AD] are are a bit loose.  I don't think we make IBM people
add [AD]  when then giving technical info or mentioning something
about a new release or routine admonitions to take the Internals class.
I suppose you maybe strayed when announcing rev 6.   Hey, I think that's
the first I heard of 6.  You know, you could stand to be a little more
marketing oriented.

Charles not the cyber-spanking Barouch one Stevenson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [ud] Question on Alpha Sorting...

2007-08-26 Thread Stevenson, Charles
I think I would want to encapsulate that logic in one place.   Probably
write a function or subr to be called from any pgm or referenced by a
dictionary V-item.

Store the names as typed in the data record, and NOT repeated as
all-caps.  Then maybe index the V-item upcased subroutine result.  That
would give the function something to check to prevent duplicates when
inserting new names, assuming that is an issue.

At any rate, the function would be a self-contained blackbox, consistent
for all present  future use.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Is U2 University worth going to? YES!

2007-08-20 Thread Stevenson, Charles
I'm planning to attend the San Francisco edition, late November.

I was at IBM's huge conference last year and we (U2) just got lost in
the mix.  This is a much better format.
I suppose if you have AIX and U2 and Tivoli, last year's CAAOC
(Conglomerated Association of Affiliated Organizations Conference) was
ok, because you could talk about all three in one place, but I only met
a few other u2 users when milling about.  I think users of non-U2 IBM
products had the same frustration. 

I think IBM ended up limiting the number of U2-related breakout sessions
too.  We could have used more.

And it was expensive. I'm guessing half the attendees were IBM
employees.  Maybe we had to pay for them.

What did we get for that extra grand, pooling our education dollars with
the disparate dollars of diverse  disciplines whose only commonality was
the vendor?  (a) A roped off section of Disneyland for an evening with
music so loud that my ears rang  I couldn't network anyway, even when I
could find some fellow u2-ists in the crowd; and (b) Gladys Knight and
the Pips. Big whoop. (Tho I like Susan Joslyn's suggestion of Bono 
U2.)

I'm looking forward to this year's conference.


See you in SF,
Chuck Stevenson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UVTSORT config parameter

2007-08-10 Thread Stevenson, Charles
Dear Messrs. Dreyfuss, Oliver, Wurlod, gurus all,

My original request was for words of wisdom.  History lessons count.
The older I get, the more I value them.  Thank-you.

But I was more interested in the future (my own):

- Why would I enable multi-threading? (UVTSORT 1)

- Why would I disable multi-threading? (UVTSORT 0)

- If 1 is always right, why did IBM make it configurable by the user?

- What symptoms would make me suspect I have it wrong?

- How would one test it?

- Is there any documentation?


Cherishing your every word,
Chuck

P.S. I'm anticipating upgrade to HP Itanium, HPUX11.23, UV 10.2.5.
I assume multi-threading sorting applies there, although it wasn't
stated.

-Original Message-
From: LeRoy Dreyfuss
Thx Mr. Oliver. I recall our pal Pete Simonson telling me that some
years ago. Just didn't want to stick my neck too far out without some
caution :-)
-Original Message-
From: Clifton Oliver
Yes. According to my conversations with DG, the project was referred to
as Firestorm and had DG's affinity throughout.
 Not sure, but I believe VMark had DG do the actual development for 
 affinity.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UV] Speeding up a big BY.EXP select

2007-08-09 Thread Stevenson, Charles
Without a doubt:
   SELECT BIGFILE BY @ID BY.EXP MV.ATTRIBUTE

-

It has always frosted my shorts that in order for WHEN to kick in, you
need BY.EXP even if you don't care about the sort order.

So, Given that sorting is syntactically necessary,
and Given that you don't really care about the order,
you should, without a doubt:
   SELECT BIGFILE BY @ID BY.EXP MV.ATTRIBUTE

Reason:  _S_U_B_S_E_Q_U_E_N_T_ use of the resultant list.
All the select list entries for each record will be lumped together so
the disk read of that record occurs once, for the 1st mv occurrence.
Subsequent requests for values from that record will still be in cache.
If you sort by MV.ATTRIBUTE before @ID, you will have multiple reads on
the 

Example:

1st sort:  BY @IDBY.EXP MV.ATTRIBUTE 
Resultant
List:  X}1|7}0  X}1|7}0
   X}2|7}0  Z}3|7}0
   X}3|7}0  X}2|7}0
   Y}7|7}0  Y}7|7}0
   Y}8|7}0  Z}10|7}0
   Z}3|7}0  X}3|7}0
   Z}10|7}0 Y}8|7}0
   Z}5|7}0  Z}5|7}0

The select (or saved) list generated by BY.EXP selections has value 
subvalue marks in it, the extra stuff telling RetrieVe (or READNEXT)
where to dig out the relevant value  subvalues.

Notice that the 1st column is in id order, the 2nd will bounce around.
This is significant when the list is millions long.


cds

P.S.  I'm going to post a question about UVTSORT config parameter
separately.  I don't know its impact here.


-Original Message-
From: Boydell, Stuart

I have a large file with an MV set I need to do an exploding sort
against (about 2 million records, about 20 MVs per record). I'm not
actually after any particular sort order but it's taking hours.
I'm wondering if there is any efficiency advantage by telling it to use
a primary sort on the ID or just to sort on the MV attribute? 
My (probably flawed) reasoning is that if the primary sort is on the id
then the sort process wouldn't have to build up one big explode - as it
would have a primary sort by record, it then only needs to explode each
record at a time.

Eg. 
SSELECT BIGFILE BY @ID BY.EXP MV.ATTRIBUTE Or SSELECT BIGFILE BY.EXP
MV.ATTRIBUTE

Anyone know the answer to that one?

Stuart Boydell
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] UVTSORT config parameter

2007-08-09 Thread Stevenson, Charles
UV 10.1 introduced a new configuration parameter.
Admin manual says:

UVTSORT  The value of this parameter can be either 1 or 0. 
 A value of 1 enables multithreaded sort. 
 A value of 0 disables multithreaded sort. 


I don't see any further discussion of it than that.
Does anyone have any words of wisdom?

cds
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] How to use LOCATE in an I Descriptor

2007-08-09 Thread Stevenson, Charles
There isn't a UV- or UD- or PI-supplied way.

I wrote a utility function to do that years ago, but you have to account
for the THEN vs. ELSE clause  as well as returning the position number.
I did that by returning a negative number on ELSE.  Then the calling
I-descriptor has to test for +/-  act accordingly.  Yuck.

I am generally biased toward utility routines and i-descriptors, but
after using implementing my LOCATESUB() in actual i-descs, I recommend
just writing a little i-desc function that does exactly what you need,
with the LOCATE statement buried in there.

It's more maintainable.

cds

-Original Message-
From: Doug Farmer

I have someone asking me how to use a LOCATE statement in an I
Descriptor.  I have never done that and would not know if it is
possible, or what the syntax is.  Does anyone know if you can do this,
and what the syntax would be to use the resultant location?

Thanks

Doug
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UV] Speeding up a big BY.EXP select

2007-08-09 Thread Stevenson, Charles
This is so great!!

   the WHEN-BY.EXP connection was removed a few releases back.  

On my 10.0.16 I live under the tyranny of the old regime.

My shorts have thawed . . . Wait, now they've frosted over again:  

I'm reading release notes for 10.1  10.2  and I don't see anything
about WHEN/BY.EXP. Did I miss an important doc?  I admit I haven't read
everything yet. Where  how was I supposed to find this out?

cds


P.S. My comment about sorting by id before mv.attribute still stands.
All else being equal, if you don't are about the order, lump all the
select list entries for the same record together for the sake of
subsequent use of the resultant list.

Under the new regime I suppose the proper syntax is:

  SELECT BIGFILE WHEN MV.ATTRIBUTE = xyz

 (or whatever the criteria are.)


   -Original Message-
   From: Ron Hutchings
   The comment about the WHEN-BY.EXP connection was removed a few
releases
   back.  Now, if you use WHEN it will pick off only the multi-value
that
   matches and the rest do not display.
   __

 From:  Stevenson, Charles
 Without a doubt:
 SELECT BIGFILE BY @ID BY.EXP MV.ATTRIBUTE
 -
 It has always frosted my shorts that in order for WHEN to kick in,
you
 need BY.EXP even if you don't care about the sort order.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] EXECUTE environment in Universe

2007-08-08 Thread Stevenson, Charles
Yes, except K officially stands for Keep-select-list-active, rather
than Keys. 

It's a wonderful little tool.  You can create your own
application-specific 
utility verbs that create select lists to be acted on by the next
command.

cds

-Original Message-
From: john reid
Sent: Wednesday, August 08, 2007 10:38 AM

Once again at risk of stating the already known...
The 'k' causes the end of the execution to retain the 'KEYS' from a
select list?
j


On 8/8/07, Ray Wurlod [EMAIL PROTECTED] wrote:
 K mode means that the Verb (the Catalog entry) has K in field #4.
 It may be the answer you need.
 Reference is (from memory) a section in the UniVerse Admin Guide about
adding functionality to the VOC file.

  Yes, I am using PICK flavor and have set the LAYERSEL option to the 
  default - 0. The manual mentions a K Mode. I don't know what that 
  is and can find no other reference to it in any of the 
  documentation.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [u2] : Cleaner Case Statement

2007-07-25 Thread Stevenson, Charles
From: Clifton Oliver
 Execution should flow top to bottom, not left to right, from a
comprehension viewpoint.

Comprehension contributes to Maintainability, the premiere attribute of
software quality.
Along same lines, each case block should test the same sort of thing.
Don't get sneaky for efficiency's sake.
(Note: Efficiency  Maintainability are often in tension.)

E.g.: You are sorting cobras, bugs, garter snakes, lizards, 
rattlesnakes.
The 2nd method below increases your chances of giving this to a junior
programmer, an important consideration when sorting vermin.

Don't do this:

   begin case
  case legs = 6   ; bug
  case legs = 4   ; lizard
  case red stripe ; garter snake
  case hood   ; cobra
  case rattles; rattlesnake
   end case

Do this instead:

   begin case
  case legs = 6   ; bug
  case legs = 4   ; lizard
  case legs = 0   ; * (snake)
 begin case
case red-stripe ; garter snake
case hood   ; cobra
case rattles; rattlesnake
 end case
   end case

cds
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] UV10.0.16-10.2.x; HP Risc-Itanium; hpux 11.11-11.23

2007-07-16 Thread Stevenson, Charles
Seeking advice, warnings, testimonials.

We are considering moving from HP's RISC platform to their new Itanium
hardware.
This implies a unix upgrade (from HPUX 11.11 to 11.23).
Our current uv10.0.16 is not certified for hpux11.23, so I must upgrade
to 10.1 or 10.2.
 Redback 4.2.3 to at least 4.2.6.

I am thinking of going to as modern a version of UV as advisable.

Any gotchas going from:
  - UV 10.0 to 10.2?
  - would you advise 10.1 instead of 10.2?
  - hpux 11.11 to 11.23 ?
  - Risc to Itanium ?
  - Redback (aka WDE): minimal to 4.2.6? Or jump to 4.4?  Only 4.3?

Any communication on- or off-list is welcome.

Thank-you,

Charles Stevenson
DBA, Getronics, Inc.
714-641-5943
[EMAIL PROTECTED]
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UV] Stacker commands

2007-07-16 Thread Stevenson, Charles
@COMMAND.STACK.

Yot can also use SAVE.STACK and GET.STACK commands to put them into
SAVEDLISTS

From: Jacques G.
When the .L command is done at the TCL level, the last executed
 commands are shown.  Anyone here know where those commands are
 stored ?
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Tony Jones/WA/QBE/Insurance is out of the office.

2007-07-05 Thread Stevenson, Charles
  I will be out of the office starting  04/07/2007 and
  will not return until 09/07/2007.
 five months?  :-)  Clearly, he's using European-style
 (or should I just say non-American) dates.  


The USA leads the way in other innovations too:
http://upload.wikimedia.org/wikipedia/commons/1/17/Metric_system.png
(The funny thing is, the US really is an innovator.  Go figure.)
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] OPEN FILENAME TO F.FILENAME ELSE STOP problem in a loop.

2007-07-05 Thread Stevenson, Charles
Dave,
Brenda's approach is basically how I'd handle it.
I encourage you to stepp through the execution with the debugger, RAID.

That might make more clear what's happening, than any number of prose
responses on-list. 

cds

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dave R
Sent: Thursday, July 05, 2007 2:47 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] OPEN FILENAME TO F.FILENAME ELSE STOP problem in a loop.

I am trying to open a group of files from a list of files in the table
file.
Does anyone know how to make the constant in the open file statement
work. I get the good old IMPROPER DATA TYPE error message when I try to
read the file I opened with the code. In the mean time I will open each
file separately .
Thanks Dave.

OPEN 'TABLE'TO F.TABLE ELSE STOP 201,'TABLE'
READV INV.FILES FROM F.TABLE ,INVENTORY-FILES,1 ELSE
   CRT; CRT CANT FIND TABLE 'INVENTORY-FILES'; RETURN
END
CONVERT ',' TO @VM IN INV.FILES
FDC = DCOUNT(INV.FILES,@VM)
FOR F = 1 TO FDC
   FILENAME = INV.FILES1,F:-INV
   FILE.NAME = INV.FILES1,F
   F.NAME = 'F.':FILE.NAME
   OPEN FILENAME TO F.NAME ELSE STOP 201, FILENAME
NEXT F
*


Dave R

e Fax (815)4259364
P.O. Box 17811, Irvine CA 92623-7811
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] RE: OT Mutitask

2007-06-29 Thread Stevenson, Charles
Mark, That's good.

I've cross-posted to u2-community, preempting the lifeguard kicking this
thread out of the u2-users pool.

cds
-Original Message-
From: Hennessey, Mark F.
Subject: RE: [U2] [AD] OT Mutitask [not-secure]

Mutitask (intransitive verb)- When an assignment's scope or definition
is radically altered before the task is complete.

Example: We need the sorting on report X changed. Becomes: Users must
be able to run reports at any time during the day or night and receive
the output via Navajo Code Talker. The system must support reporting on
future data. And no budget increase. 
--
'Must be able to mutitask'
Is that like having the capability to alter the biocharacteristics of a
task, sort've on the fly?'
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [AD] [U2] Basic developments reverse engineering tool ?

2007-06-29 Thread Stevenson, Charles
If I recall correctly, SoftWhere handled that sort of thing.
I do remember seeing it pick up subroutine's uses of files where the
file variable was passed as an argument from the calling program.

-Original Message-
How does it work with parameter driven code.

One of my clients has procs like this:

HRUN BP SOP1500
STON
HORDER
HCUSTOMER
HPRODUCT
HVENDOR
P

whereby the program (BP SOP1500) has the corresponding INPUT statements
for the file names and opens them as F1, F2, F3
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Basic developments reverse engineering tool ?

2007-06-27 Thread Stevenson, Charles
The best such tool I ever saw was SoftWhere by Joe Toledo.  I don't know
if he still sells it.
It reads source code, dictionaries, procs, and maps dependencies. 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Herve
Balestrieri
Sent: Wednesday, June 27, 2007 8:23 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Basic developments reverse engineering tool ?

To clarify the inquiry : I am seeking for a tool reading Basic source
code modules and producing a technical documentation of an application
automatically.
This is not the purpose of an object code decompiler.

Thanks

Herve' Balestrieri

 There was UN-Basic that took compiled code and reverted it back to 
 source code.
 My 1 cent
 Mark Johnson
 - Original Message -
 From: Herve Balestrieri [EMAIL PROTECTED]

  Does it exists a (marketed?) tool for MV databases (i.e UniVerse) 
  that would allow to make the reverse engineering of an 
  application, based on automated Basic source code analysis ?
 
  Thanks for any information.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UV] Trigger(s) on distributed file

2007-06-22 Thread Stevenson, Charles
PARTFILES on UV is purely decorative. (Someone _please_ correct me if
that isn't true!)

PARTFILES was vital on PI, but maintained on UV solely for backward
compatibility in case guys like us ported some user-grown PI critter
that relied on it.

Perhaps a UV example would help.
FSR is distributed, type27, with 5 partfiles.
The 5 parts are each dynamic hashed, type30.
The 4096 byte OS file called FSR is filled with x00 and xFF bytes,
scattered with some pointers to the partfiles.

LIST.DF FSR
Part file /u1/SIMS5/FSR_p5, Part number = 5.
Part file /u1/SIMS5/FSR_p2, Part number = 2.
Part file /u1/SIMS5/FSR_p3, Part number = 3.
Part file /u1/SIMS5/FSR_p4, Part number = 4.
Part file /u1/SIMS5/FSR_p1, Part number = 1.


CT VOC FSR

 FSR
0001 F (dist file)
0002 FSR
0003 /software/SIMS5/DICTS/D_FSR


SH -c ls -l FSR FSR_p?/*
-rw-rw-r-- 1 simsprod simsusers   4096 Jun 11  2004 FSR
-rw-rw-r-- 1 simsprod simsusers 1091520512 Jun 22 11:02 FSR_p1/DATA.30
-rw-rw-r-- 1 simsprod simsusers 1798778880 Jun 22 11:02 FSR_p1/OVER.30
-rw-rw-r-- 1 simsprod simsusers 1092890624 Jun 22 11:02 FSR_p2/DATA.30
-rw-rw-r-- 1 simsprod simsusers 1799092224 Jun 22 11:02 FSR_p2/OVER.30
-rw-rw-r-- 1 simsprod simsusers 1092229120 Jun 22 11:02 FSR_p3/DATA.30
-rw-rw-r-- 1 simsprod simsusers 1793253376 Jun 22 11:02 FSR_p3/OVER.30
-rw-rw-r-- 1 simsprod simsusers 1092395008 Jun 22 11:02 FSR_p4/DATA.30
-rw-rw-r-- 1 simsprod simsusers 1794936832 Jun 22 11:02 FSR_p4/OVER.30
-rw-rw-r-- 1 simsprod simsusers 1097713664 Jun 22 11:02 FSR_p5/DATA.30
-rw-rw-r-- 1 simsprod simsusers 1794174976 Jun 22 11:02 FSR_p5/OVER.30


SH -c strings FSR
O[{
FSR_p5
/u1/SIMS5/FSR_p5
FSR_p2
/u1/SIMS5/FSR_p2
FSR_p3
/u1/SIMS5/FSR_p3
FSR_p4
/u1/SIMS5/FSR_p4
FSR_p1
/u1/SIMS5/FSR_p1
 

I used unix utility strings instead of cat below because of all the
non-printable characters.
I think I could, should make this file read-only. June 11 2004 was when
I created it.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] _PH_ ID

2007-06-21 Thread Stevenson, Charles
 UV ...You could build the ID in the program using SYSTEM(12) and
DATE().
 PH.ID = 'programname_':FIELD(SYSTEM(12),'.',1):'_':DATE()
 Or
 PH.ID = 'programname_'@TIME:'_':@DATE

Yeahbut, fire off 100 jobs of the same name WITHIN THE SAME SECOND and
look at the games UV plays with the PH id!

(Off-topic comment that will get me kicked to u2-community:
So, along with the recent request for a program to trace who called it,
we're asking for programs to be self-aware: Who am I?, Where did I
come from?.  Questions usually reserved for teenagers  the pious, with
the associated sentience meta-pondered by bio-ethicists.
That's an artificially intelligent comment in at least two ways.  
Ok, Mr. Moderator, sir, I'll go quietly...)

cds
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Unix cat help

2007-06-20 Thread Stevenson, Charles
grep '' fileA fileB | sort -n -t: -k2

grep will prepend file name if you grep thru multiple files.
If you grep for '', you'll get every line.
Then sort by what follows the colon.

As an example, suppose 2 files:

fileA:3
fileA   fileB  
  14 
   1  13 
   3  12 
   5  11 
   7  10 
   9   8  
  11   6  
  12   4  
  13   2  
   0  
   
$grep '' fileA fileB | sort -n -t: -k2

fileA:
fileB:0
fileA:1
fileB:2
fileA:3
fileB:4
fileA:5
fileB:6
fileA:7
fileB:8
fileA:9
fileB:10
fileA:11
fileB:11
fileA:12
fileB:12
fileA:13
fileB:13
fileB:14 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Time conversion code

2007-06-07 Thread Stevenson, Charles
 From: Anthony Youngman
 If it has been changed, it should be logged as a bug!
  From: Norman, David
 This (IMO unwanted) change in functionality occurred at 10.0.

UV users any  all,
Please post results to this simple test: 

   LIST VOC RELLEVEL  EVAL @RECORD  EVAL 9 CONV MTS

At 10.0.16 I get inconsistent results in Pick, Ideal,  the UV admin
acct all on the same system.
Has this been a flavour difference forever, or a recent *cough* feature
*cough* *cough*?

--- Pick ---
VOC. @RECORD 9.
RELLEVEL X   25:00:00
 10.0.16
 PICK
 PICK.FORMAT
 10.0.16

   --- Ideal --- (same system)
VOC. @RECORD 9.
RELLEVEL X   01:00:00
 10.0.16
 NEWACC

 10.0.16

   --- UV acct --- (same system)
VOC. @RECORD 9.

RELLEVEL X-type - Th 01:00:00
 e RELEASE L
 EVEL of thi
 s account
 10.0.16
 ADMIN

 10.0.16
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] A question of dictionaries.

2007-05-24 Thread Stevenson, Charles
Bottom line, dictionaries should be controlled.  Period.

I lock the dicts with os-level permissions.
Just live wth EVAL restrictions. SQL not used much.
For those few cases where EVAL is important:
 - references a limited copy of the full dictionary where the user can
write. 
  - via a 2nd F-pointer
  - via the USING keyword
 - or run the affected reports in background by dict owner
 
We happily use PRC here,  it emphasizes control of the tools such as
ED, as Susan suggests.  So we do both, control tools  OS permissions.

For other shops I have written UV frontends to RCS and MS Visual
SourceSafe.
One can control:
 - each dict item as a separate flat file, where there is a source
controlled directory for each dictionary.
 - the entire dictionary in one controlled flat text file, using a
utility to pack and unpack.  I favour this with RCS because then you can
use rcs keywords in a header section.  And complicated dicts use I-,
PH-items  correlatives that reference one another, so entire dict needs
tracking  recompilation when one dict item is changed.

Chuck Stevenson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] A great way to Pick an innocent fight

2007-05-23 Thread Stevenson, Charles
by some estimates comprise nearly half of all IBM's database revenues.

? I'd like to know the source behind that.
A longer quote:

   Pick derivatives exist in many forms today. The most 
   significant are UniData and UniVerse, both of which had 
   independent lives before being acquired by IBM in the 1990s, 
   where they are now referred to as the U2 product family.

   IBM never uses the word Pick, but refers to these products 
   as using an extended relational model. They remain extremely 
   popular, and by some estimates comprise nearly half of all
   IBM's database revenues.
 
Thanks, Stuart.
Chuck Stevenson

-Original Message-
From: Boydell, Stuart

I haven't seen anyone mention this article today but U2 (and Dawn W)
just got a good rap in yesterdays 'Age'.

http://www.theage.com.au/news/perspectives/heres-a-great-way-to-pick-an-
innocent-fight/2007/05/21/1179601329688.html

Stuart Boydell
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [BB] U2 Enhancement Request - WRITE

2007-05-23 Thread Stevenson, Charles
How about variations on the OPEN statement so one could check for the
needed permissions up front:

  OPENR  - open for read only
  OPENW  - open for write only
  OPENRW - open for read  write 
 (OPEN   - same as today for backward compatibility)

the ELSE clause would taken if you don't have the required permission.
If you subsequently attempt to either read or write, but haven't opened
it properly, you'd error out similar to when the file-variable is
undefined.



But even without this, on UV some of your concerns can be addressed
already.

1. STATUS statement can show you ahead of time what permission you have.


A higher-level function or subr would be in order, but down  dirty it's
this on unix:

OPEN  TO FVAR ELSE STOP
STATUS FSTAT FROM FVAR ELSE STOP
CRT 'MODE = ': OCONV( FSTAT5, 'MO' )  ;* octal

If it prints 100640 
    640 octal 
--- 110 100 000 
 -- rw- r-- ---
  - owner: can read  write
 group: can read
 other: no access
Next step is to figure out owner, group.
   FSTAT8 = owner no.
   FSTAT9 = group no.
   FSTAT30 = owner name
 if the current user is either.


2. To avoid fatal errors on illegal writes, WRITE has ELSE and ON ERROR
clauses available to it, that, if they exist, will get executed.


3. uv/errlog also contains entries for fatal errors.


Would these approaches satify?



-Original Message-
From: Susan Joslyn

When a BASIC program in either U2 flavor attempts a write to a file that
cannot be written to the program bombs completely out to TCL and no
information is given about the file, nor about the specifics (is it the
owner, the group, the RWX permissions?).

There are system commands in both flavors that can be used to query a
file's write-ability before attempting the WRITE.  Before I go try to
find every write in the system and put that check into place, I'm
wondering why can't the write itself do this?  Ideally not bomb out of
the program, but even if that is hard to correct, reporting the NAME OF
THE FILE that couldn't be written to would save many hours of system
scouring!
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


UV 8.3 VLIST (was: [U2] - Is VLIST in version 10.2 fragile?)

2007-05-22 Thread Stevenson, Charles
What if someone on the listas UV8.3 or maybe even 9.x or 10.1 would send
Keith a copy of uv/bin/vlist?  Could he run that against his old object?

Or maybe IBM or his vendor could get it to him.

LeRoy,
It's nice to see you've resurfaced on the list! 
How's South Africa treating you?
Chuck

-Original Message-
From: LeRoy Dreyfuss

... I did notice is that the object in question was last compiled on UV
8.3...VLIST is struggling with the opcodes in the older code

-Original Message-
From:  Keith Johnson (DSLWN)

We have just upgraded both Universe and System Builder, going from UV
10.1.8 to 10.2.0 and from SB+ 3.4 to 5.4.

... not all the source code was on the production system...try VLIST, it
seems to get the testfw jump wrong...gets out of step ...
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] WRITE issues??

2007-05-22 Thread Stevenson, Charles
I know you already said it's ok, but I'd double check for READs where
READUs belong.
Especially since you've described this as having a Pick heritage from a
time when some Pick implementations and programmers did not handle
locking well.
  
One user's changes can easily wipe out another's. 
WRITE will make use of the lock table even when the program does not ask
for it explicitly.

Consider 2 programs updating the same record, one using READU, the other
without explicit locking, where the chronological chain of events is
this:

0. --- on disk Rec 123: 'A~B~C~Moby Dick' ---
('~' is an attribute mark)

User JackUser Jill
==
Wants to Wants to
 change Moby Dickchange A~B~C
 to Tom Sawyer   to X~Y~Z

 1. READU REC FROM F,'123'
   - sets lock
   - gets 'A~B~C~Moby Dick'   
  
 2. REC1 = X
REC2 = Y
REC3 = Z
in private memory: 
 (X~Y~Z~Moby Dick)

3. ---( on disk still as 'A~B~C~Moby Dick' )---

4. READ REC FROM F,'123'
   (ignores lock, sets none.)
   gets 'A~B~C~Moby Dick'   

5. REC4 = 'Tom Sawyer'
   In private momory :
  (A~B~C~Tom Sawyer)

6. WRITE REC TO F, '123'

7. behind the scenes UV check for
ends up waiting for Jill to
   release the lock...waiting...
   ...waiting...waiting...

8. ---( on  disk  still  'A~B~C~Moby Dick' )---


 9. WRITE REC TO F,'123'

10. ---( on disk rec 123: 'X~Y~Z~Moby Dick' )---

11. readu lock is released.

12. UV *implicitly* 12. CRT 'Jill, success: A~B~C was
sets the lock on  changed to X~Y~Z.  Congrats.'
Jack's behalf!
Jack's version of
the rec is written,
readu lock released.

13. ---( on disk rec 123: 'A~B~C~Tom Sawyer' )---

Time passes

14. Jill calls Pam, Hey! Where are my changes?
Computer said I changed A~B~C to X~Y~Z
but it's A~B~C again!?!?  I think we need MSSQL.


Other variations on this theme will yield similar corruption if READUs
are not used consistently, exclusively, and explicitly whenever updates
are performed.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] I-DESC Dict Items Returning SUBR Value

2007-05-08 Thread Stevenson, Charles
Dave,
To attract this lists' deepest-down-diving-est,
longest-staying-under-est, most-with-mud-coming up-est gurus,  try
these:

1. Alter your I-descriptor to replace all system delimiters with a
normal character that you can see:

 01: I
 02: SUBR( 'PDESC' , @ID , @RECORD  ); CONVERT( @IM:@AM:@VM:SM:
 @TM:CHAR(250):CHAR(249):CHAR(248), iavstxyz, @ )
 03: 
 04: 
 05: 60L
 06: S
Does LIST PRINTERS PDESC display expected results?


2. Forget the subr,  check the dict:
Replace line 2 with something easy:
 DICT PRINTERS PDESC
 01: I
 02: xyz
Does LIST PRINTERS PDESC display expected results?


3. Replace xyz with hardcoded exact results you expect from the
subroutine.


4. Forget the dict item,  check the subr:
Write  run a wrapper:
OPEN 'PRINTERS' TO F ELSE STOP
ID = [something legit]
READ REC FROM F, ID ELSE STOP
CALL PDESC( ANS, ID, REC )
CRT QUOTE( ANS )
   END

If those all come out clean, it gets interesting.
Maybe it's time to post source for UHL.WRAP.


Happy digging,
Chuck
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] 2 questions, one on STATUS and the other on STEAL-FILE

2007-05-08 Thread Stevenson, Charles
 The basic STATUS IE
 STATUS ARRAY FROM F.FILE ELSE ARRAY = ''
 returns 30 + attributes is the definitions covered in a manual
  some where?

I copied from the manual  came up with an include file for the STATUS
statement that mimics the very nice UNIVERSE.INCLUDE FILEINFO.H that IBM
gives us for FILEINFO().

Example code snippet:  

   $INCLUDE INCLUDE.LIBRARY UV.STATUS.STMT.H
   STATUS FILE.STATUS FROM FILEVAR THEN
  MOD.IDATE = FILE.STATUS FSTAT$MOD.DATE
  MOD.ODATE = OCONV( MOD.IDATE, 'D4/')


Help yourself:



* $INCLUDE : UV.STATUS.STMT.H
*
* Author: Charles D. Stevenson
* Date  : Jan. 1999
* Type  : General utility $include
* Desc. : Mnemonics for attributes of dynamic array from STATUS stmt.
* Mod Date   Who  Description
* -- 
---
* 10/07/2002 cds33896 PRJ*37-Include filerev  other new STATUS stmt
info
*---
* Works with result of basic statement (not function!) :
*STATUS file.stat.array FROM file.variable
*
* There should be, but is not, a similar include in UNIVERSE.INCLUDE
* as supplied by Ardent.  This makes up for that lack.
**

  EQU FSTAT$CURPOS TO 1  ; *Current position
Offset in bytes  from
 ; * in the file
beginning of file
  EQU FSTAT$EOF TO 2 ; *End of file reached
1 if EOF, 0 if not
  EQU FSTAT$ACCERR TO 3  ; *Error accessing file
1 if error, 0 if not
  EQU FSTAT$CHARREAD TO 4; *Number  of  characters
 ; * available to read
  EQU FSTAT$MODE TO 5; *File mode
Permissions (convert to octal).
  EQU FSTAT$BYTES TO 6   ; *File size
In bytes
  EQU FSTAT$HARDLINKS TO 7   ; *Number of hard links
0 if no links
  EQU FSTAT$OWNERNO TO 8 ; *User ID of owner
Number assigned in /etc/passwd
  EQU FSTAT$GROUP TO 9   ; *Group ID of owner
Number assigned in /etc/passwd
  EQU FSTAT$INODE TO 10  ; *i-node number
Unique ID of file on file system
  EQU FSTAT$IDEV TO 11   ; *Device on which i-node
Number of device
 ; *  resides
  EQU FSTAT$CHARDEV TO 12; *Device for character
Number of device
 ; *  special or block
  EQU FSTAT$ACCESS.TIME TO 13; *Time of last access
Time in internal format
  EQU FSTAT$ACCESS.DATE TO 14; *Date of last access
Date in internal format
  EQU FSTAT$MOD.TIME TO 15   ; *Time of last modification
Time in internal format
  EQU FSTAT$MOD.DATE TO 16   ; *Date of last modification
Date in internal format
  EQU FSTAT$STAT.TIME TO 17  ; *Time of last status change
Time in internal format
  EQU FSTAT$STAT.DATE TO 18  ; *Date of last status change
Date in internal format
  EQU FSTAT$CHAROUTQ TO 19   ; *Number of characters left
 ; *  in output queue
(applicable
 ; *  to terminals only)
  EQU FSTAT$UNIXNAME TO 20   ; *UNIX filename
The internal  pathname
 ; *
uniVerse uses to access
 ; *
the file
  EQU FSTAT$TYPE TO 21   ; *uniVerse file type
Type 1 - 19, 25, or 30
  EQU FSTAT$MOD TO 22; *uniVerse file modulo
For file types 2 - 18 only
  EQU FSTAT$SEP TO 23; *uniVerse file separation
For file types 2 - 18 only
  EQU FSTAT$PART.NOS TO 24   ; *Part numbers of part files
Multivalued list. If file  is  a
 ; *  belonging to a
part file, this field
 ; *  distributed file
contains the part number
 ; *
and field 25 is empty.
  EQU FSTAT$PART.PATHS TO 25 ; *Pathnames of part files
Multivalued list. If file  is  a
 ; *  belonging to a
part file, this field is
 ; *  distributed file
empty.
  EQU FSTAT$PART.FNAMES TO 26; *File names of part files
Multivalued list. If file  is  a
 ; *  belonging to a distributed
part file, this field is empty.
 ; *  file
  EQU FSTAT$PATH TO 27   ; *Full UNIX pathname
The  full  pathname   (beginning
 ; *
with / ) of the file
  EQU FSTAT$SQLPRIV TO 28; *Integer from 1 through 7
SQL file permissions:
  EQU FSTAT$SQL.W TO 1   ; *
1 write only
  EQU FSTAT$SQL.R TO 2   ; *
2 read only
  EQU 

RE: [U2] Differences between UV and UD

2007-04-30 Thread Stevenson, Charles
I wonder if these answers could be turned into the start of a U2UG
Knowledgebase entry.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Runtime Stack Overflow [uv]

2007-04-03 Thread Stevenson, Charles
And look for GOTO where RETURN should have been used to exit a gosub,
thus goofing up the return stack, which grows and grows and grows.

Brian's SYSTEM(9001)  PORT.STATUS LAYER.STACK are good debug
suggestions.
I haven't seen this error associated with too many files being open, but
PORT.STATUS also has a FILEMAP  MFILE.HIST options. 

Note to those unfamiliar with PORT.STATUS: All 3 of these options
only(?) work when you limit the report via the PID keyword.  And you
might need to run it in the uv account or copy keywords into your
working account for PORT.STATUS to work in all its glory.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Passing of Bruce Nichol - Talon Computer Services

2007-03-26 Thread Stevenson, Charles
Being from the other side of the world, I didn't know him, except via
this newfangled cyber-community.  Whenever I saw that he posted, I knew
it'd be worth reading. I see from our archives that he posted here about
200 times in the past three years.  Google says another 130 to CDP.  A
contributor.

If the moderator will graciously allow just one Monty Python reference,
I always hoped there'd be a thread between him and one or more other
Bruces.  Even if they weren't all Aussies, Mr. Nichol would have given
the exchange authenticity.  I don't recall it ever happened.

Thank-you, Ross Ferris, for informing us.  Perhaps you could give this
list's rememberances and sympathies to his family.  If his family is
like most of ours, they proably have little appreciation of the
computer stuff he did or his significance here.
  
My sympathies to those of you who were his friends.

Chuck Stevenson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV - Transaction Logging - Stale Transactions

2007-03-26 Thread Stevenson, Charles
Are you using logical transactions?  I.e., basic TRANSACTION
START/COMMIT?
 Or SQL SELECT? That will automatically start a transaction (on 10.0.16
anyway) and hold it open until the SELECT ends, even tho no updates
occur.
If logs fill while a logical transaction is in process, the log will
remain in NeedSynch state.
That's my 1st guess.

Cds

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Sara Burns
Sent: Sunday, March 25, 2007 4:19 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] UV - Transaction Logging - Stale Transactions

Late last year we upgraded from UV 10.0.11 on AIX to UV 10.1.16 on Red
Hat Linux.  At the same time we implemented Transaction Logging.

We have a dispersed network with users throughout the country at about
40 sites using VOIP for our data and voice transmission.  These sessions
do sometimes get dropped due to network glitches and users do sometimes
terminate their sessions without logging off correctly.

All has gone reasonably smoothly but we are finding that we sometimes
get Stale Transactions.  This means that all subsequent transaction logs
are in the NeedSync state and the Available log files may be exhausted -
at which stage everything stops.  We have now got a large pool of log
files available.

Does anyone have any hints to investigate what is causing the Stale
Transaction so that it can be corrected so all logs can be Released
ready for reuse.  We have found that on at least one occasion they did
free themselves but we usually require a restart of UniVerse to get the
process working again.  We do have a scheduled restart at midnight while
we obtain a snapshot.  This is obviously releasing something we cannot
see.  It would be preferable to be able to remove the cause so a
consistent set of logs can be created as these are also sent to our DR
site.

The manual indicates that when you re-enable transaction logging you
will be asked if you wish to terminate pending (prepared) stale
transactions.  In our case we now have so many log files the process has
not stopped.  Due to our many dependant systems, internal and external,
it is undesirable to Disable the Transaction Logging system during
active use.  This would be a last resort.

In the latest episode there were no entries in the lock tables, no
semaphores set and we cleaned out every process we could find that was
not us or the various uv daemons.

Any suggestions would be appreciated.

Sara Burns (SEB)


IS Development Manager

Public Trust
Phone: +64 (04) 978 4534 (DDI)

Mobile: 029 978 4534
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED] 


The information contained in this communication (including any
attachment) is confidential. If you are not the intended recipient,
please destroy this communication. You must not disclose, copy or use in
any way the information contained in this communication. Any views
expressed in this communication are not necessarily the views of Public
Trust. No representation is made that this communication is free of
error, virus or interference.

.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] UV - Transaction Logging - Stale Transactions

2007-03-26 Thread Stevenson, Charles
Same kind of problem as with indexes.(  I.e, the path to the index is
part of the file header.  If the primary data file is copied,  the
duplicate is still indexing on the old index until you use SET.INDEX to
correct it.I think there's a UV enhancement request for allowing index
pathnames to be relative instead of absolute path.)

Which brings us to a need for a tool to verify  possibly correct the
log numbers in UV.TRANS and the UV.TRANS id (info buried in the file
headers themselves.)  There is a need for flexability, especially after
some kind of disaster and file systems are being rebuilt.   There is a
enhancement request in the works on this too.

cds

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Perry Taylor
Sent: Monday, March 26, 2007 11:41 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] UV - Transaction Logging - Stale Transactions

Sara,

We had occasional instances of this in the past.  We finally tracked the
cause down to one of our developers copying transaction logging-enabled
files between servers without disabling them first.  Not sure if this is
happening in your case.  Hope this helps.

Perry 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Stevenson,
Charles
Sent: Monday, March 26, 2007 1:26 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] UV - Transaction Logging - Stale Transactions

Are you using logical transactions?  I.e., basic TRANSACTION
START/COMMIT?
 Or SQL SELECT? That will automatically start a transaction (on 10.0.16
anyway) and hold it open until the SELECT ends, even tho no updates
occur.
If logs fill while a logical transaction is in process, the log will
remain in NeedSynch state.
That's my 1st guess.

Cds

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Sara Burns
Sent: Sunday, March 25, 2007 4:19 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] UV - Transaction Logging - Stale Transactions

Late last year we upgraded from UV 10.0.11 on AIX to UV 10.1.16 on Red
Hat Linux.  At the same time we implemented Transaction Logging.

We have a dispersed network with users throughout the country at about
40 sites using VOIP for our data and voice transmission.  These sessions
do sometimes get dropped due to network glitches and users do sometimes
terminate their sessions without logging off correctly.

All has gone reasonably smoothly but we are finding that we sometimes
get Stale Transactions.  This means that all subsequent transaction logs
are in the NeedSync state and the Available log files may be exhausted -
at which stage everything stops.  We have now got a large pool of log
files available.

Does anyone have any hints to investigate what is causing the Stale
Transaction so that it can be corrected so all logs can be Released
ready for reuse.  We have found that on at least one occasion they did
free themselves but we usually require a restart of UniVerse to get the
process working again.  We do have a scheduled restart at midnight while
we obtain a snapshot.  This is obviously releasing something we cannot
see.  It would be preferable to be able to remove the cause so a
consistent set of logs can be created as these are also sent to our DR
site.

The manual indicates that when you re-enable transaction logging you
will be asked if you wish to terminate pending (prepared) stale
transactions.  In our case we now have so many log files the process has
not stopped.  Due to our many dependant systems, internal and external,
it is undesirable to Disable the Transaction Logging system during
active use.  This would be a last resort.

In the latest episode there were no entries in the lock tables, no
semaphores set and we cleaned out every process we could find that was
not us or the various uv daemons.

Any suggestions would be appreciated.

Sara Burns (SEB)


IS Development Manager

Public Trust
Phone: +64 (04) 978 4534 (DDI)

Mobile: 029 978 4534
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED] 


The information contained in this communication (including any
attachment) is confidential. If you are not the intended recipient,
please destroy this communication. You must not disclose, copy or use in
any way the information contained in this communication. Any views
expressed in this communication are not necessarily the views of Public
Trust. No representation is made that this communication is free of
error, virus or interference.

.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

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

RE: [U2] Dynamic files, big transactions

2007-03-09 Thread Stevenson, Charles
Andre,

I'm with Rick.  He suggested new partfile.  But maybe some kind of
queue or workfile, that routinely gets flushed, merging to modulo 1.
And maybe zero length record or very small, so that 250 ids all land in
the same group? Is group size 4KB?

What does that have to do with the lock table in memory, you (or some
lurker) may ask?

When a record is locked, UV uses the inode  group# to determine where
to plant the lock in the lock table.   So that means that all these
records will be assigned to the same lock group, since inode  group#
(i.e., 1) will be the same for all.

If you gave it a larger minimum.modulus, or converted that queue/work
file to static, then, when you lock many or all records at once, that
would spread the load across several lock groups, since the inodegroup#
combo would vary from record to record. 

cds

P.S.  I *think* splits and merges are suspended on groups that have
records currently in the lock table.  (Since group# determines where
something is in the lock table, you couldn't have that being changed out
from under you.)  So as long as a record remains locked, your dynamic
file will be not quite so dynamic.  You might be hitting that, too.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] [UV] SEARCH command

2007-03-08 Thread Stevenson, Charles
I've often wanted the same.  Often.
Is there a [BB] (BetterBetter) Enhancement Request buried here? 

 From: Peter Veenhof
 Is anyone familiar with the TCL command SEARCH? I can do a 
 'SEARCH filename ALL.MATCH' command at TCL and then it 
 prompts for search criteria. I am wondering if it is possible 
 to make this command case insensitive as it is only working 
 case sensitive currently. 
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] old dog, new tricks

2007-03-08 Thread Stevenson, Charles
To add to Adrian's explanation, when a string is in memory, the first
few bytes at that string's address is not actual data, but metadata
about the string, including its length, so UV immediately knows where
the string ends ( where the next string begins).
Therefore -1 can make an immediate jump, rather than searching through
the string counting attributes.

This also implies that something like
IF LEN( X ) THEN
is faster than something like
IF (X # '') THEN
.

You can also see why n,-1  n,m,-1 aren't particularly fast, since
they aren't at the end of the srting.

UV keeps similar metadata up front about the last attribute accessed, 
the remove pointer.  That is what makes both REMOVE/REVREMOVE and
EXTRACTs of sequential ns so fast.

cds
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] catalog command

2007-03-07 Thread Stevenson, Charles
You've got to feel for Anita.  She's a good candidate for the U2
Incubator CD that U2UG is pushing for.  We want a single spot where a
new techie can go to install an instance of the personal edition (or
something close to it) along with explanations, examples, and pointers
to resources.  Stay tuned.

Anita, Below is an example.  There are variations on the theme.

Get used to using BASIC -X option which creates a cross-reference symbol
table.
The first time you compile,  the system will create an object directory,
[name].O  (the one you were missing when you tried to catalog), and a
crossref listing dir, [name].L  if they don't exist.  

VLIST shows you the de-compilation of the object.  It can be very
useful, too.

FORMAT is good, too, for readability.  It is a separate command  and
also an ED command, if you are using the old ED line editor.

Warning: CATALOG means sometihing differenct depending on what flavor
your account is.


The following example is simple, so -X  VLIST aren't interesting.  They
get interesting with interesting programs.

---

CREATE.FILE ANITA.BP 
Please enter the following information for the DICTionary file:

Modulo   =  1
Separation   =  4
File type=  18

Please enter the following information for the DATA file:

Modulo   =  1
Separation   =  1
File type=  19(!! PLEASE !!  19, not 1 !! )
File description =  Source programs
Creating file ANITA.BP as Type 19.
Creating file D_ANITA.BP as Type 18, Modulo 1, Separation 4.
Added @ID, the default record for RetrieVe, to D_ANITA.BP.


ED ANITA.BP MAIN SUB

SELECTed record name = MAIN.
New record.

: I
0001= CRT 'MAIN'
0002= CALL SUB( 'this is an argument' )
0003= CRT 'back in MAIN'
0004= STOP
0005= END
0006= 
Bottom at line 5.
: FI
MAIN filed in file ANITA.BP.

SELECTed record name = SUB.
New record.

: I
0001= SUBROUTINE SUB( ARG )
0002= CRT 'SUB'
0003= CRT 'ARG = ':ARG
0004= CRT 'leaving SUB'
0005= RETURN
0006= END
0007= 
Bottom at line 6.
: FORMAT

: P
0001:   SUBROUTINE SUB( ARG )
0002:   CRT 'SUB'
0003:   CRT 'ARG = ':ARG
0004:   CRT 'leaving SUB'
0005:   RETURN
0006:END
Bottom at line 6.
: FI
SUB filed in file ANITA.BP.

File name= ANITA.BP
Record name = 

BASIC ANITA.BP MAIN -X
Creating file ANITA.BP.O as Type 19.
Creating file D_ANITA.BP.O as Type 3, Modulo 1, Separation 2.
Added @ID, the default record for RetrieVe, to D_ANITA.BP.O.
Creating file ANITA.BP.L as Type 19.
Creating file D_ANITA.BP.L as Type 3, Modulo 1, Separation 2.
Added @ID, the default record for RetrieVe, to D_ANITA.BP.L.
Compiling: Source = 'ANITA.BP/MAIN', Object = 'ANITA.BP.O/MAIN'

Compilation Complete.
BASIC ANITA.BP SUB -X
Compiling: Source = 'ANITA.BP/SUB', Object = 'ANITA.BP.O/SUB'

Compilation Complete.

CT ANITA.BP.L SUB

 SUB
0001 ANITA.BP.L/SUB Source Listing
0002 
0003 
0004 Cross Reference Listing
0005 
0006 Variable... Type..
References...
0007 
0008 ARG Scalar Arg 0003
0009 
0010 *  Definition of symbol
0011 =  Assignment of variable
0012 !  Dimension of array
0013 @  Argument to CALL


VLIST ANITA.BP MAIN
Main Program ANITA.BP.O/MAIN
Compiler Version: 10.0.0.0
Object Level: 5
Machine Type: 10
Local Variables : 1
Subroutine args : 0
Unnamed Common  : 0
Named Common Seg: 0
Object Size : 30
Source lines: 5

1: CRT 'MAIN'
1 0 : 046 crtcrlfMAIN 

2: CALL SUB( 'this is an argument' )
2 6 : 0F8 move   this is an argument  = _T 
2 C : 01E call   SUB _T 

3: CRT 'back in MAIN'
3 00014 : 046 crtcrlfback in MAIN 

4: STOP
4 0001A : 190 stop   

5: END
5 0001C : 190 stop   
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe vs. Unidata

2007-03-05 Thread Stevenson, Charles
Thanks, Drew.  My bet's riding on REMOVE.

 I hope some have found this information helpful.  If I get 
 the chance, I'll try to do a more thorough testing of the 
 various dynamic array extraction methods  (EXTRACT vs REMOVE, 
 primarily) on each platform to help identifiy good 
 programming practices.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Universe vs. Unidata

2007-03-05 Thread Stevenson, Charles
 I thought that EXTRACT was not taught anymore 
 as the  nomenclature works as well.

The  nomenclature  _I_S_  EXTRACT.  Or REPLACE, for assignments.

Whenever anyone in this thread or on this list says extract or
replace they are probably  thinking of coding it as the  syntax
shortcut, rather than the completely equivalent, but less readable,
function forms.

It has been this way for decades (plural) across - I dare say - _A_L_L_
MV platforms.


E.g., VLIST from UniVerse:

1:   Y = X2,3 ; Y = EXTRACT( X, 2,3,0 )
1 0 : 060 dyn_extractX 2 3 0  = Y 
1 C : 060 dyn_extractX 2 3 0  = Y 

2:   A2,3 = B ; A =  REPLACE( A, 2,3,0; B )
2 00018 : 064 dyn_replaceA 2 3 0 B  = A 
2 00026 : 064 dyn_replaceA 2 3 0 B  = A 


I can't imagine any MV platform compiling the 2 nomenclatures
differently from one another.

Dawn Wolthius, our resident historian, can probably tell us where the 
syntax started.  My guess is Devcom Information.

cds
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


  1   2   3   4   5   >