Re: [U2] unidata index

2014-03-13 Thread Dave Laansma
I do not believe so. I believe an index is only used during the SELECT 
statement and then only when the indexed field is the only field in the select 
criteria.

So, if practical, use the indexed field in the first selection of the file, 
then all records will be in sorted order of the indexed field. Then narrow that 
list down by other, non-indexed fields.

Sincerely,
David Laansma
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Davis
Sent: Thursday, March 13, 2014 2:19 PM
To: U2 Users List
Subject: Re: [U2] unidata index

Don't know - I wouldn't index a field for that reason alone.

And it probably wouldn't help if you had other fields you were sorting by, or 
other fields you were selecting, in the same select statement.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeffrey Butera
Sent: Thursday, March 13, 2014 2:15 PM
To: U2 Users List
Subject: [U2] unidata index

Stupid index question: does indexing a field help performance when sorting BY 
that field but it's not otherwise involved in the query?

--
Jeffrey Butera, PhD
Associate Director for Applications and Web Services Information Technology 
Hampshire College
413-559-5556

http://www.hampshire.edu
http://www.facebook.com/hampshirecollegeit

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users



Dave Davis
Team Lead, Research  Development

P: 614-875-4910 x108
F: 614-875-4088
E: dda...@harriscomputer.com
[http://www.harriscomputer.com/images/signatures/HarrisSchools.jpg]

[http://www.harriscomputer.com/images/signatures/DivisionofHarris.gif]http://www.harriscomputer.com/
6110 Enterprise Parkway
Grove City, OH
43123
www.harris-schoolsolutions.comhttp://www.harris-schoolsolutions.com

This message is intended exclusively for the individual or entity to which it 
is addressed. This communication may contain information that is proprietary, 
privileged or confidential or otherwise legally exempt from disclosure. If you 
are not the named addressee, you are not authorized to read, print, retain, 
copy or disseminate this message or any part of it. If you have received this 
message in error, please notify the sender immediately by e-mail and delete all 
copies of the message.

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Reporting Tools

2014-02-28 Thread Dave Laansma
Two things. First I tend to agree with the number of columns. Perhaps the 
report is trying to do more than just a couple of things. Consider evaluating 
the various uses of this report and producing more, smaller reports that 
provide only what the needs are.

Second, I'm a programmer so I just program all of my reports. Columns and rows 
are really just one big long string with a variety of delimiters. If you are 
producing reports at TCL then a programmer could make that very easy.

Sincerely,
David Laansma
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Lettau
Sent: Friday, February 28, 2014 9:29 AM
To: U2 Users List
Subject: Re: [U2] Reporting Tools

In the past I've made dictionary names that are very short to save characters.  
But my real reason for responding is I can't help but wonder what you need 200+ 
columns for?   My first instinct when hearing this is that a report is not what 
you need.
How many rows are in this report?

Please note that my email address has changed.  Beginning immediately my new 
address is jeff.let...@soundunited.com .  Use this new address for all 
communications.

Jeffrey Lettau  |   ERP Systems Manager  | O 410.358.3600  |   D 410.764.5242   
|   5601 Metro Drive   |   Baltimore MD 21215   |   www.soundunited.com
Polk Audio - WWW.POLKAUDIO.COM
Definitive Technologies - WWW.DEFINITIVETECH.COM BOOM Movement - 
WWW.BOOMMOVEMENT.COM


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of jeffrey Butera
Sent: Friday, February 28, 2014 9:22 AM
To: U2 Users List
Subject: [U2] Reporting Tools

I'm looking for feedback from those in any industry about your report needs 
with U2 and what tools you use to solve them.  In short, Entrinsik has serious 
inroads in the academic community and Informer is a reasonably good and 
inexpensive tool for most reports.

However, we are running into issues with some users like to write large 
reports.  Large, by out standards, are reports with 200+ columns in the output.

Are others writing reports with this many output fields?  If so, are you ever 
running up against limits in the sentence size (U_SENTLEN)?  Our limit is about 
9700 chars and we have some reports hitting this limit.
I'm having a hard time explaining to some VP types that the database can't 
handle this size report...

Any feedback is welcome.

--
Jeffrey Butera, PhD
Associate Director for Application and Web Services Information Technology 
Hampshire College
413-559-5556

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users




Disclaimer: This email may contain confidential and/or privileged information. 
It is intended only for the person or persons to whom it is addressed. Any 
unauthorized review, use, or distribution is prohibited. If you are not the 
intended recipient, please contact the sender by reply email or telephone and 
destroy all copies of the original message.

Please consider the environment before printing this email.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Accuterm the Web version

2013-12-23 Thread Dave Laansma
Please elaborate. What exactly does Pete say.

Sincerely,
David Laansma
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Bruce Decker
Sent: Monday, December 23, 2013 12:58 PM
To: U2 Users List
Subject: Re: [U2] Accuterm the Web version

If Pete says it, I believe it.
-BD

On 12/23/2013 10:52 AM, Wjhonson wrote:
 We are using the Accuterm application to telnet into Universe 11

 I've toyed with the idea of using the Accuterm browser version, does anyone 
 here use that ?
 I just wonder what are the advantages or disadvantages of that.

 I know what Pete says, I want to hear from a customer though.
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] UniData Dynamic File Splitting Question

2013-07-12 Thread Dave Laansma
Agreed, the first step is to create the file so there are as many DAT files as 
necessary and only one or two OVER files. Once you've done that, copied all of 
the records over to the new file and it remains with only one or two OVER 
files, THEN do some analytics to establish the SPLIT/MERGE and the hash type 
(KEYONLY vs KEYDATA)

Sincerely,
David Laansma
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Baakkonen, Rodney A 
(Rod) 46K
Sent: Friday, July 12, 2013 12:56 PM
To: U2 Users List
Subject: Re: [U2] UniData Dynamic File Splitting Question

 We have some very large dynamic files. Some are over 100 gigabytes in size. 
Too me it is weird that you have one dat portion and 45 overflow portions of 
the file. My 100 gig file has 43 Dat portions and 1 overflow, which is what I 
try to maintain. I want as few overflow portions of the file as I can get. 

What does GROUP.STAT say about this file?  

When you do the guide, it shows how many records fall into 1-512 512-1028 
1028-2056 etc. I try and adjust my block size for the file to get close to 
80-90% of the records in the file to fit into the block size.

I usually don't use memresize to rebuild my dynamic files. I create a new file 
with the configuration I want. We have developed a process called PHANTOM.COPY. 
It requires a list of the id's that exist in the current file. Then if I tell 
PHANTOM.COPY to run using 10 phantoms, it breaks the list up into 10 pieces and 
does simultaneous copies. So it is not much slower than memresize. The 
reasoning for this is that memresize creates one overflow portion for every dat 
portion. And I don't want my 100 gig file to have 43 dats and 43 overflow 
portions. I want 43 dats and one overflow if I can do it. And PHANTOM.COPY 
allows me to get that setup. This allows me to figure out what files need 
resizing too. If I have more than a couple overflow portions, it is time to 
rebuild the file again.

Are you using KEYONLY or KEYDATA for your dynamic files. We have had problems 
with KEYDATA when we have a keys that have #''s for separators in the key. So 
for these files, I use KEYONLY.

We use all kinds of dynamic files and most are quite large. We are on 7.1 
though. So maybe 7.2 has issues. - Rod



-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Cinda Goff
Sent: Friday, July 12, 2013 11:35 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] UniData Dynamic File Splitting Question

I work with the North Carolina Community College System which supports the 58 
NC colleges.  We have an unusual dynamic file issue at a couple of the colleges 
and am hoping someone could provide some insight/direction.

OS - Solaris 10
UniData version 7.2.5 (have upgraded a couple of times in the past from 6.1 and 
7.1) Colleges have been running Ellucian's Colleague software since 2001

The problems do not seem to be occurring in all dynamic files but where there 
are issues, there are more than 100 files affected.  From timestamps in some of 
the files, we can see that this has been going on for several years but we are 
unaware of the issue until the files have split into so many parts that the 
application can no longer open enough files to read/write the files.   Database 
tools do not show these files as undersized or in overflow2.  Guide will show 
you the many parts if you know what to look for but it is not obvious that the 
file is fragmented.

When we found the issue at the first college we opened a call with Ellucian and 
was told to resize the files.We had a call to Rocket opened and 
unfortunately didn't get much further.   The Rocket support analyst looked at 
udtdiags for us and did not find anything out of the ordinary.  Rocket 
identified a couple of potential dynamic file issues at our UniData version and 
suggested that we upgraded to UniData 7.3.   One of the identified issues 
seemed to apply but it did not explain all issues.  We are looking at the 
UniData upgrade but we likely will still need to address the current file 
issues.

We started resizing files and the files were compressed as expected but soon 
began splitting again.  To 'fix' the files now, we are manually recreating the 
files, copying data to new files, renaming everything and rebuilding any 
indices.   Long and tedious process but the file seem to behave better, at 
least so far.

Below is a listing of one of the main application files and all its parts.  
Many of the files have many more parts that the listing below.  The splitting 
occurs with dat, over and idx with files some files having many of one part 
while other have many of all.  If anyone has any insight into how/why the files 
split this way and suggestion on how 

Re: [U2] UniData Dynamic File Splitting Question

2013-07-12 Thread Dave Laansma
Frankly, this doesn't look like a very big file at all, and I'm amazed you're 
getting any 'performance' out of it at all with all those OVER files. Crazy!

Sincerely,
David Laansma
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Susan Lynch
Sent: Friday, July 12, 2013 12:53 PM
To: U2 Users List
Subject: Re: [U2] UniData Dynamic File Splitting Question

Cinda, my apologies for mis-spelling your name in my previous response .

Susan Lynch

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Cinda Goff
Sent: Friday, July 12, 2013 12:48 PM
To: U2 Users List
Subject: Re: [U2] UniData Dynamic File Splitting Question

We could with some of them but a good number of them need to remain dynamic 
because they are in total over the 2gb limit.

--
Cinda Goff
N.C. Community College System
Database Administrator
919 807-7060
vRoom Link:
https://sas.elluminate.com/m.jnlp?password=M.BDCC127B096D131E11EAC16A0F947
3sid=2008362

E-mail correspondence to and from this address may be subject to the North 
Carolina Public Records Law and shall be disclosed to third parties when 
required by the statutes. (NCGS.Ch.132)


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Friday, July 12, 2013 12:46 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] UniData Dynamic File Splitting Question

Instead of trying to keep recreating these dynamically every night, why not 
switch to a non-dynamic form ?









-Original Message-
From: Cinda Goff go...@nccommunitycolleges.edu
To: u2-users u2-users@listserver.u2ug.org
Sent: Fri, Jul 12, 2013 9:36 am
Subject: [U2] UniData Dynamic File Splitting Question


I work with the North Carolina Community College System which supports the
58 NC colleges.  We have an unusual dynamic file issue at a couple of the 
colleges and am hoping someone could provide some insight/direction.

OS - Solaris 10
UniData version 7.2.5 (have upgraded a couple of times in the past from
6.1 and
7.1)
Colleges have been running Ellucian's Colleague software since 2001

The problems do not seem to be occurring in all dynamic files but where there 
are issues, there are more than 100 files affected.  From timestamps in some of 
the files, we can see that this has been going on for several years but we are 
unaware of the issue until the files have split into so many parts that the 
application can no longer open enough files to read/write the files.
Database
tools do not show these files as undersized or in overflow2.  Guide will show 
you the many parts if you know what to look for but it is not obvious that the 
file is fragmented.

When we found the issue at the first college we opened a call with Ellucian and
was told to resize the files.We had a call to Rocket opened and
unfortunately didn't get much further.   The Rocket support analyst looked
at
udtdiags for us and did not find anything out of the ordinary.  Rocket 
identified a couple of potential dynamic file issues at our UniData version and
suggested that we upgraded to UniData 7.3.   One of the identified issues
seemed
to apply but it did not explain all issues.  We are looking at the UniData 
upgrade but we likely will still need to address the current file issues.

We started resizing files and the files were compressed as expected but soon 
began splitting again.  To 'fix' the files now, we are manually recreating the 
files, copying data to new files, renaming everything and rebuilding any
indices.   Long and tedious process but the file seem to behave better, at
least
so far.

Below is a listing of one of the main application files and all its parts.
Many of the files have many more parts that the listing below.  The splitting 
occurs with dat, over and idx with files some files having many of one part 
while other have many of all.  If anyone has any insight into how/why the files 
split this way and suggestion on how to correct and prevent it in the future, I 
would very much like to hear your ideas.

Thanks for your input and suggestions.
Cinda Goff

sun2:/datatel/coll18/production/apphome/DATA/DATA_P/PERSON165-$ ls -al total 
533958
drwxrwx---   2 datatel  users   1536 Jun 26 12:42 .
drwxrwx--- 269 datatel  users  13824 Feb 18 10:24 ..
-rw-rw   1 datatel  users6292480 Jul  1 12:57 dat001
-rw-rw   1 datatel  users152743936 Jul  1 12:56 idx001
-rw-rw-rw-   1 gmoore   users   4096 Aug 12  2011 idx002
-rw-rw-rw-   1 gmoore   users   4096 Aug 12  2011 idx003
-rw-rw-rw-   1 ijackson users   4096 Aug 12  2011 idx004
-rw-rw-rw-   1 gmoore   users   4096 

Re: [U2] : Evaluating DCOUNT

2013-02-12 Thread Dave Laansma
Hey Allen,

The REMOVE so fast How fast is it?! Match Game throwback that I suspect the 
time it takes to interpret the difference between a VM and AM is negligible. I 
could be wrong.

And as far as using dimensioned arrays, agreed. They do seem to improve speed 
... but still not in comparison to the REMOVE virtual bow to the REMOVE god.

Sincerely,
David Laansma
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Allen Egerton
Sent: Monday, February 11, 2013 9:02 AM
To: U2 Users List
Subject: Re: [U2] : Evaluating DCOUNT

David,

You're correct that the remove is faster, and it is because it maintains an 
internal pointer to the next item, as opposed to positioning to it for each 
reference.

And I'm pretty sure that you can make it run even faster with:
LINE.KEYS = RAISE(HEADER.REC200)

As a matter of preference, I would set D1 to 999 or some other numeric value 
rather than a null, only because Universe/Unidata is typeless, and I would be 
afraid that the null, (), might be treated as a zero; but that's just 
personal fear and preference not based on a horror story.


On 2/11/2013 8:30 AM, Dave Laansma wrote:
 I would HOPE that it evaluates it each time since the size of array could 
 change within the loop.
 
 Personally if the size of array is relatively small, DCOUNT is alright. 
 However I've found REMOVE to be EXTREMELY faster and therefore use it 
 whenever possible, even on small arrays.
 
 For example, we have two files, a 'header' and 'detail' file. The keys to the 
 'detail' file are stored in attribute 200 of the header file. So I'll pull 
 the keys out of the header record, such:
 
 LINE.KEYS = HEADER.REC200
 D1 = 
 LOOP UNTIL D1 = 0
   REMOVE LINE.KEY FROM LINE.KEYS SETTING D1
   loop statements
 REPEAT
 
 As opposed to:
 
 FOR V1 = 1 TO DCOUNT(HEADER.REC200,@VM)
   LINE.KEY = HEADER.REC200,V1
   loop statements
 NEXT V1
 
 Based on historical dialogs on this subject on this forum, I have seen an 
 improvement in overall performance.
 
 Sincerely,
 David Laansma
 Hubbard Supply Co.
 Direct: 810-342-7143
 Office: 810-234-8681
 Fax: 810-234-6142
 www.hubbardsupply.com
 Delivering Products, Services and Innovative Solutions
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeffrey 
 Butera
 Sent: Monday, February 11, 2013 7:55 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] : Evaluating DCOUNT
 
 On 02/11/2013 12:14 AM, Peter Cheney wrote:
 Hi Everyone,

 Does a DCOUNT get evaluated again for each iteration of a loop?
 Or is UniVerse these days intelligent enough to keep track of what's going 
 on?

 e.g.

 for i = 1 to dcount(array,@fm)
 *commands here
 next i

 versus

 totalattributes = dcount(array,@fm)
 for i = 1 to totalattributes
 *commands here
 next i

 Apart from readability and perhaps easier debugging is there an actual 
 internal difference?
 I know it was an issue on older pick releases but I cannot remember if it 
 ever affected UV?
 
 Not sure about universe, but unidata defintely checks the DCOUNT for each 
 iteration.  This produces 4 (not 2):
 
 
 CT=0
 X=45:@VM:58
 FOR I=1 TO DCOUNT(X,@VM)
CT+=1
IF I=2 THEN
  X1,-1 = 99
END
 NEXT I
 CRT CT
 
 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] : Evaluating DCOUNT

2013-02-12 Thread Dave Laansma
Interesting ... certainly worth := trying!

Sincerely,
David Laansma
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Tom Whitmore
Sent: Tuesday, February 12, 2013 1:43 PM
To: U2 Users List
Subject: Re: [U2] : Evaluating DCOUNT

Hi,
When you have more than about 1,000 values in a field, changing the value mark 
to a field mark, is significant.  I had a program that needed to work through 
two fields with over 20,000 values.  Initially, I left the strings as value 
delimited, used a for/next loop and assigned the results to a new field 
delimited string using -1.  The program took about 15 minutes to perform the 
tasks needed.  I then raised each string, used remove and concatenated 
@FM:item.  It was done almost immediately, there was no perception of a delay 
getting to TCL.  To put it in code snippet, the first took 15 minutes and the 
second took maybe a second.

X=20K values
Y=20K values
Z=''
MAX=DCOUNT(X,@VM)
FOR C=1 TO MAX
   I1=X1,C
   I2=Y1,C
   ZC=I1*I2
NEXT C


X=RAISE(20Kvalues)
Y=RASE(20Kvalues)
Z=''
LOOP
   REMOVE I1 FROM X  SETTING XPOS
   REMOVE I2 FROM Y SETING YPOS
UNTIL I1='' AND I2='' AND XPOS=0 AND YPOS=0
  IF (Z) 
  THEN Z:=@AM:I1*I2
  ELSE Z=I1*I2
REPEAT

There are several things:
1) REMOVE is faster than extract, especially when you are working with values
2) Strings are treated different from dynamic arrays even though in theory you 
are doing the same thing (appending to the end of the string).
3) COUNT will scan the string, then the extract will scan the string when it is 
value delimited.  Field marks are indexes so the first scan resolves the 
location where each field begins.

Tom
RATEX Business Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Tuesday, February 12, 2013 1:21 PM
To: 'U2 Users List'
Subject: Re: [U2] : Evaluating DCOUNT

Hey Allen,

The REMOVE so fast How fast is it?! Match Game throwback that I suspect the 
time it takes to interpret the difference between a VM and AM is negligible. I 
could be wrong.

And as far as using dimensioned arrays, agreed. They do seem to improve speed 
... but still not in comparison to the REMOVE virtual bow to the REMOVE god.

Sincerely,
David Laansma
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Allen Egerton
Sent: Monday, February 11, 2013 9:02 AM
To: U2 Users List
Subject: Re: [U2] : Evaluating DCOUNT

David,

You're correct that the remove is faster, and it is because it maintains an 
internal pointer to the next item, as opposed to positioning to it for each 
reference.

And I'm pretty sure that you can make it run even faster with:
LINE.KEYS = RAISE(HEADER.REC200)

As a matter of preference, I would set D1 to 999 or some other numeric value 
rather than a null, only because Universe/Unidata is typeless, and I would be 
afraid that the null, (), might be treated as a zero; but that's just 
personal fear and preference not based on a horror story.


On 2/11/2013 8:30 AM, Dave Laansma wrote:
 I would HOPE that it evaluates it each time since the size of array could 
 change within the loop.
 
 Personally if the size of array is relatively small, DCOUNT is alright. 
 However I've found REMOVE to be EXTREMELY faster and therefore use it 
 whenever possible, even on small arrays.
 
 For example, we have two files, a 'header' and 'detail' file. The keys to the 
 'detail' file are stored in attribute 200 of the header file. So I'll pull 
 the keys out of the header record, such:
 
 LINE.KEYS = HEADER.REC200
 D1 = 
 LOOP UNTIL D1 = 0
   REMOVE LINE.KEY FROM LINE.KEYS SETTING D1
   loop statements
 REPEAT
 
 As opposed to:
 
 FOR V1 = 1 TO DCOUNT(HEADER.REC200,@VM)
   LINE.KEY = HEADER.REC200,V1
   loop statements
 NEXT V1
 
 Based on historical dialogs on this subject on this forum, I have seen an 
 improvement in overall performance.
 
 Sincerely,
 David Laansma
 Hubbard Supply Co.
 Direct: 810-342-7143
 Office: 810-234-8681
 Fax: 810-234-6142
 www.hubbardsupply.com
 Delivering Products, Services and Innovative Solutions
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeffrey 
 Butera
 Sent: Monday, February 11, 2013 7:55 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] : Evaluating DCOUNT
 
 On 02/11/2013 12:14 AM, Peter Cheney wrote:
 Hi Everyone,

 Does a DCOUNT get evaluated again for each iteration of a loop?
 Or is UniVerse these days intelligent

Re: [U2] : Evaluating DCOUNT

2013-02-11 Thread Dave Laansma
I would HOPE that it evaluates it each time since the size of array could 
change within the loop.

Personally if the size of array is relatively small, DCOUNT is alright. 
However I've found REMOVE to be EXTREMELY faster and therefore use it whenever 
possible, even on small arrays.

For example, we have two files, a 'header' and 'detail' file. The keys to the 
'detail' file are stored in attribute 200 of the header file. So I'll pull 
the keys out of the header record, such:

LINE.KEYS = HEADER.REC200
D1 = 
LOOP UNTIL D1 = 0
  REMOVE LINE.KEY FROM LINE.KEYS SETTING D1
  loop statements
REPEAT

As opposed to:

FOR V1 = 1 TO DCOUNT(HEADER.REC200,@VM)
  LINE.KEY = HEADER.REC200,V1
  loop statements
NEXT V1

Based on historical dialogs on this subject on this forum, I have seen an 
improvement in overall performance.

Sincerely,
David Laansma
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeffrey Butera
Sent: Monday, February 11, 2013 7:55 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] : Evaluating DCOUNT

On 02/11/2013 12:14 AM, Peter Cheney wrote:
 Hi Everyone,

 Does a DCOUNT get evaluated again for each iteration of a loop?
 Or is UniVerse these days intelligent enough to keep track of what's going on?

 e.g.

 for i = 1 to dcount(array,@fm)
 *commands here
 next i

 versus

 totalattributes = dcount(array,@fm)
 for i = 1 to totalattributes
 *commands here
 next i

 Apart from readability and perhaps easier debugging is there an actual 
 internal difference?
 I know it was an issue on older pick releases but I cannot remember if it 
 ever affected UV?

Not sure about universe, but unidata defintely checks the DCOUNT for each 
iteration.  This produces 4 (not 2):


CT=0
X=45:@VM:58
FOR I=1 TO DCOUNT(X,@VM)
   CT+=1
   IF I=2 THEN
 X1,-1 = 99
   END
NEXT I
CRT CT


-- 
Jeffrey Butera, PhD
Associate Director for Application and Web Services
Information Technology
Hampshire College
413-559-5556

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] : Evaluating DCOUNT

2013-02-11 Thread Dave Laansma
Jeff,

My understanding is part of our problem is the fact that my multivalues are at 
position 200 and each time it has to count how many multivalues there are, it 
has to skim through the first 200 attributes, multivalues and subvalues to 
get to 200 before it even starts counting.

So it's not so much of an issue of how many multivalues there are in 200, 
it's everything in 1-199 as well.

Which in turn suggests that, when designing files, it may be a good idea to 
cluster your multivalue attributes near the beginning of your records. But 
that's another discussion.

Sincerely,
David Laansma
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeffrey Butera
Sent: Monday, February 11, 2013 8:35 AM
To: U2 Users List
Cc: U2 Users List
Subject: Re: [U2] : Evaluating DCOUNT

David is correct (re: performance). Most of our app here have MV lists under 
40-50 so it's not a huge issue. If you app has hundreds+ this could be a big 
challenge.

Jeff Butera
--
A tree falls the way it leans.
Be careful which way you lean.
The Lorax

On Feb 11, 2013, at 8:30 AM, Dave Laansma dlaan...@hubbardsupply.com wrote:

 I would HOPE that it evaluates it each time since the size of array could 
 change within the loop.
 
 Personally if the size of array is relatively small, DCOUNT is alright. 
 However I've found REMOVE to be EXTREMELY faster and therefore use it 
 whenever possible, even on small arrays.
 
 For example, we have two files, a 'header' and 'detail' file. The keys to the 
 'detail' file are stored in attribute 200 of the header file. So I'll pull 
 the keys out of the header record, such:
 
 LINE.KEYS = HEADER.REC200
 D1 = 
 LOOP UNTIL D1 = 0
  REMOVE LINE.KEY FROM LINE.KEYS SETTING D1  loop statements REPEAT
 
 As opposed to:
 
 FOR V1 = 1 TO DCOUNT(HEADER.REC200,@VM)  LINE.KEY = 
 HEADER.REC200,V1  loop statements NEXT V1
 
 Based on historical dialogs on this subject on this forum, I have seen an 
 improvement in overall performance.
 
 Sincerely,
 David Laansma
 Hubbard Supply Co.
 Direct: 810-342-7143
 Office: 810-234-8681
 Fax: 810-234-6142
 www.hubbardsupply.com
 Delivering Products, Services and Innovative Solutions
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeffrey 
 Butera
 Sent: Monday, February 11, 2013 7:55 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] : Evaluating DCOUNT
 
 On 02/11/2013 12:14 AM, Peter Cheney wrote:
 Hi Everyone,
 
 Does a DCOUNT get evaluated again for each iteration of a loop?
 Or is UniVerse these days intelligent enough to keep track of what's going 
 on?
 
 e.g.
 
 for i = 1 to dcount(array,@fm)
*commands here
 next i
 
 versus
 
 totalattributes = dcount(array,@fm)
 for i = 1 to totalattributes
*commands here
 next i
 
 Apart from readability and perhaps easier debugging is there an actual 
 internal difference?
 I know it was an issue on older pick releases but I cannot remember if it 
 ever affected UV?
 
 Not sure about universe, but unidata defintely checks the DCOUNT for each 
 iteration.  This produces 4 (not 2):
 
 
 CT=0
 X=45:@VM:58
 FOR I=1 TO DCOUNT(X,@VM)
   CT+=1
   IF I=2 THEN
 X1,-1 = 99
   END
 NEXT I
 CRT CT
 
 
 --
 Jeffrey Butera, PhD
 Associate Director for Application and Web Services Information 
 Technology Hampshire College
 413-559-5556
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Multiple UniData Indexes in same select

2012-11-07 Thread Dave Laansma
Excellent news.

However, is there a way to utilize two indexes with the SELECTINDEX
command in Unibasic?

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wally Terhune
Sent: Wednesday, November 07, 2012 11:47 AM
To: U2 Users List
Subject: Re: [U2] Multiple UniData Indexes in same select

From the Using UniData manual:

Alternate Indexes in UniQuery Statement
Prior to UniData 5.2, only one index was used in the selection criteria
of a UniQuery statement, even if the selection criteria contained more
than one indexed attribute. UniQuery now uses all available indexes when
processing a statement containing selection criteria.Note: You cannot
use an alternate index with a LIKE clause when the comparative attribute
is numeric.

Wally Terhune
Technical Support Engineer
Rocket Software
4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA
t: +1 720 475 8055 **e: wterh...@rocketsoftware.com **w:
u2.rocketsoftware.com



-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Farmer
Sent: Wednesday, November 07, 2012 7:35 AM
To: U2 Users List
Subject: [U2] Multiple UniData Indexes in same select

Good morning, 

I should know this, but as the gray gets thicker, some of the old
knowledge seeps away.

If you have indexes on multiple attributes on a file in UniData AND you
include both of those indexed attributes in the same Select statement,
how does UniData know which index to use? Does it use both? Neither?

Thanks in advance,

Doug


This e-mail is for the use of the intended recipient(s) only. If you
have received this e-mail in error, please notify the sender immediately
and then delete it. If you are not the intended recipient, you must not
use, disclose or distribute this e-mail without the author's prior
permission. We have taken precautions to minimize the risk of
transmitting software viruses, but we advise you to carry out your own
virus checks on any attachment to this message. We cannot accept
liability for any loss or damage caused by software viruses. Any views
and/or opinions expressed in this e-mail are of the author only and do
not represent the views of Epicor Software Corporation or any other
company within its group.


This message has been scanned for malware by Websense. www.websense.com
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Inverting/Pivoting a table

2012-09-11 Thread Dave Laansma
SPLICE ... now THAT'S a cool little tool! I'll have to do some testing
with null attributes and values, but this just may work!

Thank you Rex and Stuart!

Sincerely,
David Laansma

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rex Gozar
Sent: Tuesday, September 11, 2012 1:08 PM
To: U2 Users List
Subject: Re: [U2] Inverting/Pivoting a table

Not a function, but there are some subroutines that flip posted on
PickWiki:

http://www.pickwiki.com/cgi-bin/wiki.pl?Row2Col

AND

http://www.pickwiki.com/cgi-bin/wiki.pl?Row2Col_II

rex
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Inverting/Pivoting a table

2012-09-10 Thread Dave Laansma
I get flat files that I'd like to 'flip' to accommodate the multi-value
database. For example, given this table:

 

123456vmDAVID JONESvm1234 MAIN ST.vmANYWHEREvmMIvm12345am

654321vmJOHN SMITHvm4321 MAIN ST.vmANYWHEREvmMIvm12345

 

Is there a function that will change it to:

 

123456vm654321am

DAVID JONESvmJOHN SMITHam

1234 MAIN ST.vm4321 MAIN ST.am

ANYWHEREvmANYWHEREam

MIvmMIam

12345vm12345

 

Right now I use these nested loops, which tend to take a while depending
on the size of TABLE:

 

NEW.TABLE = 

 

FOR A1 = 1 TO DCOUNT(TABLE,@AM)

  FOR V1 = 1 TO DCOUNT(TABLEA1,@VM)

NEW.TABLEV1,A1 = TABLEA1,V1

  NEXT V1

NEXT A1

 

TABLE = NEW.TABLE

 

Sincerely,

David Laansma

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Inverting/Pivoting a table

2012-09-10 Thread Dave Laansma
REFORMAT perhaps?

I am find no reference to a Unibasic command/statement REFORMAT.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, September 10, 2012 2:20 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Inverting/Pivoting a table


REFOMAT



-Original Message-
From: Wols Lists antli...@youngman.org.uk
To: u2-users u2-users@listserver.u2ug.org
Sent: Mon, Sep 10, 2012 11:07 am
Subject: Re: [U2] Inverting/Pivoting a table


On 10/09/12 14:39, Dave Laansma wrote:
 I get flat files that I'd like to 'flip' to accommodate the 
 multi-value database. For example, given this table:
 
I thought there was a command that would flip a FILE like that. I've
never used it, but I recall a colleague making good use of it ...
  
 123456vmDAVID JONESvm1234 MAIN ST.vmANYWHEREvmMIvm12345am
 
 654321vmJOHN SMITHvm4321 MAIN ST.vmANYWHEREvmMIvm12345
 
  
 
 Is there a function that will change it to:
 
  
 
 123456vm654321am
 
 DAVID JONESvmJOHN SMITHam
 
 1234 MAIN ST.vm4321 MAIN ST.am
 
 ANYWHEREvmANYWHEREam
 
 MIvmMIam
 
 12345vm12345
 
  
 
 Right now I use these nested loops, which tend to take a while 
 depending on the size of TABLE:
 
And here you're using dynamic arrays. If you're in PI syntax, do a
DCOUNT to get the number of people, dimension some static arrays, and
dump the data into that. It'll be MUCH faster. You can REMOVE the
elements from the original dynamic array (fast), dump them into your
static array(s) (fast), and MATBUILD your new array (fast).
  
 
 NEW.TABLE = 
 
  
 
 FOR A1 = 1 TO DCOUNT(TABLE,@AM)
 
   FOR V1 = 1 TO DCOUNT(TABLEA1,@VM)
 
 NEW.TABLEV1,A1 = TABLEA1,V1
 
   NEXT V1
 
 NEXT A1
 
  
 
 TABLE = NEW.TABLE
 
  
 
 Sincerely,
 
 David Laansma
 
Cheers,
Wol
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

 
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Inverting/Pivoting a table

2012-09-10 Thread Dave Laansma
REFORMAT appears to be a UniQuery command and appears to be used to copy
records from one file to another.

I'm looking for this type of functionality in a UniBasic program.

Sincerely,
David Laansma

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Houben
Sent: Monday, September 10, 2012 3:41 PM
To: U2 Users List
Subject: Re: [U2] Inverting/Pivoting a table

REFORMAT is a TCL command.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: September-10-12 12:39 PM
To: U2 Users List
Subject: Re: [U2] Inverting/Pivoting a table

REFORMAT perhaps?

I am find no reference to a Unibasic command/statement REFORMAT.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, September 10, 2012 2:20 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Inverting/Pivoting a table


REFOMAT



-Original Message-
From: Wols Lists antli...@youngman.org.uk
To: u2-users u2-users@listserver.u2ug.org
Sent: Mon, Sep 10, 2012 11:07 am
Subject: Re: [U2] Inverting/Pivoting a table


On 10/09/12 14:39, Dave Laansma wrote:
 I get flat files that I'd like to 'flip' to accommodate the 
 multi-value database. For example, given this table:

I thought there was a command that would flip a FILE like that. I've
never used it, but I recall a colleague making good use of it ...

 123456vmDAVID JONESvm1234 MAIN ST.vmANYWHEREvmMIvm12345am

 654321vmJOHN SMITHvm4321 MAIN ST.vmANYWHEREvmMIvm12345



 Is there a function that will change it to:



 123456vm654321am

 DAVID JONESvmJOHN SMITHam

 1234 MAIN ST.vm4321 MAIN ST.am

 ANYWHEREvmANYWHEREam

 MIvmMIam

 12345vm12345



 Right now I use these nested loops, which tend to take a while 
 depending on the size of TABLE:

And here you're using dynamic arrays. If you're in PI syntax, do a
DCOUNT to get the number of people, dimension some static arrays, and
dump the data into that. It'll be MUCH faster. You can REMOVE the
elements from the original dynamic array (fast), dump them into your
static array(s) (fast), and MATBUILD your new array (fast).


 NEW.TABLE = 



 FOR A1 = 1 TO DCOUNT(TABLE,@AM)

   FOR V1 = 1 TO DCOUNT(TABLEA1,@VM)

 NEW.TABLEV1,A1 = TABLEA1,V1

   NEXT V1

 NEXT A1



 TABLE = NEW.TABLE



 Sincerely,

 David Laansma

Cheers,
Wol
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Inverting/Pivoting a table

2012-09-10 Thread Dave Laansma
Excerpt from page 1-161 of the UniQuery Commands Reference available
at

http://www.rocketsoftware.com/u2/products/unidata/resources/manuals/unid
ata-7.3-documentation/uniquery-commands-reference/view

REFORMAT
Syntax
REFORMAT filename attributes [selection_criteria]
Description
The UniQuery REFORMAT command copies record attributes you specify from
one data file to another data file. The destination file must already
exist. REFORMAT uses the first attribute named in the UniQuery statement
as the record ID in the destination file. The remaining attributes in
the UniQuery statement become record attributes in the destination file.
UniQuery prompts for the name of the destination file after you enter
the REFORMAT command.

Sincerely,
David Laansma

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, September 10, 2012 4:02 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Inverting/Pivoting a table


 EXECUTE REFORMAT
it doesn't copy, it changes the format as well in other words, it
pivots, as you asked

 

 

-Original Message-
From: Dave Laansma dlaan...@hubbardsupply.com
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Mon, Sep 10, 2012 12:59 pm
Subject: Re: [U2] Inverting/Pivoting a table


REFORMAT appears to be a UniQuery command and appears to be used to copy
records from one file to another.

I'm looking for this type of functionality in a UniBasic program.

Sincerely,
David Laansma

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Houben
Sent: Monday, September 10, 2012 3:41 PM
To: U2 Users List
Subject: Re: [U2] Inverting/Pivoting a table

REFORMAT is a TCL command.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: September-10-12 12:39 PM
To: U2 Users List
Subject: Re: [U2] Inverting/Pivoting a table

REFORMAT perhaps?

I am find no reference to a Unibasic command/statement REFORMAT.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, September 10, 2012 2:20 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Inverting/Pivoting a table


REFOMAT



-Original Message-
From: Wols Lists antli...@youngman.org.uk
To: u2-users u2-users@listserver.u2ug.org
Sent: Mon, Sep 10, 2012 11:07 am
Subject: Re: [U2] Inverting/Pivoting a table


On 10/09/12 14:39, Dave Laansma wrote:
 I get flat files that I'd like to 'flip' to accommodate the 
 multi-value database. For example, given this table:

I thought there was a command that would flip a FILE like that. I've
never used it, but I recall a colleague making good use of it ...

 123456vmDAVID JONESvm1234 MAIN ST.vmANYWHEREvmMIvm12345am

 654321vmJOHN SMITHvm4321 MAIN ST.vmANYWHEREvmMIvm12345



 Is there a function that will change it to:



 123456vm654321am

 DAVID JONESvmJOHN SMITHam

 1234 MAIN ST.vm4321 MAIN ST.am

 ANYWHEREvmANYWHEREam

 MIvmMIam

 12345vm12345



 Right now I use these nested loops, which tend to take a while 
 depending on the size of TABLE:

And here you're using dynamic arrays. If you're in PI syntax, do a
DCOUNT to get the number of people, dimension some static arrays, and
dump the data into that. It'll be MUCH faster. You can REMOVE the
elements from the original dynamic array (fast), dump them into your
static array(s) (fast), and MATBUILD your new array (fast).


 NEW.TABLE = 



 FOR A1 = 1 TO DCOUNT(TABLE,@AM)

   FOR V1 = 1 TO DCOUNT(TABLEA1,@VM)

 NEW.TABLEV1,A1 = TABLEA1,V1

   NEXT V1

 NEXT A1



 TABLE = NEW.TABLE



 Sincerely,

 David Laansma

Cheers,
Wol
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

 
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing

Re: [U2] Inverting/Pivoting a table

2012-09-10 Thread Dave Laansma
:-)

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
Sent: Monday, September 10, 2012 4:31 PM
To: U2 Users List
Subject: Re: [U2] Inverting/Pivoting a table

Why is the Kink's song Lola suddenly playing in my mind!

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, September 10, 2012 4:21 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Inverting/Pivoting a table

Columns become rows
Rows become columns

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] CSV to Array

2012-08-16 Thread Dave Laansma
Like

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dianne
Ackerman
Sent: Thursday, August 16, 2012 8:52 AM
To: U2 Users List
Subject: Re: [U2] CSV to Array

I actually enjoy reading wjhonson's puzzle posts with code examples,
etc.  Maybe they can be flagged in the header so those of you who don't
want to read them can just skip them.
-Dianne

On 8/15/2012 5:49 PM, Tony Gravagno wrote:
 Anyone getting paid to play guessing games? Dude, get to the point. If

 this were presented as I need help I think many people would jump to

 help. But presenting this as a Mensa challenge is just wasting 
 people's time.
 T

 Wjhonson wrote:
Rex Gozar uploaded this code, and someone (perhaps him) corrected 
 it,
 but there's a redundancy here.  I'm trying to fix it, in my own
 version,
 mostly perhaps I *hate* the CONTINUE, but the logic is a bit
 convoluted
 eh?  Anyone spot the redundancy ?
 ___

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] OT: A little life humor

2012-07-30 Thread Dave Laansma
Sounds like a facebook post unto itself!

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
Sent: Monday, July 30, 2012 11:09 AM
To: U2 Users
Subject: [U2] OT: A little life humor

Over the weekend, my son told us not buy any more cards or gifts for his
girlfriend, because they have broken up. (not the humorous part).

When we told him we were not surprised because we could see the writing
on the wall, he seemed stunned
   And wanted to know whose wall we saw it on!  (facebook reference). He
still seem puzzled when we explained
   That it was just a figure of speech, and couldn't understand why we
were laughing when we realized he
   Thought we saw it on facebook.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] trimming a list (a test of your ability)

2012-07-12 Thread Dave Laansma
This is the best solution, using REMOVE and building a new list instead of 
constantly 'shrinking' the original table.

That being said, as NEW.LIST gets rather large, adding new elements to it can 
get 'time' consuming. Just like the REMOVE keeps track of the pointer as you 
spin through a table, I wish there was a comparable statement that kept track 
of the pointer as we added new elements -1 to tables.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Marco Manyevere
Sent: Thursday, July 12, 2012 4:14 AM
To: U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

Is this what the OP is asking about or I'm missing something? The 2 code 
fragments look totally different. We dont know what's happening in 
GET.UTILITY.RECORD or the significance of UTILITY.NAME and LAST.NAME to totally 
eliminate them during the 'optimisation'

I would rather do:
 
NEW.LIST = ''
LOOP
  REMOVE UTILITY.ID FROM KEY.LIST SETTING MORE WHILE MORE:UTILITY.ID
  GOSUB GET.UTILITY.RECORD
   IF INDEX(UTILITY.NAME,LAST.NAME,1) = 0 THEN CONTINUE
   NEW.LIST-1 = UTILITY.ID
REPEAT
KEY.LIST = NEW.LIST
NEW.LIST = '' ;* free the memory
 


 From: Kate Stanton k...@walstan.com
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Thursday, 12 July 2012, 4:27
Subject: Re: [U2] trimming a list (a test of your ability)
  
I am getting sucked in!

NLST =                                                        ;* For new list 
MAXI = DCOUNT(KEY.LIST1,@vM)         ;* Count items FOR INO =1 TO MAXI        
                           ;* Each key in list
  KEY.ID = KEY.LIST1,INO                        ;* A key ID
  LOCATE(KEY.ID,NLST,1;POS;'AL') ELSE  ;* see if there
    INS KEY.ID BEFORE NLIST1,POS       ;* Sort to list
  END
NEXT INO                                                      ;* Check all keys 
On 12 July 2012 12:09, Wjhonson wjhon...@aol.com wrote:


 1295          FOR DISPLAY.LOOP = 1 TO KEY.COUNT
 1296             UTILITY.ID = KEY.LIST1,DISPLAY.LOOP
 1297             GOSUB GET.UTILITY.RECORD
 1298             IF INDEX(UTILITY.NAME,LAST.NAME,1) = 0 THEN
 1299                KEY.LIST = DELETE(KEY.LIST,1,DISPLAY.LOOP,0)
 1300                DISPLAY.LOOP -= 1
 1301                KEY.COUNT -= 1
 1302             END
 1303          NEXT DISPLAY.LOOP


 Comments?


 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users




--
Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Phone: + 64 9 360 5310  Mobile: + 64 21 400 486
Email: k...@walstan.com
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] trimming a list (a test of your ability)

2012-07-12 Thread Dave Laansma
Is this technique significantly faster? It still has to search to the end of 
the table each time it appends this string, doesn't it?

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
Sent: Thursday, July 12, 2012 9:30 AM
To: U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

Instead of -1, use  string=string:char(254):additionalelement

George

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Thursday, July 12, 2012 9:20 AM
To: Marco Manyevere; U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

This is the best solution, using REMOVE and building a new list instead of 
constantly 'shrinking' the original table.

That being said, as NEW.LIST gets rather large, adding new elements to it can 
get 'time' consuming. Just like the REMOVE keeps track of the pointer as you 
spin through a table, I wish there was a comparable statement that kept track 
of the pointer as we added new elements -1 to tables.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Marco Manyevere
Sent: Thursday, July 12, 2012 4:14 AM
To: U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

Is this what the OP is asking about or I'm missing something? The 2 code 
fragments look totally different. We dont know what's happening in 
GET.UTILITY.RECORD or the significance of UTILITY.NAME and LAST.NAME to totally 
eliminate them during the 'optimisation'

I would rather do:
 
NEW.LIST = ''
LOOP
  REMOVE UTILITY.ID FROM KEY.LIST SETTING MORE WHILE MORE:UTILITY.ID
  GOSUB GET.UTILITY.RECORD
   IF INDEX(UTILITY.NAME,LAST.NAME,1) = 0 THEN CONTINUE
   NEW.LIST-1 = UTILITY.ID
REPEAT
KEY.LIST = NEW.LIST
NEW.LIST = '' ;* free the memory
 


 From: Kate Stanton k...@walstan.com
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Thursday, 12 July 2012, 4:27
Subject: Re: [U2] trimming a list (a test of your ability)
  
I am getting sucked in!

NLST =                                                        ;* For new list 
MAXI = DCOUNT(KEY.LIST1,@vM)         ;* Count items FOR INO =1 TO MAXI        
                           ;* Each key in list
  KEY.ID = KEY.LIST1,INO                        ;* A key ID
  LOCATE(KEY.ID,NLST,1;POS;'AL') ELSE  ;* see if there
    INS KEY.ID BEFORE NLIST1,POS       ;* Sort to list
  END
NEXT INO                                                      ;* Check all keys 
On 12 July 2012 12:09, Wjhonson wjhon...@aol.com wrote:


 1295          FOR DISPLAY.LOOP = 1 TO KEY.COUNT
 1296             UTILITY.ID = KEY.LIST1,DISPLAY.LOOP
 1297             GOSUB GET.UTILITY.RECORD
 1298             IF INDEX(UTILITY.NAME,LAST.NAME,1) = 0 THEN
 1299                KEY.LIST = DELETE(KEY.LIST,1,DISPLAY.LOOP,0)
 1300                DISPLAY.LOOP -= 1
 1301                KEY.COUNT -= 1
 1302             END
 1303          NEXT DISPLAY.LOOP


 Comments?


 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users




--
Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Phone: + 64 9 360 5310  Mobile: + 64 21 400 486
Email: k...@walstan.com
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] trimming a list (a test of your ability)

2012-07-12 Thread Dave Laansma
I'm puzzled by '... doesn't care ...' terminology. Of course it 'cares'
about pointers, it still has to get to the end of the 'string' one way
or another.

So, the question then is, does concatenation := establish and append to
a 'string' faster than -1?

And if so, why doesn't the database use the same logic for -1 as it
does for := since technically they're accomplishing the same thing?

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Martin Braid
Sent: Thursday, July 12, 2012 9:41 AM
To: U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

String concatenation will probably work faster since it doesn't care
about pointers IF NEW.LIST# THEN NEW.LIST := @AM  (or @VM if you want
in the original format) NEW.LIST := UTILITY.ID

Martin


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: 12 July 2012 14:20
To: Marco Manyevere; U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

This is the best solution, using REMOVE and building a new list instead
of constantly 'shrinking' the original table.

That being said, as NEW.LIST gets rather large, adding new elements to
it can get 'time' consuming. Just like the REMOVE keeps track of the
pointer as you spin through a table, I wish there was a comparable
statement that kept track of the pointer as we added new elements -1
to tables.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Marco
Manyevere
Sent: Thursday, July 12, 2012 4:14 AM
To: U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

Is this what the OP is asking about or I'm missing something? The 2 code
fragments look totally different. We dont know what's happening in
GET.UTILITY.RECORD or the significance of UTILITY.NAME and LAST.NAME to
totally eliminate them during the 'optimisation'

I would rather do:
 
NEW.LIST = ''
LOOP
  REMOVE UTILITY.ID FROM KEY.LIST SETTING MORE WHILE MORE:UTILITY.ID
  GOSUB GET.UTILITY.RECORD
   IF INDEX(UTILITY.NAME,LAST.NAME,1) = 0 THEN CONTINUE
   NEW.LIST-1 = UTILITY.ID
REPEAT
KEY.LIST = NEW.LIST
NEW.LIST = '' ;* free the memory
 


 From: Kate Stanton k...@walstan.com
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Thursday, 12 July 2012, 4:27
Subject: Re: [U2] trimming a list (a test of your ability)
  
I am getting sucked in!

NLST =;* For
new list MAXI = DCOUNT(KEY.LIST1,@vM) ;* Count items FOR INO
=1 TO MAXI   ;* Each key in list
  KEY.ID = KEY.LIST1,INO;* A key ID
  LOCATE(KEY.ID,NLST,1;POS;'AL') ELSE  ;* see if there
INS KEY.ID BEFORE NLIST1,POS   ;* Sort to list
  END
NEXT INO  ;* Check
all keys On 12 July 2012 12:09, Wjhonson wjhon...@aol.com wrote:


 1295  FOR DISPLAY.LOOP = 1 TO KEY.COUNT
 1296 UTILITY.ID = KEY.LIST1,DISPLAY.LOOP
 1297 GOSUB GET.UTILITY.RECORD
 1298 IF INDEX(UTILITY.NAME,LAST.NAME,1) = 0 THEN
 1299KEY.LIST = DELETE(KEY.LIST,1,DISPLAY.LOOP,0)
 1300DISPLAY.LOOP -= 1
 1301KEY.COUNT -= 1
 1302 END
 1303  NEXT DISPLAY.LOOP


 Comments?


 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users




--
Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Phone: + 64 9 360 5310  Mobile: + 64 21 400 486
Email: k...@walstan.com
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Click https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg==  to report
this email as spam.


Epicor Software (UK) is a limited company registered in England  Wales.

Registration Number: 2338274.   Registered Office:  6th Floor, One
London Wall, London EC2Y 5EB 
This e-mail

Re: [U2] trimming a list (a test of your ability)

2012-07-12 Thread Dave Laansma
HOLY SMOKES!

X = X : string

Is CRAZY slow! I had to break out.

My results on Unidata/AIX, -1 was SLIGHTLY faster than := for 1,000,000 
appendages to a null table.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green
Sent: Thursday, July 12, 2012 12:25 PM
To: 'U2 Users List'
Subject: Re: [U2] trimming a list (a test of your ability)

Ah, but try it with := instead of Y = Y:

David A. Green
(480) 813-1725
DAG Consulting

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Daniel McGrath
Sent: Thursday, July 12, 2012 8:56 AM
To: U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

ROUNDS = 1
LOOP
   X = '' ; Y = ''
   START.TIME = TIME()
   FOR I = 1 TO ROUNDS
  X-1 = I
   NEXT I
   END.TIME = TIME()
   CRT END.TIME-START.TIME :  vs  :
   START.TIME = TIME()
   FOR I = 1 TO ROUNDS
  Y = Y:CHAR(254):I
   NEXT I
   END.TIME = TIME()
   CRT END.TIME-START.TIME
   ROUNDS *= 2
REPEAT



Results suggest that you should od -1, not the multiple concatenation.

Dan McGrath
Product Manager
Rocket Software
4600 S. Ulster Street ..Suite 1100 ..Denver, CO 80237 . USA
t: +1.720.475.8098 . m: +1.617.630.7392 . e:dmcgr...@rocketsoftware.com w:
rocketsoftware.com/u2





-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
Sent: Thursday, July 12, 2012 7:30 AM
To: U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

Instead of -1, use  string=string:char(254):additionalelement

George

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Thursday, July 12, 2012 9:20 AM
To: Marco Manyevere; U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

This is the best solution, using REMOVE and building a new list instead of 
constantly 'shrinking' the original table.

That being said, as NEW.LIST gets rather large, adding new elements to it can 
get 'time' consuming. Just like the REMOVE keeps track of the pointer as you 
spin through a table, I wish there was a comparable statement that kept track 
of the pointer as we added new elements -1 to tables.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Marco Manyevere
Sent: Thursday, July 12, 2012 4:14 AM
To: U2 Users List
Subject: Re: [U2] trimming a list (a test of your ability)

Is this what the OP is asking about or I'm missing something? The 2 code 
fragments look totally different. We dont know what's happening in 
GET.UTILITY.RECORD or the significance of UTILITY.NAME and LAST.NAME to totally 
eliminate them during the 'optimisation'

I would rather do:
 
NEW.LIST = ''
LOOP
  REMOVE UTILITY.ID FROM KEY.LIST SETTING MORE WHILE MORE:UTILITY.ID
  GOSUB GET.UTILITY.RECORD
   IF INDEX(UTILITY.NAME,LAST.NAME,1) = 0 THEN CONTINUE
   NEW.LIST-1 = UTILITY.ID
REPEAT
KEY.LIST = NEW.LIST
NEW.LIST = '' ;* free the memory
 


 From: Kate Stanton k...@walstan.com
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Thursday, 12 July 2012, 4:27
Subject: Re: [U2] trimming a list (a test of your ability)
  
I am getting sucked in!

NLST =                                                        ;* For new list 
MAXI = DCOUNT(KEY.LIST1,@vM)         ;* Count items FOR INO =1 TO MAXI        
                           ;* Each key in list
  KEY.ID = KEY.LIST1,INO                        ;* A key ID
  LOCATE(KEY.ID,NLST,1;POS;'AL') ELSE  ;* see if there
    INS KEY.ID BEFORE NLIST1,POS       ;* Sort to list
  END
NEXT INO                                                      ;* Check all keys 
On 12 July 2012 12:09, Wjhonson wjhon...@aol.com wrote:


 1295          FOR DISPLAY.LOOP = 1 TO KEY.COUNT
 1296             UTILITY.ID = KEY.LIST1,DISPLAY.LOOP
 1297             GOSUB GET.UTILITY.RECORD
 1298             IF INDEX(UTILITY.NAME,LAST.NAME,1) = 0 THEN
 1299                KEY.LIST = DELETE(KEY.LIST,1,DISPLAY.LOOP,0)
 1300                DISPLAY.LOOP -= 1
 1301                KEY.COUNT -= 1
 1302             END
 1303          NEXT DISPLAY.LOOP


 Comments?


 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users




--
Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay

Re: [U2] Really trying to understand dynamic file sizing

2012-06-29 Thread Dave Laansma
Doesn't 1% split load seem a little low?

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Averch
Sent: Thursday, June 28, 2012 8:56 PM
To: U2 Users List
Subject: Re: [U2] Really trying to understand dynamic file sizing

On Thu, Jun 28, 2012 at 6:50 PM, Doug Averch dave...@gmail.com wrote:


 126/4064   (Correction, too late to be working on this)

1  (Correction average Load before split)

And that matches your numbers

Regards,
Doug
www.u2logic.com
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Really trying to understand dynamic file sizing

2012-06-29 Thread Dave Laansma
Greetings Doug,

This is where my confusion is. The formula that I'm using to compute the
split load does not change, regardless of the block size. And yet you're
saying changing my block size to 2k will change it from 1% to 6%.

So, here's my formula, based on the very informative FAQ from Rocket:

SPLIT = INT(RECORDS PER BLOCK * IDSIZE * 100 / BLOCKSIZE)

SPLIT = INT(1 * 21 * 100 / 2048) = 1
SPLIT = INT(2 * 21 * 100 / 4096) = 1

Given this formula, the split will never change, regardless of the block
size because the RECORDS PER BLOCK will generally increase
proportionally to the BLOCK SIZE.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Averch
Sent: Friday, June 29, 2012 1:38 PM
To: U2 Users List
Subject: Re: [U2] Really trying to understand dynamic file sizing

Hi Dave:

You cannot get any lower than one percent.  If you set your block size
to 2K that will fix the split problem making about 6%.  Your average
record size is 1537 which means you will get about one record per block
so split by key will be worthless and you will be into Level 2 and/or
Level 1 overflow.

I have found if you spend a lot of time on one file try to optimize it,
then you had 100K worth of records to the file and your work is does not
matter.  What you want to do is get the file in best shape you can
considering growth and usability, then look at this file or all your
files in a week or month and see what has happened.

Regards,
Doug
www.u2logic.com
XLr8Resizer for fast resizing
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Really trying to understand dynamic file sizing

2012-06-29 Thread Dave Laansma
Thank you Wally. That's what I was looking for, a 'base' line. 1% or
even 6% seemed low.

Doesn't splitting basically happen when too many keys are hashed to the
same group for KEYONLY hashed files?

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wally Terhune
Sent: Friday, June 29, 2012 3:06 PM
To: U2 Users List
Subject: Re: [U2] Really trying to understand dynamic file sizing

I wouldn't go below 10%. You could end up with lots of splitting and
very sparsely populated groups.

Wally Terhune
Technical Support Engineer
Rocket Software
4600 South Ulster Street, Suite 1100 **Denver, CO 80237 **USA
t: +1 720 475 8055 **e: wterh...@rocketsoftware.com **w:
rocketsoftware.com/u2




-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Averch
Sent: Friday, June 29, 2012 11:38 AM
To: U2 Users List
Subject: Re: [U2] Really trying to understand dynamic file sizing

Hi Dave:

You cannot get any lower than one percent.  If you set your block size
to 2K that will fix the split problem making about 6%.  Your average
record size is 1537 which means you will get about one record per block
so split by key will be worthless and you will be into Level 2 and/or
Level 1 overflow.

I have found if you spend a lot of time on one file try to optimize it,
then you had 100K worth of records to the file and your work is does not
matter.  What you want to do is get the file in best shape you can
considering growth and usability, then look at this file or all your
files in a week or month and see what has happened.

Regards,
Doug
www.u2logic.com
XLr8Resizer for fast resizing
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Really trying to understand dynamic file sizing

2012-06-29 Thread Dave Laansma
Hey Doug,

Thanks for your confirmation of my understanding Wally's adeptness in
Unidata. I always wait anxiously for his replies to these threads.

I believe the *100 simply gets the percentage to a whole number so the
INT() works.

I am indeed going to go to the 8k block size to reduce the % of 'wasted'
space to  2%. That just seems like a reasonable without going all the
way to 16k blocks.

I'm also going to increase the modulo by 20% from the number of records
so it will have a little extra room to grow over the next few months.

I'll probably configure the SPLIT for 10% and MERGE for 5% unless
someone discourages me before noon tomorrow. That's when I'm pulling the
trigger on this resize.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Averch
Sent: Friday, June 29, 2012 4:17 PM
To: U2 Users List
Subject: Re: [U2] Really trying to understand dynamic file sizing

Hi Dave and others:

Having worked for Wally many years ago at Unidata, his knowledge is
unparalleled about Unidata.  So given that I've been doing this for a
number of years, I'm not sure where the 100 number is coming.  The other
numbers I have reams of paper, CD's, and thumb drives backing up all of
the other numbers.

I have tested many a file with different blocks sizes with the same data
either adding or subtracting records.  I found the split and merge to
not
happen when I would expect it to.   If you put more keys into a smaller
modulo the percentage will change because you are using KEYONLY.

Your record size is quite large so that is why going to a 2K block size
will make things worse.  I would recommend going to a 8K block size
leaving the current modulo since you a near 100% overflow.  You can try
it on a temporary file and either tell me I'm wrong or I'm right.

Regards,
Doug
www.u2logic.com/tools.html

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Really trying to understand dynamic file sizing

2012-06-28 Thread Dave Laansma
I've only got a handful of dynamic files but of course they're huge and
have a big impact on our daily and monthly processing. I'd REALLY like
to understand the tuning mechanisms for these files, specifically
SPLIT/MERGE.

 

The formulas that I got on previous responses just don't seem to make
sense on one particular file.

 

So here's a FILE.STAT and ANALYZE.FILE of a file that I believe is in
need of resizing and/or reconfiguring. I believe that if I can get some
input on this file, I'll be able to apply that knowledge to my other
files.

 

First, I understand quite clearly that the modulo of 235889 is about
half of what it should be, at least for a block size of 4096.

 

Second, unless I'm doing something wrong, I computed my SPLIT LOAD to be
1, which just doesn't seem right.

 

I'd like to resize this file this weekend and I know that if I do one
thing incorrectly it could make my performance even worse.

 

Any input would be greatly appreciated.

 

File name(Dynamic File)   = OH

Number of groups in file (modulo) = 235889

Dynamic hashing, hash type= 0

Split/Merge type  = KEYONLY

Block size= 4096

File has 234167 groups in level one overflow.

Number of records = 1387389

Total number of bytes = 2132217978

 

Average number of records per group   = 5.9

Standard deviation from average   = 1.6

Average number of bytes per group = 9039.1

Standard deviation from average   = 9949.2

 

Average number of bytes in a record   = 1536.9

Average number of bytes in record ID  = 12.4

Standard deviation from average   = 4009.7

Minimum number of bytes in a record   = 659

Maximum number of bytes in a record   = 2205579

 

Minimum number of fields in a record  = 237

Maximum number of fields in a record  = 414

Average number of fields per record   = 328.3

Standard deviation from average   = 32.0

 

Dynamic File name = OH

Number of groups in file (modulo) = 235889

Minimum groups of file= 235889

Hash type = 0, blocksize = 4096

Split load = 10, Merge load = 5

Split/Merge type = KEYONLY

 

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com http://www.hubbardsupply.com 

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Learning about file sizing

2012-06-25 Thread Dave Laansma
 or lower
split load percent than was calculated.  
 
 
 
  

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Tuesday, June 05, 2012 12:33 PM
To: U2-Users@listserver.u2ug.org
Subject: [U2] Learning about file sizing

Can anyone point me to a good document that will give me guidelines for
'proper' file sizing of dynamic files in particular?

 

And when to use KEYONLY vs KEYDATA?

 

Thanks!

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com http://www.hubbardsupply.com 

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


--
CONFIDENTIALITY NOTICE: If you have received this email in error, please
immediately notify the sender by e-mail at the address shown.  
This email transmission may contain confidential information.  This
information is intended only for the use of the individual(s) or entity
to whom it is intended even if addressed incorrectly.  Please delete it
from your files if you are not the intended recipient.  Thank you for
your compliance.  Copyright (c) 2012 Cigna

==

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Can of worms FILE.STATUS

2012-06-20 Thread Dave Laansma
Mecki,

What block size and why?

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Mecki
Foerthmann
Sent: Wednesday, June 20, 2012 12:45 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Can of worms FILE.STATUS

Nothing really -  less than 10% overflow is not too bad.
I would have chosen a smaller block size though.

On 20/06/2012 17:20, Dave Laansma wrote:
 I have my thoughts already in place but I'd like to hear input on
this.
 What is wrong with this file?



 File name(Dynamic File)   = OHL

 Number of groups in file (modulo) = 740972

 Dynamic hashing, hash type= 0

 Split/Merge type  = KEYONLY

 Block size= 4096

 File has 455028 groups in level one overflow.

 Number of records = 4835502

 Total number of bytes = 3100999567



 Average number of records per group   = 6.5

 Standard deviation from average   = 2.4

 Average number of bytes per group = 4185.0

 Standard deviation from average   = 1856.2



 Average number of bytes in a record   = 641.3

 Average number of bytes in record ID  = 14.8

 Standard deviation from average   = 283.6

 Minimum number of bytes in a record   = 133

 Maximum number of bytes in a record   = 8622



 Minimum number of fields in a record  = 110

 Maximum number of fields in a record  = 334

 Average number of fields per record   = 218.3

 Standard deviation from average   = 47.9

 File has 2 over files, 3 prime files



 Sincerely,

 David Laansma

 IT Manager

 Hubbard Supply Co.

 Direct: 810-342-7143

 Office: 810-234-8681

 Fax: 810-234-6142

 www.hubbardsupply.comhttp://www.hubbardsupply.com

 Delivering Products, Services and Innovative Solutions



 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Regarding : Usage of the SEL.CMD

2012-06-08 Thread Dave Laansma
Just my two-cents, this would have been a much more appropriate FIRST response 
to Satya's humble request.

He/she is clearly new and needs additional training and experience. Does anyone 
have any suggestions for Satya to obtain said training?

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Paul Wilson
Sent: Friday, June 08, 2012 10:51 AM
To: satya satya
Cc: U2 Users List
Subject: Re: [U2] Regarding : Usage of the SEL.CMD

http://www.rocketsoftware.com/u2/resources/technical-resources
 
Here's the link to the manuals
 


 From: Paul Wilson sfr192...@yahoo.com
To: satya satya satyapal...@gmail.com 
Cc: U2 Users List u2-users@listserver.u2ug.org 
Sent: Friday, June 8, 2012 10:49 AM
Subject: Re: [U2] Regarding : Usage of the SEL.CMD
  

Read the Fu..ing Manual 
 
You ask an obtuse question about code that you are working on - since noone 
else has seen the code - how do you expect a 'quality' and/or defined response.
 
Also - the manuals are FREE and downloadable off Rocket's website - 
http://www.rocketsoftware.com/u2/resources/downloads
 


 From: satya satya satyapal...@gmail.com
To: Paul Wilson sfr192...@yahoo.com 
Sent: Friday, June 8, 2012 10:43 AM
Subject: Re: [U2] Regarding : Usage of the SEL.CMD
  

Hi Paul Wilson,

What is This RTFM i have never heard about it.

Thank you,
Satya


On Fri, Jun 8, 2012 at 8:09 PM, Paul Wilson sfr192...@yahoo.com wrote:

RTFM - just like everyone else !! 

 
 From: satya satya satyapal...@gmail.com
To: U2 Users List u2-users@listserver.u2ug.org 
Sent: Friday, June 8, 2012 10:31 AM
Subject: [U2] Regarding : Usage of the SEL.CMD
 

Hi Everyone,

Can any  Explain What is the use of  SEL .CMD? In the program i have
observed many times using this statement. but i didn't getting clarity on
it. So Let, me know your valuable suggestions on this topic.

Thank you,
Satya.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


  
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Learning about file sizing

2012-06-05 Thread Dave Laansma
Can anyone point me to a good document that will give me guidelines for
'proper' file sizing of dynamic files in particular?

 

And when to use KEYONLY vs KEYDATA?

 

Thanks!

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com http://www.hubbardsupply.com 

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Monthly Multivalue Inserts and Speed

2012-06-01 Thread Dave Laansma
I have a file that is taking a very long time to update, seemingly
longer and longer each month. Here is briefly how the attributes are
organized, a relatively simple example:

 

Attribute 1 is multivalued with our G/L Period, i.e. 12-01 vm 12-02 vm
12-03 etc.

Attributes 2 through 30 are dependent on attribute 1 and contain a
variety of dollar amounts that are accumulated for the respective period
in attribute 1.

 

At the end of each month, a new G/L Period is inserted into the
multivalued position of attribute 1 as well as each of the respective
multivalued positions in attributes 2 through 30. Nothing complicated.

 

My question is this and is aimed largely at the technicians at Rocket
...

 

If, at the beginning of the year, I were to insert each of the
12-periods into their respective multivalues in attribute 1 and insert
respective null multivalues into attributes 2 through 30, thus
performing all of the 'inserts' at once, will the processing each month
run faster as numbers are simply accumulated into attributes 2 through
30 and no inserting of new multivalues will have to be performed?

 

A couple nuggets of information:

 

This is only an example. In the actual file, these records contain many
other attributes and the records overall are relatively large, averaging
lengths of about 3,000 according to FILE.STAT

These are not my files so reorganizing them is not an option.

 

The heart of this question is, as a (numeric) number is accumulated in
an attribute, multivalue or subvalue, what causes the record to
'stretch' in length, thus presumably impacting performance?

 

I would like to think that numeric information is stored in a more
'compact' method than strings, thus using less space within the database
... but what I 'like' and what 'is' are often quite different.

 

Thanks!

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com http://www.hubbardsupply.com 

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Monthly Multivalue Inserts and Speed

2012-06-01 Thread Dave Laansma
Results of the ANALYZE.FILE:

Dynamic File name = WHSE.STAT
Number of groups in file (modulo) = 67801
Minimum groups of file= 67801
Hash type = 0, blocksize = 16384
Split load = 10, Merge load = 5
Split/Merge type = KEYONLY

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David L.
Wasylenko
Sent: Friday, June 01, 2012 10:32 AM
To: U2 Users List
Subject: Re: [U2] Monthly Multivalue Inserts and Speed

3k isn't large.
#1 thing to look at is file size.

Change the file-type to dynamic.  It will not give the best performance
compared to monitoring file size of a static file type, but over the
long-term, avoids sizing issues that are the #1 reason for bad
performance.

Can you perform an ANALYZE.FILE {filename}  and post the result?

... david ...

David L. Wasylenko
President, Pick Professionals, Inc
w) 314 558 1482
d...@pickpro.com


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Friday, June 01, 2012 9:30 AM
To: U2-Users@listserver.u2ug.org
Subject: [U2] Monthly Multivalue Inserts and Speed

I have a file that is taking a very long time to update, seemingly
longer and longer each month. Here is briefly how the attributes are
organized, a relatively simple example:

 

Attribute 1 is multivalued with our G/L Period, i.e. 12-01 vm 12-02 vm
12-03 etc.

Attributes 2 through 30 are dependent on attribute 1 and contain a
variety of dollar amounts that are accumulated for the respective period
in attribute 1.

 

At the end of each month, a new G/L Period is inserted into the
multivalued position of attribute 1 as well as each of the respective
multivalued positions in attributes 2 through 30. Nothing complicated.

 

My question is this and is aimed largely at the technicians at Rocket
...

 

If, at the beginning of the year, I were to insert each of the
12-periods into their respective multivalues in attribute 1 and insert
respective null multivalues into attributes 2 through 30, thus
performing all of the 'inserts' at once, will the processing each month
run faster as numbers are simply accumulated into attributes 2 through
30 and no inserting of new multivalues will have to be performed?

 

A couple nuggets of information:

 

This is only an example. In the actual file, these records contain many
other attributes and the records overall are relatively large, averaging
lengths of about 3,000 according to FILE.STAT

These are not my files so reorganizing them is not an option.

 

The heart of this question is, as a (numeric) number is accumulated in
an attribute, multivalue or subvalue, what causes the record to
'stretch' in length, thus presumably impacting performance?

 

I would like to think that numeric information is stored in a more
'compact' method than strings, thus using less space within the database
... but what I 'like' and what 'is' are often quite different.

 

Thanks!

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com http://www.hubbardsupply.com 

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Monthly Multivalue Inserts and Speed

2012-06-01 Thread Dave Laansma
FILE.STAT results:

  MOD OV HTY   ITEMS   BYTES MNI/G MXI/G MNB/I MXB/I
67801  0  64  731825 2197829057 02719 14300

---- ---
67801 731825 2197829057

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David L.
Wasylenko
Sent: Friday, June 01, 2012 12:07 PM
To: U2 Users List
Subject: Re: [U2] Monthly Multivalue Inserts and Speed

What's the record count and total byte count?

... david ...

David L. Wasylenko
President, Pick Professionals, Inc
w) 314 558 1482
d...@pickpro.com


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Friday, June 01, 2012 9:41 AM
To: U2 Users List
Subject: Re: [U2] Monthly Multivalue Inserts and Speed

Results of the ANALYZE.FILE:

Dynamic File name = WHSE.STAT
Number of groups in file (modulo) = 67801
Minimum groups of file= 67801
Hash type = 0, blocksize = 16384
Split load = 10, Merge load = 5
Split/Merge type = KEYONLY

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David L.
Wasylenko
Sent: Friday, June 01, 2012 10:32 AM
To: U2 Users List
Subject: Re: [U2] Monthly Multivalue Inserts and Speed

3k isn't large.
#1 thing to look at is file size.

Change the file-type to dynamic.  It will not give the best performance
compared to monitoring file size of a static file type, but over the
long-term, avoids sizing issues that are the #1 reason for bad
performance.

Can you perform an ANALYZE.FILE {filename}  and post the result?

... david ...

David L. Wasylenko
President, Pick Professionals, Inc
w) 314 558 1482
d...@pickpro.com


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Friday, June 01, 2012 9:30 AM
To: U2-Users@listserver.u2ug.org
Subject: [U2] Monthly Multivalue Inserts and Speed

I have a file that is taking a very long time to update, seemingly
longer and longer each month. Here is briefly how the attributes are
organized, a relatively simple example:

 

Attribute 1 is multivalued with our G/L Period, i.e. 12-01 vm 12-02 vm
12-03 etc.

Attributes 2 through 30 are dependent on attribute 1 and contain a
variety of dollar amounts that are accumulated for the respective period
in attribute 1.

 

At the end of each month, a new G/L Period is inserted into the
multivalued position of attribute 1 as well as each of the respective
multivalued positions in attributes 2 through 30. Nothing complicated.

 

My question is this and is aimed largely at the technicians at Rocket
...

 

If, at the beginning of the year, I were to insert each of the
12-periods into their respective multivalues in attribute 1 and insert
respective null multivalues into attributes 2 through 30, thus
performing all of the 'inserts' at once, will the processing each month
run faster as numbers are simply accumulated into attributes 2 through
30 and no inserting of new multivalues will have to be performed?

 

A couple nuggets of information:

 

This is only an example. In the actual file, these records contain many
other attributes and the records overall are relatively large, averaging
lengths of about 3,000 according to FILE.STAT

These are not my files so reorganizing them is not an option.

 

The heart of this question is, as a (numeric) number is accumulated in
an attribute, multivalue or subvalue, what causes the record to
'stretch' in length, thus presumably impacting performance?

 

I would like to think that numeric information is stored in a more
'compact' method than strings, thus using less space within the database
... but what I 'like' and what 'is' are often quite different.

 

Thanks!

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com http://www.hubbardsupply.com 

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

Re: [U2] READU vs READ

2012-05-01 Thread Dave Laansma
Thank you Colin. I wouldn't post these types of 'issues' if I were
thin-skinned and didn't appreciate input.

There are certainly some efficiencies in the updating of the
multi-values. Unfortunately I cannot reorganize the data in the records,
only the code that updates said data.

I'll consider posting it. Names will have to be changed to protect 'the
innocent' copyright.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Colin Alfke
Sent: Tuesday, May 01, 2012 10:05 AM
To: 'U2 Users List'
Subject: Re: [U2] READU vs READ

Dave;

A couple more things:
 - do you have any other processes running at the same time? I found
(long
ago) that a couple of our big processes ran 5X faster consecutively than
they did concurrently.
 - subroutine calls with file opens. I inherited a process that was
running for 3 days and was 65% done. I put all of the file opens in
common (well, the file variables) and re-ran in hours.

You may want to re-think posting some of the code. There can be some
efficiencies found in processing large dynamic arrays. You said it
wasn't code you wrote - so try to take the criticism as constructive :)

hth
Colin

-Original Message-
From: Tom Whitmore
Sent: May 1, 2012 5:50 AM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Hi,
The question of READU vs READ when you are doing updates is moot.  If
you do a READ then a WRITE, UniVerse/UniData will perform the record
lock.  The only difference is with READ you are gambling that no one
else is updating the record before you perform your WRITE.

Performance, as others suggested, there are several things to do: 
Tune your files.  
If you are using dynamic files, make sure you have the
MINIMUM.MODULUS set to reduce the shrink and merging
If the records are lumpy redesign them so you have a header file
and a detail file, with detail files being individual records for the
associated values. 
Use LIST.INDEX with the STATISTICS option to see if you have huge
index value, you may need to refine the index.  
Check your hardware, you may have a bottleneck due to slow disk, I/O
pipe.
Minimize the number of times you go through the associated values.  
Use READU with the LOCKED clause, if the record is locked, add
logic to queue it up and try the records again once everything else is
processed (WRITEs will hang on a lock if you don't have the LOCKED
clause, just like a READU without the LOCKED clause.

Good luck!
Tom
RATEX Business Solutions

-Original Message-
From: Symeon Breen

Have you been able to do any os level tools to see what the utilisation
of resources is. E.g. on linux, vmstat, top, iostat will show you if it
is a diskio or cpu bottleneck.  If it is diskio (i.e. high wait on io
times) then you may need to upgrade the disks or add more ram so you
have more data in cache.


-Original Message-
From: Dave Laansma

Oh ... you're good ... I ALMOST pasted it ...

I know better that to put even FICTITIOUS code on this board ... unless
I'm just trying to rile things up about the OS. |-)

I do appreciate all of the input. Thank y'all for the info. I'll see
what I can do.

Sincerely,
David Laansma


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] READU vs READ

2012-04-30 Thread Dave Laansma
If I don't HAVE TO lock a record before modifying it writing it back,
will a program run significantly faster if I just WRITE it back without
locking it first? I'm updating about 700,000 records and it's just
taking TOO long.

 

I DO understand the risks of other users changing the record's content
during so let's not go down that road. I'm interested in the SPEED
dialog.

 

Thank you folks!

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com http://www.hubbardsupply.com 

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] READU vs READ

2012-04-30 Thread Dave Laansma
Understood about the screen I/O ... def not an issue here.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, April 30, 2012 8:40 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] READU vs READ


Remove the line that after each read says xxx record written
Terminal I/O is 100 times more expensive than reading and writing








-Original Message-
From: Dave Laansma dlaan...@hubbardsupply.com
To: U2-Users U2-Users@listserver.u2ug.org
Sent: Mon, Apr 30, 2012 5:32 pm
Subject: [U2] READU vs READ


If I don't HAVE TO lock a record before modifying it writing it back,
ill a program run significantly faster if I just WRITE it back without
ocking it first? I'm updating about 700,000 records and it's just aking
TOO long.
 
I DO understand the risks of other users changing the record's content
uring so let's not go down that road. I'm interested in the SPEED ialog.
 
Thank you folks!
 
Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com http://www.hubbardsupply.com Delivering
Products, Services and Innovative Solutions
 
___
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] READU vs READ

2012-04-30 Thread Dave Laansma
Yes, using SELECT and READNEXT. These are sizable records. The logic is
very straight forward, just updating several multi-valued fields in each
record (month end).

500,000 have been updated and I'm 2:45:00 into the process.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Buss, Troy
(Contractor, Logitek Systems)
Sent: Monday, April 30, 2012 8:48 PM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Depends on how much twisted logic you have...   Seriously, I would
guess that your bottleneck is disk access.

Are you using basic SELECT and READNEXT ?   Is your list in sorted order
(SSELECT) or not (SELECT).

Processing the updates in group order will minimize the I/O.   I don't
think the READU overhead on today's machines are anything that would
slow it down.   I just tested 100,000 records with and without locking
and I get six seconds both ways.   Because it was cached data, my test
eliminates disk i/o and measures the lock overhead which seems to be
negligible on universe 11.1.1.


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Monday, April 30, 2012 5:33 PM
To: U2-Users@listserver.u2ug.org
Subject: [U2] READU vs READ

If I don't HAVE TO lock a record before modifying it writing it back,
will a program run significantly faster if I just WRITE it back without
locking it first? I'm updating about 700,000 records and it's just
taking TOO long.

 

I DO understand the risks of other users changing the record's content
during so let's not go down that road. I'm interested in the SPEED
dialog.

 

Thank you folks!

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com http://www.hubbardsupply.com 

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


_
Scanned by IBM Email Security Management Services powered by
MessageLabs. For more information please visit http://www.ers.ibm.com

This email is intended only for the use of the party to which it is
addressed and may contain information that is privileged, confidential,
or protected by law.  If you are not the intended recipient you are
hereby notified that any dissemination, copying or distribution of the
email or its contents is strictly prohibited.  If you have received this
message in error, please notify us immediately, by replying to the
message and deleting it from your computer.

WARNING: Internet communications are not assured to be secure or clear
of inaccuracies as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses.  Therefore, we
do not accept responsibility for any errors or omissions that are
present in this email, or any attachment, that have arisen as a result
of e-mail transmission.

_
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] READU vs READ

2012-04-30 Thread Dave Laansma
It's a dynamic file. FILE-STAT shows no overflow.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Buss, Troy
(Contractor, Logitek Systems)
Sent: Monday, April 30, 2012 9:12 PM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Inefficient file sizing and disk I/O are your possible issues with
slowness.   You might be able to address the first at your desk, the
latter may require a purchase order. How old is your hardware?

We recently upgraded to a virtual server and just using more current
technology hard drives we doubled all of our disk I/O from what we had 5
or 6 years ago.  CPU speed increased as well, but that was not as
suprising.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Monday, April 30, 2012 6:01 PM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Yes, using SELECT and READNEXT. These are sizable records. The logic is
very straight forward, just updating several multi-valued fields in each
record (month end).

500,000 have been updated and I'm 2:45:00 into the process.



_
Scanned by IBM Email Security Management Services powered by
MessageLabs. For more information please visit http://www.ers.ibm.com

This email is intended only for the use of the party to which it is
addressed and may contain information that is privileged, confidential,
or protected by law.  If you are not the intended recipient you are
hereby notified that any dissemination, copying or distribution of the
email or its contents is strictly prohibited.  If you have received this
message in error, please notify us immediately, by replying to the
message and deleting it from your computer.

WARNING: Internet communications are not assured to be secure or clear
of inaccuracies as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses.  Therefore, we
do not accept responsibility for any errors or omissions that are
present in this email, or any attachment, that have arisen as a result
of e-mail transmission.

_
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] READU vs READ

2012-04-30 Thread Dave Laansma
No indexes and no triggers.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gregor Scott
Sent: Monday, April 30, 2012 9:22 PM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Add to the mix indexes and triggers. They can both add to the time
needed to update just one record.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Buss, Troy
(Contractor, Logitek Systems)
Sent: Tuesday, 1 May 2012 11:12 AM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Inefficient file sizing and disk I/O are your possible issues with
slowness.   You might be able to address the first at your desk, the
latter may require a purchase order. How old is your hardware?

We recently upgraded to a virtual server and just using more current
technology hard drives we doubled all of our disk I/O from what we had 5
or 6 years ago.  CPU speed increased as well, but that was not as
suprising.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Monday, April 30, 2012 6:01 PM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Yes, using SELECT and READNEXT. These are sizable records. The logic is
very straight forward, just updating several multi-valued fields in each
record (month end).

500,000 have been updated and I'm 2:45:00 into the process.



_
Scanned by IBM Email Security Management Services powered by
MessageLabs. For more information please visit http://www.ers.ibm.com

This email is intended only for the use of the party to which it is
addressed and may contain information that is privileged, confidential,
or protected by law.  If you are not the intended recipient you are
hereby notified that any dissemination, copying or distribution of the
email or its contents is strictly prohibited.  If you have received this
message in error, please notify us immediately, by replying to the
message and deleting it from your computer.

WARNING: Internet communications are not assured to be secure or clear
of inaccuracies as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses.  Therefore, we
do not accept responsibility for any errors or omissions that are
present in this email, or any attachment, that have arisen as a result
of e-mail transmission.

_
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
--
Message  protected by DealerGuard: e-mail anti-virus, anti-spam and
content filtering.
http://www.pentanasolutions.com

Click here to report this message as spam:
https://login.mailguard.com.au/report/1EE0zigg55/70gcZxRJUITQXy3UHcVFYT/
0.002


This email and any attachments to it are confidential.
You must not use, disclose or act on the email if you are not the
intended recipient.  Liability limited by a scheme approved under
Professional Standards Legislation.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] READU vs READ

2012-04-30 Thread Dave Laansma
I learned terminal I/O problems last millennium.

Unfortunately I wrote neither the code nor did I design the files. I
just want to speed the silly thing up.

It also appears that each record is getting several MVs added, so each
record is effectively getting larger with each WRITE ... yea ... :-/ ...
it must have seemed like a good idea at the time.

(My apologies for whining)

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Tony Gravagno
Sent: Monday, April 30, 2012 9:22 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] READU vs READ

(Saw other responses come in as I was writing this - oh well, this might
help someone else...)

 From: Dave Laansma
 If I don't HAVE TO lock a record before modifying it writing it
back, will a
 program run significantly faster if I just WRITE it back without
locking it
 first? I'm updating about 700,000 records and it's just taking TOO
long.
 
 I DO understand the risks of other users changing the record's
content
 during so let's not go down that road. I'm interested in the SPEED 
 dialog.

I don't know what you meant by SPEED dialog but if WJ is right and
you're displaying an item count as you run through records, then he is
also right that that IO will destroy performance.

Try this as related experiment: Loop to display the numbers 1 through
1 million. Watch it stream on your terminal emulator. Now run it again,
minimize the emulator, then re-normalize it. I believe you will find
that while the output was hidden it streamed through most or all of the
output. Same thing happens if you're doing a copy or delete and tapping
your fingers as you wait for the IDs to  stream by - a watched kettle
takes longer to boil... :)

About READU vs READ... You're doing a READU just because you're doing a
WRITE? Nah, if you don't care about contentions don't bother to ReadU.
You're reading and updating lock tables and semaphors with READU and
that's huge performance hit.

Here's another experiment: When you're copying or restoring items, use
the appropriate option to overlay items, even if you know the target
file is empty. Why? Because Copy needs to do a Read first to see if it
needs to warn you about an existing item. If you tell it to overlay it
will just do the Write (sure, there's a lower level read there anyway
but less code is executed).

Combining these... if you use a Copy (Pick flavor, don't recall options
otherwise) with both overlay and ID suppress, it avoids a ton of
internal DBMS code, so it goes a lot faster than a no-option copy.

I haven't benched those scenarios for years. If anyone does the tests,
please let us know if this is valid or not, and your DBMS/flavors.

T

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] READU vs READ

2012-04-30 Thread Dave Laansma
Oh ... you're good ... I ALMOST pasted it ...

I know better that to put even FICTITIOUS code on this board ... unless
I'm just trying to rile things up about the OS. |-)

I do appreciate all of the input. Thank y'all for the info. I'll see
what I can do.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Monday, April 30, 2012 9:47 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] READU vs READ

why not post the relevant code you are using to do the field updates
perhaps we can see some inefficiency in the way you're grabbing and
updating fields you said the records were sizeable and that raises my
eyebrow (just one)

 

 

 

-Original Message-
From: Dave Laansma dlaan...@hubbardsupply.com
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Mon, Apr 30, 2012 6:38 pm
Subject: Re: [U2] READU vs READ


No indexes and no triggers.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Gregor Scott
Sent: Monday, April 30, 2012 9:22 PM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Add to the mix indexes and triggers. They can both add to the time
needed to update just one record.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Buss, Troy
(Contractor, Logitek Systems)
Sent: Tuesday, 1 May 2012 11:12 AM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Inefficient file sizing and disk I/O are your possible issues with
slowness.   You might be able to address the first at your desk, the
latter may require a purchase order. How old is your hardware?

We recently upgraded to a virtual server and just using more current
technology hard drives we doubled all of our disk I/O from what we had 5
or 6 years ago.  CPU speed increased as well, but that was not as
suprising.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Monday, April 30, 2012 6:01 PM
To: U2 Users List
Subject: Re: [U2] READU vs READ

Yes, using SELECT and READNEXT. These are sizable records. The logic is
very straight forward, just updating several multi-valued fields in each
record (month end).

500,000 have been updated and I'm 2:45:00 into the process.



_
Scanned by IBM Email Security Management Services powered by
MessageLabs. For more information please visit http://www.ers.ibm.com

This email is intended only for the use of the party to which it is
addressed and may contain information that is privileged, confidential,
or protected by law.  If you are not the intended recipient you are
hereby notified that any dissemination, copying or distribution of the
email or its contents is strictly prohibited.  If you have received this
message in error, please notify us immediately, by replying to the
message and deleting it from your computer.

WARNING: Internet communications are not assured to be secure or clear
of inaccuracies as information could be intercepted, corrupted, lost,
destroyed, arrive late or incomplete, or contain viruses.  Therefore, we
do not accept responsibility for any errors or omissions that are
present in this email, or any attachment, that have arisen as a result
of e-mail transmission.

_
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
--
Message  protected by DealerGuard: e-mail anti-virus, anti-spam and
content filtering.
http://www.pentanasolutions.com

Click here to report this message as spam:
https://login.mailguard.com.au/report/1EE0zigg55/70gcZxRJUITQXy3UHcVFYT/
0.002


This email and any attachments to it are confidential.
You must not use, disclose or act on the email if you are not the
intended recipient.  Liability limited by a scheme approved under
Professional Standards Legislation.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

 
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman

Re: [U2] EXIT ; EXIT inside a loop

2012-04-20 Thread Dave Laansma
This is my point exactly. This (and presumably the CONTINUE statement)
is one example where utilizing the semicolon construct is ineffective,
except for comments. Using the FOR/NEXT method is clearly not the
preferred method.

This example was brought up because I'm essentially 'searching' through
a 3-dimensional table and when I find a specific string in a sub-value,
I need to abort the search all together. I cannot bring myself to use
GOTO ... I just CAN'T. But maybe this once ... just this once ... sigh
... :'-|
...
WAIT! I think I've got it!
...
Yes, to search through each 'dimension' in a single loop ... REMOVE ...
and it's darn fast!

You people inspire GENIUS!

Glad I still had my coins.

Sincerely,
David Laansma


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Woodward, Bob
Sent: Thursday, April 19, 2012 4:43 PM
To: U2 Users List
Subject: Re: [U2] EXIT ; EXIT inside a loop

Not from what I see.  Only the first EXIT seems to apply as it executes
immediately, skipping over the second EXIT.  You would have to add the
same test of G = H after the NEXT A2 statement.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Thursday, April 19, 2012 1:36 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] EXIT ; EXIT inside a loop

Given:

 

FOR A1 = 1 TO X

  FOR A2 = 1 TO Y

little twisted logic

IF G = H THEN EXIT ; EXIT

twisted little logic

  NEXT A2

  twisting little logic

NEXT A1

little twisting logic

 

The question is, if G = H, will the two EXIT commands drop out of both
loops, skipping BOTH twisted little logic and twisting little logic,
and resume execution at little twisting logic ?

 

PLOUGH

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com http://www.hubbardsupply.com 

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] EXIT ; EXIT inside a loop

2012-04-20 Thread Dave Laansma
I won't know it's the right string until I perform a few tests on it,
thus the 'twists'.

Sincerely,
David Laansma



-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rex Gozar
Sent: Friday, April 20, 2012 8:40 AM
To: U2 Users List
Subject: Re: [U2] EXIT ; EXIT inside a loop

See FIND and/or FINDSTR in the BASIC reference guide.

On Fri, Apr 20, 2012 at 8:30 AM, Dave Laansma
dlaan...@hubbardsupply.com wrote:

 This example was brought up because I'm essentially 'searching' 
 through a 3-dimensional table and when I find a specific string in a 
 sub-value, I need to abort the search all together. I cannot bring 
 myself to use
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] EXIT ; EXIT inside a loop

2012-04-20 Thread Dave Laansma
Thank you Rex, but FIND and FINDSTR assume that I know some part of what
I'm looking for.

Walking the beach, each day's rock is different.

Sincerely,
David Laansma

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rex Gozar
Sent: Friday, April 20, 2012 8:46 AM
To: U2 Users List
Subject: Re: [U2] EXIT ; EXIT inside a loop

read the documentation -- you can step thru occurences

On Fri, Apr 20, 2012 at 8:44 AM, Dave Laansma
dlaan...@hubbardsupply.com wrote:
 I won't know it's the right string until I perform a few tests on it, 
 thus the 'twists'.

 Sincerely,
 David Laansma



 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rex Gozar
 Sent: Friday, April 20, 2012 8:40 AM
 To: U2 Users List
 Subject: Re: [U2] EXIT ; EXIT inside a loop

 See FIND and/or FINDSTR in the BASIC reference guide.

 On Fri, Apr 20, 2012 at 8:30 AM, Dave Laansma 
 dlaan...@hubbardsupply.com wrote:

 This example was brought up because I'm essentially 'searching'
 through a 3-dimensional table and when I find a specific string in a 
 sub-value, I need to abort the search all together. I cannot bring 
 myself to use
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Case Statement with only two cases

2012-04-19 Thread Dave Laansma
Logically they are clearly the same. It just depends on what the
programmer had in mind for the future of 'A'.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Thursday, April 19, 2012 3:52 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Case Statement with only two cases


Is there a point in code like this

BEGIN CASE
   CASE A = TEST; GOSUB DO.SOMETHING
   CASE 1; GOSUB DO.SOMETHING.ELSE
END CASE

versus this

IF A = TEST THEN GOSUB DO.SOMETHING ELSE GOSUB DO.SOMETHING.ELSE

Personally I see no advantage in making this a  CASE

Does the rest of the *Universe* agree with me?
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] EXIT ; EXIT inside a loop

2012-04-19 Thread Dave Laansma
Using this logic, I believe twisting little logic would still be
executed.

Sincerely,
David Laansma


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Lunt, Bruce
Sent: Thursday, April 19, 2012 4:50 PM
To: 'U2 Users List'
Subject: Re: [U2] EXIT ; EXIT inside a loop

You could add logic to the For Next as in:


A1.DONE = FALSE
A2.DONE = FALSE

FOR A1 = 1 TO X UNTIL A1.DONE

  FOR A2 = 1 TO Y UNTIL A2.DONE

little twisted logic

IF G = H THEN A1.DONE = TRUE; A2.DONE = TRUE; EXIT

twisted little logic

  NEXT A2

  twisting little logic

NEXT A1

little twisting logic

 

The question is, if G = H, will the two EXIT commands drop out of both
loops, skipping BOTH twisted little logic and twisting little logic,
and resume execution at little twisting logic ?

 

PLOUGH

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com http://www.hubbardsupply.com 

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Hello

2012-03-05 Thread Dave Laansma
Okay, I've got a pretty simple question ...

How do I get a list of all files that are currently OPEN so I know
whether I need to open a given file again?

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of u2ug
Sent: Monday, March 05, 2012 10:32 AM
To: U2 Users List
Subject: [U2] Hello

Is the list alive ?  Haven't seen anything for a week.


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [OT] CareerBuider.com exploiting animals in their advertising

2012-02-06 Thread Dave Laansma
As much as this subject makes me go bananas, I'm hoping this thread is
summarily ended, lest we all go ape over a subject that contributes
nothing to the betterment of the U2 database and the primates that
utilize it.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Stuart
Boydell
Sent: Saturday, February 04, 2012 7:06 PM
To: U2 Users Community; 'U2 Users List'
Subject: [U2] [OT] CareerBuider.com exploiting animals in their
advertising

Hi,
Sorry this is off topic, but as it involves a company that some of you
may use for job placement I thought it's not too inappropriate.

For the upcoming US Super Bowl the job placement company CareerBuilder
intend to run TV advertisements using Chimpanzees as unruly office
workers.
Although the 'fun antics' of chimps may seem harmless, sorry to say
there are very sad consequences for them.

Previously CareerBuilder has agreed not to exploit Chimpanzees in their
advertising and this reversal has no doubt been based on having had good
advertising success rate overriding their commitment to desist. I don't
need to expand on the ethical implications of this position by a job
placement company.

If you believe that going back on a promise or cruelty to animals are
morally unsupportable please consider writing to CareerBuilder to make
your feelings known.

You can read more about it here
https://secure.peta.org/site/Advocacy?cmd=displaypage=UserActionid=349
4

Thank you for reading and apologies for posting off topic.

Regards,
Stuart Boydell
stu...@sbcs.com.au
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] A Thursday Quandry...

2012-01-26 Thread Dave Laansma
With all due respect ... ew!

Put the DEBUG command in the INCLUDED code or make it a subroutine for
the purpose of debugging it, THEN put it back when you fixed the
problem.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Daniel
McGrath
Sent: Thursday, January 26, 2012 3:31 PM
To: U2 Users List
Subject: Re: [U2] A Thursday Quandry...

The way I've seen this handled before was by using a preprocessor.

So instead of calling BASIC to compile your code, you have your own
command that wraps BASIC. 

In your case, the first step would be to read each line, find the
include statements and insert the code (probably with * BEGIN INCLUDE
'x'  * END INCLUDE 'x' comments to help us humans).
You would then write it to a temporary directory and call BASIC to
compile that version.

Regards,
Dan

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David
Wolverton 
Sent: Thursday, January 26, 2012 1:25 PM
To: 'U2 Users List'
Subject: [U2] A Thursday Quandry...


UniData.

I have an external subroutine we call thousands of times within a
program
(does G/L Account assembly from all the 'pieces' of data).   

Our logic was that making it an 'included' subroutine within the program
would make it perform faster, and I think that was a good call.

Now it sort of bites during debug, as UniData does not 'explode' the
code at compile, so that if you're doing interactive debugging, you get
the 'same line number' each time as you step through that included code
- so there's no way to know where it's at in the subroutine (and
therefore, no good clue how many lines you can do Enn to step
through.)  It's not often that I need this, but I'm doing it now and am
not believing there is not a 'better way'...

Is there a way to make an Included Subroutine 'insert itself' at compile
time - as if that code were REALLY in the program??

How have others dealt with this?

David W.


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] brillant or not

2012-01-17 Thread Dave Laansma
One difference between a smart programmer and a professional programmer
is that the professional understands that clarity is king. Professionals
use their powers for good and write code that others can understand.

Robert C. Martin - Clean Code - A Handbook of Agile Software
Craftsmanship

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of jay rappaport
Sent: Tuesday, January 17, 2012 7:50 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] brillant or not

this discussion brings back memories from long long time ago, far far
away


when the shortest working program we could come up with as a challenge
in school was


input = output : f(end)




one line of code that actually did something


now if only i could remember what language this was in!


jay
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Line Printer Control

2011-12-22 Thread Dave Laansma
If you're on AIX, there are some settings in smit that may be causing it
too.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John Thompson
Sent: Thursday, December 22, 2011 3:14 PM
To: U2 Users List
Subject: Re: [U2] Line Printer Control

If I remember correctly, when we converted from UltPlus to Universe... I
had to set the following in our master login paragraph (I know, I know,
probably not the best place for it) for a lot of legacy stuff.

SETPTR ,132,60,0,0,,NOHEAD,BRIEF,NFMT

Try that maybe?  Shot in the dark.  I do remember many hours pulling my
hair out over this though.

On Thu, Dec 22, 2011 at 3:06 PM, Bill Brutzman
bi...@hkmetalcraft.comwrote:

 We still use a greenbar printer to print checks.

 Via a UniBasic program, I am trying to send an alignment pattern to 
 the printer before starting the check run.

 The trouble is that it always does a form feed after the alignment
pattern.

 I have been diddling with toggling options in...

 execute 'SETPTR
 0,132,60,2,0,1,NHEAD,BRIEF,NFMT,NOEJECT,NODEFAULT,NOFORMFEED, AT PR0'

 PRINTER OFF
 PRINTER CLOSE

 Help would be appreciated.

 --Bill
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users




--
John Thompson
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Line Printer Control

2011-12-22 Thread Dave Laansma
In smit, when you setup the queue new or change an existing 'virtual
printer' a couple of settings that give me complete control in Unidata
are:

Send FORM FEED after each file = No
Lines Per Page = null
Columns per page = 

Make sure you always set it up as a GENERIC printer and ASCII printer

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John Thompson
Sent: Thursday, December 22, 2011 3:21 PM
To: U2 Users List
Subject: Re: [U2] Line Printer Control

Yes, on AIX, if you are using System V printing, make sure you setup the
printer like so:

Sorry for the ugly output...

Add Remote Printer Configuration

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

[Entry Fields]
* PRINTER name   [Qtest]
* SERVER name[dns-name-or-ip]
 +
* PRINTER NAME on server [RAW]
  COMMENT[]
  CLASS name []
 +

  -- Interface Program Options --

  Printer TYPES  [Other]
  +
  CONTENT TYPE   [simple]
 +

  - Header/Trailer Page Options -

  Force BANNER?   no
  +


On Thu, Dec 22, 2011 at 3:14 PM, Dave Laansma
dlaan...@hubbardsupply.comwrote:

 If you're on AIX, there are some settings in smit that may be causing 
 it too.

 Sincerely,
 David Laansma
 IT Manager
 Hubbard Supply Co.
 Direct: 810-342-7143
 Office: 810-234-8681
 Fax: 810-234-6142
 www.hubbardsupply.com
 Delivering Products, Services and Innovative Solutions

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John 
 Thompson
 Sent: Thursday, December 22, 2011 3:14 PM
 To: U2 Users List
 Subject: Re: [U2] Line Printer Control

 If I remember correctly, when we converted from UltPlus to Universe...

 I had to set the following in our master login paragraph (I know, I 
 know, probably not the best place for it) for a lot of legacy stuff.

 SETPTR ,132,60,0,0,,NOHEAD,BRIEF,NFMT

 Try that maybe?  Shot in the dark.  I do remember many hours pulling 
 my hair out over this though.

 On Thu, Dec 22, 2011 at 3:06 PM, Bill Brutzman
 bi...@hkmetalcraft.comwrote:

  We still use a greenbar printer to print checks.
 
  Via a UniBasic program, I am trying to send an alignment pattern to 
  the printer before starting the check run.
 
  The trouble is that it always does a form feed after the alignment
 pattern.
 
  I have been diddling with toggling options in...
 
  execute 'SETPTR
  0,132,60,2,0,1,NHEAD,BRIEF,NFMT,NOEJECT,NODEFAULT,NOFORMFEED, AT
PR0'
 
  PRINTER OFF
  PRINTER CLOSE
 
  Help would be appreciated.
 
  --Bill
  ___
  U2-Users mailing list
  U2-Users@listserver.u2ug.org
  http://listserver.u2ug.org/mailman/listinfo/u2-users
 



 --
 John Thompson
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users




--
John Thompson
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] End of Month date routine

2011-12-05 Thread Dave Laansma
* BASICALLY, GET TO THE FIRST OF NEXT MONTH
*   THEN BACK UP ONE DAY

  TODAY  = ICONV(12/15/11,D2/) ; * SAMPLE DATE
  THIS.MONTH = OCONV(TODAY,DM)   ; * GET 'THIS' MONTH NUMBER
  LAST.DAY   = TODAY   ; * ASSUME TODAY IS THE LAST DAY

  LOOP
IF OCONV(LAST.DAY,DM) # THIS.MONTH THEN ; * CHANGE IN MONTH?
  LAST.DAY -= 1   ; * BACK UP A DAY
  EXIT; * DONE
END

LAST.DAY += 1 ; * GO FORWARD A DAY
  REPEAT

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of
charles_shaf...@ntn-bower.com
Sent: Monday, December 05, 2011 2:22 PM
To: U2 Users List
Subject: Re: [U2] End of Month date routine

Here's one I use.

TODAY = OCONV(DATE(), D4/)
MO = FIELD(TODAY, /, 1)
YR = FIELD(TODAY, /, 3)
MO += 1
IF MO  12 THEN
   MO = 1
   YR += 1
END
EOM = OCONV((ICONV(MO:/:1:YR) - 1), D4/)

Charles Shaffer
Senior Analyst
NTN-Bower Corporation



From:   Wjhonson wjhon...@aol.com
To: u2-users@listserver.u2ug.org, 
Date:   12/05/2011 01:03 PM
Subject:[U2]  End of Month date routine
Sent by:u2-users-boun...@listserver.u2ug.org




Does someone have a routine that, no matter what day you run it, returns
the End of Month Date ?
(Assume the end of month date, is the calendar end of month date not
some screwy business date)
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

--
This email was Anti Virus checked by Astaro Security Gateway. 
http://www.astaro.com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] End of Month date routine

2011-12-05 Thread Dave Laansma
Ditto.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
Sent: Monday, December 05, 2011 3:10 PM
To: U2 Users List
Subject: Re: [U2] End of Month date routine

Haven't checked it, but what happens on 01/31 by adding 31, it should
take you March, backing up
  Will give you 02/xx (28 or 29)?

George

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wols Lists
Sent: Monday, December 05, 2011 3:05 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] End of Month date routine

On 05/12/11 19:03, Wjhonson wrote:

 Does someone have a routine that, no matter what day you run it,
returns the End of Month Date ?
 (Assume the end of month date, is the calendar end of month date not 
 some screwy business date)

Hmmm... no-one seems to have done my approach ...

TODAY = @DATE
THIS.MONTH.O = OCONV (TODAY, DMY) ;* strip day off NEXT.MONTH.I =
ICONV( THIS.MONTH.O, D) + 31 ;* random day next month NEXT.MONTH.O =
OCONV( NEXT.MONTH.I, DMY) ;* strip day off LAST.DAY.I = ICONV(
NEXT.MONTH.O, D) - 1 ;* subract one day

If you don't have a day in your i/oconv it defaults to 1, so the logic
works. Unfortunately you can't combine the first three lines because
there's no number you can pick that will guarantee to land you in next
month whatever today's date :-(

Cheers,
Wol
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] End of Month date routine

2011-12-05 Thread Dave Laansma
No, this will fail on January 31st, every year.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Marco Antonio
Rojas Castro
Sent: Monday, December 05, 2011 3:49 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] End of Month date routine


TODAY = DATE()
EOM = TODAY - TODAYDD + 32
EOM = EOM - EOMDD

 

 To: u2-users@listserver.u2ug.org
 From: wjhon...@aol.com
 Date: Mon, 5 Dec 2011 15:16:02 -0500
 Subject: Re: [U2] End of Month date routine
 
 
 Doesn't work on my system Anthony.
 The This month o gives the month and year ok but the attempt to iconv 
 that sets it to zero, it doesn't pad the 01 into it or something so 
 i just get 31 at that point.
 
 I think you were expecting that it would take 12 2011 and make it 
 into 12 01 2011 or whatever but it's not working
 
 
 
 
 -Original Message-
 From: George Gallen ggal...@wyanokegroup.com
 To: U2 Users List u2-users@listserver.u2ug.org
 Sent: Mon, Dec 5, 2011 12:10 pm
 Subject: Re: [U2] End of Month date routine
 
 
 Haven't checked it, but what happens on 01/31 by adding 31, it should 
 take you arch, backing up Will give you 02/xx (28 or 29)?
 George
 -Original Message-
 rom: u2-users-boun...@listserver.u2ug.org 
 [mailto:u2-users-boun...@listserver.u2ug.org]
 n Behalf Of Wols Lists
 ent: Monday, December 05, 2011 3:05 PM
 o: u2-users@listserver.u2ug.org
 ubject: Re: [U2] End of Month date routine On 05/12/11 19:03, Wjhonson

 wrote:
 
 Does someone have a routine that, no matter what day you run it, 
 returns the nd of Month Date ?
 (Assume the end of month date, is the calendar end of month date not 
 some crewy business date) Hmmm... no-one seems to have done my 
 approach ...
 TODAY = @DATE
 HIS.MONTH.O = OCONV (TODAY, DMY) ;* strip day off EXT.MONTH.I = 
 ICONV( THIS.MONTH.O, D) + 31 ;* random day next month EXT.MONTH.O = 
 OCONV( NEXT.MONTH.I, DMY) ;* strip day off AST.DAY.I = ICONV( 
 NEXT.MONTH.O, D) - 1 ;* subract one day If you don't have a day in 
 your i/oconv it defaults to 1, so the logic orks. Unfortunately you 
 can't combine the first three lines because here's no number you can 
 pick that will guarantee to land you in next onth whatever today's 
 date :-( Cheers, ol __
 2-Users mailing list
 2-us...@listserver.u2ug.org
 ttp://listserver.u2ug.org/mailman/listinfo/u2-users
 __
 2-Users mailing list
 2-us...@listserver.u2ug.org
 ttp://listserver.u2ug.org/mailman/listinfo/u2-users
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
  
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] UniBasic Question

2011-10-26 Thread Dave Laansma
Oh, and Roadrunner is faster than Sonic ... definitely.

:-)

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Tuesday, October 25, 2011 4:59 PM
To: U2 Users List
Subject: Re: [U2] UniBasic Question

Unless you know the keys to the records you're selecting, even the
EXECUTE SELECT ... is going to have to read each record, how else
would it know which records to throw out?

My point is, if one of your selection criteria were in the key, then my
method bypasses the need to read the record if the key element fails its
test.

I concede the sort, however some relatively simple 'table' management
can easily remedy that.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of
charles_shaf...@ntn-bower.com
Sent: Tuesday, October 25, 2011 4:53 PM
To: U2 Users List
Subject: Re: [U2] UniBasic Question

 Dave
 The next-to-last one may depend on Unidata vs. Universe.  I 
 understand that Unidata only 'fetches' the key in the READNEXT while 
 I believe Universe grabs both the key and record, due to the 
 construct of the database.

I believe that is the case in Unidata.  A SELECT returns a list of IDs. 
That's why your recommendation was confusing me.  In the Unidata
environment, I would have to read every record in order to apply the
filter in the loop.  In a case where only a few records are selected
from a large file, this would create a lot of unnecessary disk activity.
Also, you would not be able to SORT the order of the IDs.

Charles Shaffer
Senior Analyst
NTN-Bower Corporation
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] UniBasic Question

2011-10-25 Thread Dave Laansma
I'd strongly suggest using the Unibasic SELECT file TO listname
instead of EXECUTE SELECT filename selection criteria

Then you just specify your selection criteria inside your loop.

A few advantages that I've personally experienced, but there are
probably more:

The READNEXT begins immediately (does not wait for the whole file to be
checked)
You can nest your SELECTS (not that this is an ethical, but you can)
You're not dependent on the accuracy of the dictionary
If your selection criteria is part of the key, you don't even have to
read the record if the key element fails the selection
And you can write a cool little subroutine that keeps the human
accurately informed as to the progress and estimated time of completion
of their program

The next-to-last one may depend on Unidata vs. Universe.  I understand
that Unidata only 'fetches' the key in the READNEXT while I believe
Universe grabs both the key and record, due to the construct of the
database.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Tuesday, October 25, 2011 4:08 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] UniBasic Question






And... when you prematurely quit from an execution level which *had*
been processing a select list your select list is not thrown away.
Which is annoying.

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] UniBasic Question

2011-10-25 Thread Dave Laansma
Unless you know the keys to the records you're selecting, even the
EXECUTE SELECT ... is going to have to read each record, how else
would it know which records to throw out?

My point is, if one of your selection criteria were in the key, then my
method bypasses the need to read the record if the key element fails its
test.

I concede the sort, however some relatively simple 'table' management
can easily remedy that.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of
charles_shaf...@ntn-bower.com
Sent: Tuesday, October 25, 2011 4:53 PM
To: U2 Users List
Subject: Re: [U2] UniBasic Question

 Dave
 The next-to-last one may depend on Unidata vs. Universe.  I 
 understand that Unidata only 'fetches' the key in the READNEXT while 
 I believe Universe grabs both the key and record, due to the 
 construct of the database.

I believe that is the case in Unidata.  A SELECT returns a list of IDs. 
That's why your recommendation was confusing me.  In the Unidata
environment, I would have to read every record in order to apply the
filter in the loop.  In a case where only a few records are selected
from a large file, this would create a lot of unnecessary disk activity.
Also, you would not be able to SORT the order of the IDs.

Charles Shaffer
Senior Analyst
NTN-Bower Corporation
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Comparing numeric strings

2011-08-12 Thread Dave Laansma
Call me a hack ... go ahead

A:FOO  A:BAR

Numeric string is an oxymoron in any language, I believe.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Rob Sobers
Sent: Friday, August 12, 2011 8:15 AM
To: U2 Users List
Subject: [U2] Comparing numeric strings

Say you have two strings that happen to be nuneric:

FOO = 401.0101
BAR = 401.0101000

Since UniBasic is untyped, even though I've wrapped each value in quotes
,
they are treated as numbers.  As a result, FOO EQ BAR evaluates to
@TRUE.

In most dynamically typed languages, there's an intuitive way to coerce
the
values at run-time (e.g, foo.to_s, foo.ToString, Str(foo)).  I can't
seem to
figure out a good way to do this in UniBasic.  In the manual, there's a
function called SCMP that is supposed to be handy for comparing numeric
strings, but it doesn't appear to work in UniData 7.2.

# First try SCMP
IF SCMP(FOO, BAR) THEN
  CRT Not Equal
END ELSE
  CRT Equal
END

# Now try EQ
IF FOO EQ BAR THEN
  CRT Equal
END ELSE
  CRT Not Equal
END

Result:
Equal
Equal

Also, the tip in the manual seems to be untrue:

Numbers specified in quotation marks are string data type. Numbers
specified without quotation marks are numeric data type. The data type
in a
variable is determined by the data first loaded into it.

Quotation marks appear to have absolutely no bearing on data type.

-Rob
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Is this worth rewriting?

2011-03-04 Thread Dave Laansma
Kevin, if you only knew ...

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King
Sent: Friday, March 04, 2011 12:01 PM
To: U2 Users List
Subject: Re: [U2] Is this worth rewriting?

Wow Dave, you really opened up a discussion on this one.  We shall call
you
Pandora... :)
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Is this worth rewriting?

2011-03-02 Thread Dave Laansma
This is some old code that I didn't write, so please don't use it for
anything profitable ...

 

The proposal to the group is: Due to the repeated references deep into
the PARMS tables, if this were rewritten to reference these locations as
few times as possible, IN YOUR OPINION, would there be a significant
improvement in the performance of this subroutine?

 

All in favor of rewrite, say AYE

All opposed, say NAY

 

(I'm testing some U2UG-Denver skills)

 

MONTHLY.USAGE:

 

   CM=MONTH+LY.CNT

   FOR M=1 TO 12

 IF PARMS(12)101,CM#'' OR PARMS(12)133,CM#'' OR
PARMS(12)134,CM#'' THEN

 

   CUM(M)=PARMS(12)101,CM+PARMS(12)133,CM+PARMS(12)134,CM

 END

 IF PARMS(7)100,CM#'' OR PARMS(7)101,CM#'' OR
PARMS(7)102,CM#'' THEN

 

   IF PARMS(7)100,CM#'' THEN CUMO(M)=CUMO(M)+PARMS(7)100,CM
ELSE

 CUMO(M)=CUMO(M)+PARMS(12)101,CM

   END

   IF PARMS(7)101,CM#'' THEN CUMO(M)=CUMO(M)+PARMS(7)101,CM
ELSE

 CUMO(M)=CUMO(M)+PARMS(12)133,CM

   END

   IF PARMS(7)102,CM#'' THEN CUMO(M)=CUMO(M)+PARMS(7)102,CM
ELSE

 CUMO(M)=CUMO(M)+PARMS(12)134,CM

   END

 END

 CM=CM-1; IF CM=0 THEN CM=24

   NEXT M

   RETURN

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Is this worth rewriting?

2011-03-02 Thread Dave Laansma
The reason I ask specifically of the repeated references is, during one
of the sessions at U2UG-Denver, it was implied that each time you
reference a specific location in a table, the OS basically has to start
at the beginning of the table and 'find' its way to that location
(explained in my over-simplified way of thinking).

Thus why the REMOVE statement is preferred when sequentially referencing
a table rather than a FOR/NEXT loop referencing each element
individually.  The REMOVE statement keeps a pointer as to where it left
off in the table and simply goes to the next AM/VM/SM/RM

I have personally experienced (and thus embraced) the truly
extraordinary performance improvement with the REMOVE statement and
would encourage everyone to do so as well.

To address a couple comments:

This would appear to me to be 'textbook' code, implying it was likely
written by a newly graduated college student. With all due respect to
college grads, I can't believe some of the code I wrote a few years ago,
let alone what I must have done fresh out of college.

This code is likely 15+ years old and certainly could use a facelift, as
could any of us after any 15-year stint of our lives. To get more
detailed would be debating cosmetics ... a debate not intended for this
thread.

Nearly half-a-million records run through this code each month, it takes
about 1.5 hours and is critical that it run at peak efficiency.
Therefore my primary objective is performance.

Thank you all for the rousing debate.

That being said, I think I'll do my modifications and let the group know
what the results are.

Once again, thank you!

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Romanow
Sent: Wednesday, March 02, 2011 11:50 AM
To: U2 Users List
Subject: Re: [U2] Is this worth rewriting?

On 3/2/2011 11:43 AM, Dave Laansma wrote:
 This is some old code that I didn't write, so please don't use it for
 anything profitable ...



 The proposal to the group is: Due to the repeated references deep into
 the PARMS tables, if this were rewritten to reference these locations
as
 few times as possible, IN YOUR OPINION, would there be a significant
 improvement in the performance of this subroutine?



 All in favor of rewrite, say AYE

 All opposed, say NAY



 (I'm testing some U2UG-Denver skills)



 MONTHLY.USAGE:



 CM=MONTH+LY.CNT

 FOR M=1 TO 12

   IF PARMS(12)101,CM#'' OR PARMS(12)133,CM#'' OR
 PARMS(12)134,CM#'' THEN




CUM(M)=PARMS(12)101,CM+PARMS(12)133,CM+PARMS(12)134,CM

   END

   IF PARMS(7)100,CM#'' OR PARMS(7)101,CM#'' OR
 PARMS(7)102,CM#'' THEN



 IF PARMS(7)100,CM#'' THEN
CUMO(M)=CUMO(M)+PARMS(7)100,CM
 ELSE

   CUMO(M)=CUMO(M)+PARMS(12)101,CM

 END

 IF PARMS(7)101,CM#'' THEN
CUMO(M)=CUMO(M)+PARMS(7)101,CM
 ELSE

   CUMO(M)=CUMO(M)+PARMS(12)133,CM

 END

 IF PARMS(7)102,CM#'' THEN
CUMO(M)=CUMO(M)+PARMS(7)102,CM
 ELSE

   CUMO(M)=CUMO(M)+PARMS(12)134,CM

 END

   END

   CM=CM-1; IF CM=0 THEN CM=24

 NEXT M

 RETURN



 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
I dunno.  If it works and the performance is GoodEnough, I would leave 
it.  Parms is already a dimmed array, so each element is addressed 
independently.

Might be fun to use the U2 vector functions on it and get rid of the 
loop, i.e. OCONVS() and SUM() instead of the loop.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Frustrated with Rocket / Unidata 7.2

2011-02-18 Thread Dave Laansma
I must agree with Dave on this one. Through my 14-years of experience,
the Unidata team has provided exceptional product development, support
and seamless upgrades, version after version.

Now I am by no means a 'power-user' of the database, but asking from a
developers perspective, which of us have NOT broken something in a
subsequent release and really honked off one or more of our power users?
In my opinion, it's part of the 'game.'

That being said, in my 30+ years as a developer in general, one thing I
have learned (the hard way) is, to take an otherwise 'private' situation
public and rail against the hand that essentially feeds me is just bad
form.

I look forward to the posts from this forum as long as they are
knowledge-seeking and solution based, no matter how longwinded they get.
;^)

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Jordan
Sent: Friday, February 18, 2011 12:46 AM
To: U2 Users List
Subject: Re: [U2] Frustrated with Rocket / Unidata 7.2

U2 has probably spoiled us.   You should see some of the issues others
face upgrading in Oracle, SQL Server, Windows and so on.  We have an
expectation of seamless upgrades that does not occur in other
environments.   For people to have software that is 25 years old still
running on U2 is pretty good.

Regards

David Jordan

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UV] UniVerse Uptime

2011-02-17 Thread Dave Laansma
'who -b' will tell you the date and time AIX restarted last.

For us, if AIX is up, Unidata is up ...

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Porter
Sent: Thursday, February 17, 2011 9:26 AM
To: U2 Users List
Subject: Re: [U2] [UV] UniVerse Uptime

Interesting question...
 
 Don't know how accurate it would be but on my box /usr/uv/VOC has a
timestamp of the last time I brought uv up.
 
I'll be interested to see what others have to say on this.
 
Rob
 
 
 
 
Robert F. Porter, MCSE, CCNA, ZCE, OCP-Java6
Lead Sr. Programmer / Analyst
Laboratory Information Services
Ochsner Health System
 
 
 
 
This transmission (including any attachments) may contain confidential
information, privileged material (including material protected by the
solicitor-client or other applicable privileges), or constitute
non-public information. Any use of this information by anyone other than
the intended recipient is prohibited. If you have received this
transmission in error, please immediately reply to the sender and delete
this information from your system. Use, dissemination, distribution, or
reproduction of this transmission by unintended recipients is not
authorized and may be unlawful.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UV] UniVerse Uptime

2011-02-17 Thread Dave Laansma
BTW, for us that was Nov 27 9:48am ... gotta love AIX!

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Thursday, February 17, 2011 9:33 AM
To: U2 Users List
Subject: Re: [U2] [UV] UniVerse Uptime

'who -b' will tell you the date and time AIX restarted last.

For us, if AIX is up, Unidata is up ...

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Porter
Sent: Thursday, February 17, 2011 9:26 AM
To: U2 Users List
Subject: Re: [U2] [UV] UniVerse Uptime

Interesting question...
 
 Don't know how accurate it would be but on my box /usr/uv/VOC has a
timestamp of the last time I brought uv up.
 
I'll be interested to see what others have to say on this.
 
Rob
 
 
 
 
Robert F. Porter, MCSE, CCNA, ZCE, OCP-Java6
Lead Sr. Programmer / Analyst
Laboratory Information Services
Ochsner Health System
 
 
 
 
This transmission (including any attachments) may contain confidential
information, privileged material (including material protected by the
solicitor-client or other applicable privileges), or constitute
non-public information. Any use of this information by anyone other than
the intended recipient is prohibited. If you have received this
transmission in error, please immediately reply to the sender and delete
this information from your system. Use, dissemination, distribution, or
reproduction of this transmission by unintended recipients is not
authorized and may be unlawful.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Does UV have a BLOCK command

2011-02-07 Thread Dave Laansma
I have to agree with Steve on this one, to my knowledge you're going to
have to use either indented IF/THEN/END or GOTO.

That is unless there is a different syntactical statement set available.

The thing is they all likely decompile to the same instructions, so
we're debating cosmetics here.

Personally I like indented IF/THEN/END ... adds clarity

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Romanow
Sent: Monday, February 07, 2011 3:42 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Does UV have a BLOCK command

On 2/7/2011 3:39 PM, George Gallen wrote:

 LOOP
 block code
 block code
 if condition then EXIT
 block code
 EXIT
 REPEAT

 Would be nice if

 BEGIN BLOCK
 block code
 block code
 if condition then EXIT
 block code
 END BLOCK

Why not just

block code
block code
if not(condition) then
   block code
end


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] How many will be selected?

2010-10-19 Thread Dave Laansma
The problem with this question is, if I understand correctly, the SELECT
F.FILENAME statement does not truly select the entire file all at once.

It essentially selects one group at a time and passes those keys to the
READNEXT statement as they become available.

Which is why the SELECT F.FILENAME makes keys available to the READNEXT
statement immediately.

I have a COUNT.FILE (FILENAME,REC.CNT) subroutine that I use to get the
number of records that are in the file just before I initiate the SELECT
F.FILENAME statement.

The subroutine performs a simple COUNT command and returns one number.

The COUNT command seems to run faster than the corresponding SELECT,
especially for larger files, since I'm guessing that it doesn't build
the list as it is reading the keys.

Even this is only a close estimate since more records can presumably be
added further down the file before my READNEXT gets to that block.

Technicians at Rocket, feel free to interject !

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of
fft2...@aol.com
Sent: Tuesday, October 19, 2010 1:56 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] How many will be selected?

In a message dated 10/19/2010 10:50:28 AM Pacific Daylight Time, 
ggal...@wyanokegroup.com writes:


 Psychic you are!  Do you read palms as well?
 

What you need to do is ask the system these questions:
1) How many groups are in this file? and
2) What group number am I in right now.

The groups are processed so rapidly that this will be all you need to
know 
to calculate your dreams and desires in this regard.  And it will make
your 
hair grow back.

Will Johnson
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Very much OT - AUTO: Haydon Bishop is out of the office (again)

2010-07-01 Thread Dave Laansma
Where's Haden? along the Waldo theme.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John J. Wahl
Sent: Thursday, July 01, 2010 10:10 AM
To: U2 Users List
Subject: [U2] Very much OT - AUTO: Haydon Bishop is out of the office (again)


Now this T-Shirt of Awesomeness, does it have the The Man the Myth the 
Legend on the front or back and the opposite side says perhaps I've seen Away 
People... (Like Haydon Bishop)?   I'm game how much? :P


-
John J. Wahl 
Employee Owner
Programmer / Analyst
Tel:   (888) 465-6737 Ext. 120
Fax:   (330) 342-3896
Email: jw...@joseph.com
Web:  http://www.Joseph.com/



-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of 
charles_shaf...@ntn-bower.com
Sent: Thursday, July 01, 2010 10:02
To: U2 Users List
Subject: Re: [U2] AUTO: Haydon Bishop is out ofthe office.(returning 26/06/2010)

inquieti wrote:
 I've ordered I've seen Haydon Bishop t-shirts.


Are you going to offer them for sale?

Charles Shaffer
Senior Analyst
NTN-Bower Corporation
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] receiving error message XX record corrupt on logto

2010-05-22 Thread Dave Laansma
What are you people doing 'working' on a Saturday?!

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Susan Joslyn
Sent: Saturday, May 22, 2010 6:37 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] receiving error message XX record corrupt on logto

I have this happening at a client site and I've been all through the
re-file
everything and it won't quit.  It happens *consistently* if I have more
than
one session open, but still happens intermittently when I don't.  If you
do
come up with a fix for this I'd be very keen to learn it!


Thanks,

Susan Joslyn
SJ+ Systems Associates, Inc.
PRC - IT Governance for U2/Multivalue.



From: Susan Lynch sly...@fwdco.com
To: U2 Users List u2-users@listserver.u2ug.org
Subject: Re: [U2] receiving error message XX record corrupt on logto
Message-ID: 004b3459d050475daf942cfccd93c...@susanhome
Content-Type: text/plain; format=flowed; charset=iso-8859-1;
reply-type=original

Kevin, yes, ROOT was the first one I did!

Susan Lynch
F. W. Davison  Company, Inc.

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] AccuTerm File Transfer

2010-04-30 Thread Dave Laansma
The beauty of the Accuterm (and other direct 'push' features) is that
there is virtually no setup required on the PC in order to transfer the
data.  If Accuterm is operational and you have a network connection, it
simply works.

And if you get really creative, after the file is transported to the PC,
then you can activate open Excel run an Accuterm script that opens said
file and automatically formats the columns right in front of the user.

My users have come to LOVE this 'magical' report delivery method.  And
no special setup is necessary on their PC.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Houben
Sent: Friday, April 30, 2010 1:21 AM
To: U2 Users List
Subject: Re: [U2] AccuTerm File Transfer

Back in 1985/86 I helped design and develop a terminal emulator, the
first one for PICK, called PK Harmony (based on the PC-Harmony Business
Basic emulator family).  We designed all these useful escape sequences
so you could have a PICK/BASIC program run a DOS command, or drive a
printer, either directly or through a slave printer function.  I'd
like to think that modern terminal emulators have a way to direct output
to a printer, but maybe not.  I've been out of the terminal emulator end
of things and into ODBC/JDBC and successors for almost 20 years now.

They might pop up and ask you what printer to send output to, which
would be a bit of a drag. The more useful thing would be to be able to
ask the emulator what printers it has available and optionally select
one by name or ordinal, from the list.  Then you could do everything
programmatically, without interaction.

These days I tend to operate from telnet, so I don't really know the
emulators, anymore.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of McGowan, Ian
Sent: Thursday, April 29, 2010 6:31 PM
To: U2 Users List
Subject: Re: [U2] AccuTerm File Transfer

I forgot the obligatory plug for pickwiki:
http://www.pickwiki.com/cgi-bin/wiki.pl?RunAProgram - this page has
escape sequences for a lot of the common emulators...

Ian McGowan

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of McGowan, Ian
Sent: Thursday, April 29, 2010 6:25 PM
To: U2 Users List
Subject: Re: [U2] AccuTerm File Transfer

If you can arrange for the terminal emulator to run a command, you can
fire off (for example):

cmd /c start http://myserver/files/abc123.pdf;

And the end user's PC will launch the default browser and attempt to
connect to the web service.  You set the mime-type to application/pdf,
include some magic javascript in the pdf to open up the print dialog
automatically, and Bob's your uncle.  Closing the pdf is tricky, we've
left it to the user to do that.  For word, substitute macros for
javascript (though the user will have to be prepared for scary popups).

If you have full control of the client's environment, you can install
tools like doit (by the author of putty) and bypass the terminal
emulator bit.

http://www.chiark.greenend.org.uk/~sgtatham/doit/

The other way we do this to send word, excel and pdf docs generated by
pick basic code is to simply email it to the user.  Sometimes there's no
other options - there's a firewall in the way, security won't allow
other methods, etc.  The users don't seem to care, as long as they get a
document in a few seconds.

Ian McGowan
925.609.2554


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King
Sent: Thursday, April 29, 2010 5:01 PM
To: U2 Users List
Subject: Re: [U2] AccuTerm File Transfer

Glen, so how is it exactly that an event on the server will trigger this
transfer, open, print, and exit?
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
IMPORTANT NOTICE: This message is intended only for the addressee
and may contain confidential, privileged information. If you are
not the intended recipient, you may not use, copy or disclose any
information contained in the message. If you have received this
message in error, please notify the sender by reply e-mail and
delete the message.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org

Re: [U2] AccuTerm File Transfer

2010-04-29 Thread Dave Laansma
Kevin,

I've found using the ASCII version of the Accuterm transfer to be
'acceptable' regarding speed.

A couple of things:

Depending on the version of the FT programs, you may be limited to
10-meg files.  A couple of tweaks here and there and that can easily be
changed to 100-meg or more.

Unfortunately, no control characters, except perhaps the CR/LF are
transferred in this method.  So you'll have to CONVERT all tab to '|'
for example, transfer the file and convert them back again.

Depending on what you're transferring, this may not be an issue.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King
Sent: Thursday, April 29, 2010 12:32 PM
To: U2 Users List
Subject: Re: [U2] AccuTerm File Transfer

I realize this is an old thread now, but is there any way to improve the
speed of the AccuTerm file transfer (preferably using an error
correcting
protocol)?  On SBClient a 25K file takes a couple of seconds, on
AccuTerm
the same file takes about 30 seconds.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] AccuTerm File Transfer

2010-04-29 Thread Dave Laansma
Yes, it is as you say.

I use it primarily to move reports back and forth, not critical like an
EDI transfer.

Also, I have been using it for a number of months and have not had a
single failure, that has been brought to my attention at any rate.

I've been considering writing an ftp script/subroutine to accomplish
this much faster, but time and all.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King
Sent: Thursday, April 29, 2010 1:59 PM
To: U2 Users List
Subject: Re: [U2] AccuTerm File Transfer

I noticed that the AccuTerm ASCII transfer is markedly faster, but ...
there's no error correction there either (right?) and if this file loses
an
inopportune character or two, well, bad juju can happen.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe and stripped drives

2010-04-28 Thread Dave Laansma
My opinion is to stripe all your data over as many drives as possible.

Regarding mirroring, I would suggest a third mirror.

The third mirror can be broken anytime during the day and used for
backup, then 're-sync'd.'

This configuration provides for minimum data loss due to (the number one
cause of data loss) disk failure.

Drives are cheap.  Mirror up!

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
Sent: Wednesday, April 28, 2010 12:47 PM
To: U2 Users List
Subject: [U2] Universe and stripped drives

We are in the process of upgrading our system.

When we setup our current system, it was suggested we strip our data
drives (5) into one,
instead of having 5 separate drives, so it could pull more data at once.

The new system will have 6 drives available for striping

We were going to have 6 drives striped into one, which would be
partitioned into our data areas
the thought being it would be faster disk access if it's pulling from
all 6 drives at once.
BUT...all of the partitions are on that one striped drive.

Would it be better to have (2) sets of 3 drives striped into one, and
setup the two most used
accounts on each of those drives, so now it's only pulling data from 3
drives, but there could
be less competition between the two accounts, since they are pulling
from separate drives?

Anyone played with this at all?

FYI, each drive is mirrored as well, so if there is a drive failure,
data loss is protected,
if there was a drive failure on both the main and mirror (same drive)
then with the
6 drive strip, we stand to potentially lose more data, than if there
were 2 sets of 3 striped.
But...since we have full daily backups, and potentially, considering a
second backup during
the day, the amount of data loss would be minimalso I'm putting that
off the table for
now in determining whether to go with a 3 or 6 stripe.


George Gallen
Senior Programmer/Analyst
Accounting/Data Division, EDI Administrator
ggal...@wyanokegroup.com
ph:856.848.9005 Ext 220
The Wyanoke Group
http://www.wyanokegroup.com



___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Universe and stripped drives

2010-04-28 Thread Dave Laansma
Aix does all of this quite seamlessly.

You can even configure file systems to use the inner, middle or outer
parts of the drives.

Mirroring has saved our butts several times, even within the past couple
months.

It is very comforting when you're reading your Monday morning email and
discover a failed drive over the weekend, you look around the office and
everybody is working as though nothing were wrong.  Hardware comes in,
swaps the (hot-swappable) drive, re-sync the mirror and you're back up
in just a few hours, literally, and nobody ever stopped working.

Redundant power supplies (perhaps second most common cause of system
failures) have also proven to be very helpful.

Again, IBM has really done their homework on these e-class servers.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
Sent: Wednesday, April 28, 2010 1:28 PM
To: U2 Users List
Subject: Re: [U2] Universe and stripped drives

interesting idea. Wonder if our RAID controller can do a 3 way mirror?
I'll have to check into that. Guess I could always add a second drive
array for the third mirror later on (the drives are cheaper, not cheap
enough yet - we are using SAS drives for the data drives, and SATA for
the system drives - diffenent controllers).

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-
 boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
 Sent: Wednesday, April 28, 2010 1:16 PM
 To: U2 Users List
 Subject: Re: [U2] Universe and stripped drives
 
 My opinion is to stripe all your data over as many drives as possible.
 
 Regarding mirroring, I would suggest a third mirror.
 
 The third mirror can be broken anytime during the day and used for
 backup, then 're-sync'd.'
 
 This configuration provides for minimum data loss due to (the number
 one
 cause of data loss) disk failure.
 
 Drives are cheap.  Mirror up!
 
 Sincerely,
 David Laansma
 IT Manager
 Hubbard Supply Co.
 Direct: 810-342-7143
 Office: 810-234-8681
 Fax: 810-234-6142
 www.hubbardsupply.com
 Delivering Products, Services and Innovative Solutions
 
 
 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George
 Gallen
 Sent: Wednesday, April 28, 2010 12:47 PM
 To: U2 Users List
 Subject: [U2] Universe and stripped drives
 
 We are in the process of upgrading our system.
 
 When we setup our current system, it was suggested we strip our data
 drives (5) into one,
 instead of having 5 separate drives, so it could pull more data at
 once.
 
 The new system will have 6 drives available for striping
 
 We were going to have 6 drives striped into one, which would be
 partitioned into our data areas
 the thought being it would be faster disk access if it's pulling from
 all 6 drives at once.
 BUT...all of the partitions are on that one striped drive.
 
 Would it be better to have (2) sets of 3 drives striped into one, and
 setup the two most used
 accounts on each of those drives, so now it's only pulling data from 3
 drives, but there could
 be less competition between the two accounts, since they are pulling
 from separate drives?
 
 Anyone played with this at all?
 
 FYI, each drive is mirrored as well, so if there is a drive failure,
 data loss is protected,
 if there was a drive failure on both the main and mirror (same drive)
 then with the
 6 drive strip, we stand to potentially lose more data, than if there
 were 2 sets of 3 striped.
 But...since we have full daily backups, and potentially, considering a
 second backup during
 the day, the amount of data loss would be minimalso I'm putting
 that
 off the table for
 now in determining whether to go with a 3 or 6 stripe.
 
 
 George Gallen
 Senior Programmer/Analyst
 Accounting/Data Division, EDI Administrator
 ggal...@wyanokegroup.com
 ph:856.848.9005 Ext 220
 The Wyanoke Group
 http://www.wyanokegroup.com
 
 
 
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] windows/dos my documents environment variable

2010-03-05 Thread Dave Laansma
Thank you all for your help, however this subroutine from 2005 actually
works perfectly:

SUBROUTINE ATGETDOCPATH(PATH)

* Get path to My Documents folder using AccuTerm Script

SCR='InitSession.Output MyDocPath()  Chr$(13)'

SCR=SCR:CHAR(25):'End Sub'

SCR=SCR:CHAR(25):'Private Declare Function SHGetFolderPath Lib
shfolder.dll Alias SHGetFolderPathA (ByVal hwnd,ByVal fldr,ByVal
tok,ByVal dw,ByVal Path$)'

SCR=SCR:CHAR(25):'Function MyDocPath() As String'

SCR=SCR:CHAR(25):'Dim path As String'

SCR=SCR:CHAR(25):'On Error Resume Next'

SCR=SCR:CHAR(25):'path=String$(1000,0)'

SCR=SCR:CHAR(25):'SHGetFolderPath 0,5,0,0,path'

SCR=SCR:CHAR(25):'path=Left$(path,InStr(path,Chr$(0))-1)'

SCR=SCR:CHAR(25):'If Len(path) Then'

SCR=SCR:CHAR(25):'If Right$(path,1)\ Then path=path  \'

SCR=SCR:CHAR(25):'End If'

SCR=SCR:CHAR(25):'MyDocPath=path'

SCR=SCR:CHAR(25):'End Function'

SCR=SCR:CHAR(25):'Sub Dummy'

PRINT CHAR(27):CHAR(2):'P':SCR:CHAR(13):

ECHO OFF

PROMPT ''

INPUT PATH:

PROMPT '?'

ECHO ON

RETURN

END

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Holt, Jake
Sent: Thursday, March 04, 2010 12:31 PM
To: U2 Users List
Subject: Re: [U2] windows/dos my documents environment variable

I don't think it works if the user moves their documents/My documents
anyway so it's probably not the best place to be dropping files.  I've
always avoided it unless it's a .net app where I can use
Environment.SpecialFolder.MyDocuments, even then I've only used it once
or twice for unimportant things.

%HOMEPATH% actually goes to \Documents and Settings\{username} not
{drive}:\Documents and Settings\{username} which is why it's not working
the same as %USERPROFILE%.

Make a network share and use \\server\share\%username% instead =).

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King
Sent: Thursday, March 04, 2010 9:59 AM
To: U2 Users List
Subject: Re: [U2] windows/dos my documents environment variable

...Or moved it back to where it was in XP.

I wonder what it's like to be in on the design meeting where someone
says
hey, let's just move stuff in this next release, k?.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] windows/dos my documents environment variable

2010-03-04 Thread Dave Laansma
I know this is not a U2 question, but I am trying to push a file from
Unidata to the PC User's 'my documents' directory, using the Accuterm
escape sequences for transferring a file.

 

For those of you who are Dos savvy, what is the Dos environment variable
that returns the full path of the users 'my documents' directory?

 

Sincerely,

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] AccuTerm File Transfer

2010-02-15 Thread Dave Laansma
I would agree with the FT subroutines.  Although compared to ftp, they
are EXTREMELY slow and ineffective for my use on large files, even the
non-verifying version.

As to why U2 does not 'support' it directly, it is a function that is
specific to Accuterm's terminal emulator. It would be impractical for U2
to support all of the terminal emulators that can interface to it.

Sincerely,
David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Smith
Sent: Monday, February 15, 2010 12:56 PM
To: U2 Users List
Subject: Re: [U2] AccuTerm File Transfer

The easiest way using Accuterm is to just PERFORM/EXECUTE an FT.  But
I'm
surprised that Universe/Unidata doesn't support that sort of thing
directly.

George

On Mon, Feb 15, 2010 at 10:35 AM, Kevin King precisonl...@gmail.com
wrote:

 What's the easiest way to have a program transfer a text file from the
host
 to the workstation using AccuTerm?

 -Kevin
 http://www.PrecisOnline.com
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users




-- 
George Smith,  Phoenix, AZ
Member of the Independent Computer Consultants Association since 1983
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] sending text messages to a regular cell phone

2009-11-05 Thread Dave Laansma
Typically sending a text to your cell phone is just as easy as sending
it to any email, it just depends on the provider.

For example, to send a text to my Verizon cell phone, the email address
is 8105551...@vtext.com

You just need to know what your cell provider's standard is.

David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Barber,
Bonnie
Sent: Thursday, November 05, 2009 3:06 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] sending text messages to a regular cell phone

We send ourselves alerts from some of our Universe processes via UNIX
sendmail.  We would like to be able to send some of the critical alerts
as text messages to our personal cell phones when there is no one around
to monitor emails.  Does anyone know if this is possible? The alerts
currently go to our company pager, however the pager is rotated through
our whole department and it is not always carried by someone who is
familiar with our Universe OM system so the alerts are ignored.

Thanks in advance for your responses.

Bonnie Barber
Perseus Distribution | Senior Programmer, J-Cispub
731-988-3135 Direct   800-343-4499 ext. 178
731-988-4452 Fax
A smile is like a light in the window telling people you are home

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Retrieving Unix Date and Time stamp on records in a DIR type file

2009-10-27 Thread Dave Laansma
Given any DIR type file, as defined in the VOC file.

 

When I read a 'record' from that type of file, which is of course
actually a file in a directory in Unix, how may I establish what the
Unix date and time stamps are on that record/file within Unidata?

 

I am interested specifically in Unibasic source files.  I would like to
know when the last time a given source program was 'touched'.

 

David Laansma

IT Manager

Hubbard Supply Co.

Direct: 810-342-7143

Office: 810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com

Delivering Products, Services and Innovative Solutions

 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Re trieving Unix Date and Time stamp on records in a DIRtype file

2009-10-27 Thread Dave Laansma
Perfect.  Thank you!

David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Farmer
Sent: Tuesday, October 27, 2009 11:56 AM
To: U2 Users List
Subject: Re: [U2] Re trieving Unix Date and Time stamp on records in a
DIRtype file

Use the DIR command on the file.

Get the path of the file, append the appropriate \ or /, then do a
DIR.

For example, on a Unix machine:

 ITEM.ID = 'TEST'
 OPEN '','BP' TO BP THEN
FILE.PATH = FILEINFO(BP,2)
ITEM.PATH = FILE.PATH:'/':ITEM.ID
ITEM.DATE = OCONV(DIR(ITEM.PATH)2,'D2/')
 END
 PRINT ITEM.DATE


This e-mail is for the use of the intended recipient(s) only. If you
have received this e-mail in error, please notify the sender immediately
and then delete it. If you are not the intended recipient, you must not
use, disclose or distribute this e-mail without the author's prior
permission. We have taken precautions to minimize the risk of
transmitting software viruses, but we advise you to carry out your own
virus checks on any attachment to this message. We cannot accept
liability for any loss or damage caused by software viruses. Any views
and/or opinions expressed in this e-mail are of the author only and do
not represent the views of Epicor Software Corporation or any other
company within its group.


This message has been scanned for malware by Websense. www.websense.com
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] U2-Users Digest, Vol 6, Issue 12

2009-10-14 Thread Dave Laansma
Agreed on the simple, top-down code with adequate documentation built in.  FROM 
this kind of code, specs can be reverse-engineered.  Then those specs can be 
presented to those utilizing the product to make sure THOSE specs fit the task 
at hand.

And some advise I took from 'The Mob':

I don't trust anything I didn't write and only half of what I did.

David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A Barrett
Sent: Wednesday, October 14, 2009 3:42 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] U2-Users Digest, Vol 6, Issue 12

My experience is exactly the opposite.  Well written, simple code that 
approaches its function in straight-forward manner is worth 1000 lbs of 
specs and documentation.  I never, ever approach a maintenance project 
under the assumption that the documentation from back when has any 
relevance to the current functioning of the programs in question.

On the other hand, the running code is guaranteed to be a totally up to 
date record of how the system is currently working. 


Dave Barrett
Project Manager,
Lawyers' Professional Indemnity Company (LAWPRO®)
- Original Message - 
Date: Wed, 14 Oct 2009 11:59:58 -0400
From: Susan Lynch sly...@fwdco.com
To: U2 Users List u2-users@listserver.u2ug.org
Subject: Re: [U2] Unibasic: Sample program - to extract data from
 Table
Message-ID: 009401ca4ce7$61abdd10$65fea...@susanhome
Content-Type: text/plain; format=flowed; charset=iso-8859-1;
 reply-type=original

As a programmer who has had to maintain and enhance systems that were 
written apparently based on a one-page spec that everyone on the team 
understood, when the team members are no longer there, and the 
documentation 
was all between their ears (and left with them), I am a big believer in 
detailed written specs that get turned into test plans and then into 
documentation.

Eventually the lack of specs turns around and bites the organization that 
allowed it to happen (unless the application was a one-time 
quick-and-dirty 
project that will never have to be resurrected).

Susan Lynch




This e-mail may be privileged and/or confidential, and the sender does not 
waive any related rights and obligations. Any distribution, use or copying 
of this e-mail or the information it contains by other than an intended 
recipient is unauthorized. If you received this e-mail in error, please 
delete it and advise me (by return e-mail or otherwise) immediately. 

Ce courrier électronique est confidentiel et protégé. L'expéditeur ne 
renonce pas aux droits et obligations qui s'y rapportent. Toute diffusion, 
utilisation ou copie de ce message ou des renseignements qu'il contient 
par une personne autre que le (les) destinataire(s) désigné(s) est 
interdite. Si vous recevez ce courrier électronique par erreur, veuillez 
le supprimer et m'en aviser immédiatement, par retour de courrier 
électronique ou par un autre moyen.
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] EXECUTE 'CLEARSELECT'

2009-10-12 Thread Dave Laansma
If you goal is to simply count the number of records that match a
criteria, consider the COUNT statement.

David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office: 810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Hona, David
Sent: Monday, October 12, 2009 12:55 AM
To: U2 Users List
Subject: Re: [U2] EXECUTE 'CLEARSELECT'

This usually indicates that your EXECUTE is executing at a different
execution layer. Prime INFORMATION did this by default and had to use
PERFORM to use the same runtime execution layer or overide with a
$option statement.
 

From: u2-users-boun...@listserver.u2ug.org
[u2-users-boun...@listserver.u2ug.org] On Behalf Of Dan McGrath
[dmc...@imb.com.au]
Sent: Monday, 12 October 2009 1:56 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] EXECUTE 'CLEARSELECT'

Hi all,



One of the programmers here has noticed this quirky behaviour in Unidata
7.1.



First, we created a file called TEST and gave it 3 records, AA, AB and
AC. Then we executed the following program:



   PROGRAM TEST



   CLEARSELECT

   EXECUTE 'SELECT TEST WITH @ID = A]'

   CRT Records after SELECT :SYSTEM(11)



   READNEXT KEY ELSE NULL



   EXECUTE CLEARSELECT

   CRT Records after EXECUTE CLEARSELECT: :SYSTEM(11)



   EXECUTE 'SELECT TEST WITH @ID = A]'

   CRT Records after SELECT :SYSTEM(11)



   READNEXT KEY ELSE NULL



   CLEARSELECT

   CRT Records after CLEARSELECT: :SYSTEM(11)



   EXECUTE 'SELECT TEST WITH @ID = A]'

   CRT Records after SELECT :SYSTEM(11)



   STOP



and received the following results:



3 records selected to list 0.



Records after SELECT 3

Records after EXECUTE CLEARSELECT: 2



3 records selected to list 0.



Records after SELECT 2

Records after CLEARSELECT: 0



3 records selected to list 0.



Records after SELECT 3



We would expect SYSTEM(11) to return 0 after the EXECUTE CLEARSELECT
but it returns how many items were in the list prior to the CLEARSELECT.
Also odd is that the select itself returns that it selected 3 records,
but then SYSTEM(11) reports 2 and READNEXT will only extract 2 from the
list. The work around is to use Unibasic CLEARSELECT which functions
correctly as demonstrated above. When testing this using BASICTYPE u
and WHEN @ID LIKE the issue did not present itself. I have tested both
UNIX and Windows.



Does this happen in 7.2?



Regards,

Dan



###
The information transmitted in this message and attachments (if any) is
intended only
for the person or entity to which it is addressed. The message may
contain confidential
and/or privileged material.  Any review, retransmission, dissemination
or other use of
or taking of any action in reliance upon this information by persons or
entities other
than the intended recipient is prohibited.  If you received this in
error, please
contact the sender and delete the material from any computer.

The intended recipient of this e-mail may only use, reproduce, disclose
or distribute
the information contained in this e-mail and any attached files with the
permission of IMB.

###
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

** IMPORTANT MESSAGE *   
This e-mail message is intended only for the addressee(s) and contains
information which may be
confidential. 
If you are not the intended recipient please advise the sender by return
email, do not use or
disclose the contents, and delete the message and any attachments from
your system. Unless
specifically indicated, this email does not constitute formal advice or
commitment by the sender
or the Commonwealth Bank of Australia (ABN 48 123 123 124) or its
subsidiaries. 
We can be contacted through our web site: commbank.com.au. 
If you no longer wish to receive commercial electronic messages from us,
please reply to this
e-mail by typing Unsubscribe in the subject line. 
**



___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] ESC in Unidata

2009-07-31 Thread Dave Laansma
It is probably the escape key, ascii 27.  This syntax usually is
telling a terminal (emulator) or printer to do something special.

Each device has its own 'escape sequence' language, as such, that tells
it to do different things.  The sequence of characters that follow the
ESC character are very specific instructions for that particular
device.

For example, move the cursor to a specific row and column on the screen,
or change the characters per inch on the printer to 10.

I cannot tell by this code alone what it is trying to do.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Vaibhav Patil
Sent: Friday, July 31, 2009 8:05 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] ESC in Unidata


Please can you tell me the meaning of the following Unidata statement.

PRINT ESC:*p170x:ROW:Y:BODYLINE ;

What is the significance/use of keyword ESC?
-- 
View this message in context:
http://www.nabble.com/ESC-in-Unidata-tp24755334p24755334.html
Sent from the U2 - Users mailing list archive at Nabble.com.

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] ESC in Unidata

2009-07-31 Thread Dave Laansma
BTW, here the ESC variable can be replaced with CHAR(27)

This would accomplish the same thing.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Vaibhav Patil
Sent: Friday, July 31, 2009 8:05 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] ESC in Unidata


Please can you tell me the meaning of the following Unidata statement.

PRINT ESC:*p170x:ROW:Y:BODYLINE ;

What is the significance/use of keyword ESC?
-- 
View this message in context:
http://www.nabble.com/ESC-in-Unidata-tp24755334p24755334.html
Sent from the U2 - Users mailing list archive at Nabble.com.

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] ESC in Unidata

2009-07-31 Thread Dave Laansma
Perhaps this is part of a barcode?

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Drew William
Henderson
Sent: Friday, July 31, 2009 8:23 AM
To: U2 Users List
Subject: Re: [U2] ESC in Unidata

It's a PCL (Laserjet) command for positioning to 170 dots horizontally
and ROW dots vertically before printing the line.  A subset of the
commands available can be found here:

http://h2.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=b
pl02705

HTH
Drew

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Friday, July 31, 2009 8:10 AM
To: U2 Users List
Subject: Re: [U2] ESC in Unidata

It is probably the escape key, ascii 27.  This syntax usually is
telling a terminal (emulator) or printer to do something special.

Each device has its own 'escape sequence' language, as such, that tells
it to do different things.  The sequence of characters that follow the
ESC character are very specific instructions for that particular
device.

For example, move the cursor to a specific row and column on the screen,
or change the characters per inch on the printer to 10.

I cannot tell by this code alone what it is trying to do.

David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Vaibhav Patil
Sent: Friday, July 31, 2009 8:05 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] ESC in Unidata


Please can you tell me the meaning of the following Unidata statement.

PRINT ESC:*p170x:ROW:Y:BODYLINE ;

What is the significance/use of keyword ESC?
--
View this message in context:
http://www.nabble.com/ESC-in-Unidata-tp24755334p24755334.html
Sent from the U2 - Users mailing list archive at Nabble.com.

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Slow selects

2009-07-30 Thread Dave Laansma
And that will only last for a while before that information is flushed
from memory.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Israel, John
R.
Sent: Thursday, July 30, 2009 11:03 AM
To: 'U2 Users List'
Subject: Re: [U2] Slow selects

The first pass on a file has to start from scratch.  Once it has been
read and is still fresh in memory, a 2nd pass will run much faster.

John Israel
Sr. Programmer/Analyst
Dayton Superior Corporation
721 Richard St.
Dayton, OH  45342
937-866-0711 x44380
-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kebbon Irwin
Sent: Thursday, July 30, 2009 10:58 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] Slow selects


We are running Unidata 7.1 on a linux box (Red Hat Enterprise Linux ES
release 4 (Nahant Update 4) Kernel 2.6.9-42.ELsmp on an i686).

For some reason I cannot fathom, the first time you perform any Uniquery
command on a file it takes forever to return.  Say, 5 minutes.
Subsequent queries on the same file, with different criteria (or the
same), take seconds, say 10.  This is generally on static, hashed files
with lots of level 1 overflow, but no level 2 overflow.

This is a pretty fast environment with this weird exception.  Any ideas
about what the problem might be?

Thanks,
Kebbon

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UD] Logoff on Telnet Disconnect

2009-07-24 Thread Dave Laansma
I have a script that I run periodically does this.

Here are the critical elements of said script:

if !  /dev/${devn} 2/dev/null 1/dev/null
then
/usr/udthome/bin/stopudt ${proid}
fi

${devn} is derived earlier in the script from the 'listuser' command.

Basically, if there is a pts in the U2 user list but Unix cannot send a
null redirected message to it, it must be disconnected.

I am very interested if anyone has another idea that is more reliable.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King
Sent: Friday, July 24, 2009 1:19 PM
To: U2 Users List
Subject: [U2] [UD] Logoff on Telnet Disconnect

Is there any UDT option that causes a Unidata (7.1.16) session to be
dropped
when the telnet session is inadvertently disconnected?  Barring that,
when a
telnet session is inadvertently disconnected is there a reliable way
(AIX 5)
to determine that a session has or does not have a telnet client
connected
to it?

-Kevin
http://www.PrecisOnline.com
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UD] Logoff on Telnet Disconnect

2009-07-24 Thread Dave Laansma
Sorry, the ${prodid} is the process id, also obtained from the same
'listuser' command.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: Friday, July 24, 2009 1:38 PM
To: U2 Users List
Subject: Re: [U2] [UD] Logoff on Telnet Disconnect

I have a script that I run periodically does this.

Here are the critical elements of said script:

if !  /dev/${devn} 2/dev/null 1/dev/null
then
/usr/udthome/bin/stopudt ${proid}
fi

${devn} is derived earlier in the script from the 'listuser' command.

Basically, if there is a pts in the U2 user list but Unix cannot send a
null redirected message to it, it must be disconnected.

I am very interested if anyone has another idea that is more reliable.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King
Sent: Friday, July 24, 2009 1:19 PM
To: U2 Users List
Subject: [U2] [UD] Logoff on Telnet Disconnect

Is there any UDT option that causes a Unidata (7.1.16) session to be
dropped
when the telnet session is inadvertently disconnected?  Barring that,
when a
telnet session is inadvertently disconnected is there a reliable way
(AIX 5)
to determine that a session has or does not have a telnet client
connected
to it?

-Kevin
http://www.PrecisOnline.com
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] [UD] Logoff on Telnet Disconnect

2009-07-24 Thread Dave Laansma
Good question.  I am not sure.  I would assume it does.

Try it on what you know to be a non-existent pts.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Jeff Powell
Sent: Friday, July 24, 2009 3:23 PM
To: U2 Users List
Subject: Re: [U2] [UD] Logoff on Telnet Disconnect

I just tried this on a session that the computer was suspended on and it

thought the session was alive. I also did this to a non-existent tty 
(/dev/pts/7a) it also thought it was alive.

if !  /dev/pts/7a; then echo dead; else echo alive; fi
alive

Does the  /dev/pts/?? set the $? return value?

Thanks.

Jeff


Dave Laansma wrote:
 I have a script that I run periodically does this.

 Here are the critical elements of said script:

 if !  /dev/${devn} 2/dev/null 1/dev/null
 then
 /usr/udthome/bin/stopudt ${proid}
 fi

 ${devn} is derived earlier in the script from the 'listuser' command.

 Basically, if there is a pts in the U2 user list but Unix cannot send
a
 null redirected message to it, it must be disconnected.

 I am very interested if anyone has another idea that is more reliable.

 David Laansma
 IT Manager
 Hubbard Supply Co. 
 Direct: 810-342-7143
 Office:810-234-8681
 Fax: 810-234-6142
 www.hubbardsupply.com
 Delivering Products, Services, and Innovative Solutions


 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King
 Sent: Friday, July 24, 2009 1:19 PM
 To: U2 Users List
 Subject: [U2] [UD] Logoff on Telnet Disconnect

 Is there any UDT option that causes a Unidata (7.1.16) session to be
 dropped
 when the telnet session is inadvertently disconnected?  Barring that,
 when a
 telnet session is inadvertently disconnected is there a reliable way
 (AIX 5)
 to determine that a session has or does not have a telnet client
 connected
 to it?

 -Kevin
 http://www.PrecisOnline.com
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users


   
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] UniVerse Unit

2009-06-11 Thread Dave Laansma
Susan,

What elements of data do you keep in this file?

I have the same thing in mine and I keep the last 1,000 executions.  Not
sure why.  Just seemed like a reasonable number.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Susan Joslyn
Sent: Thursday, June 11, 2009 10:03 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] UniVerse Unit

If you're going to go all over the application code anyway, another idea
that I've found very useful for test mode and for general
troubleshooting is
to have a subroutine that is called at the very top of every program
that
just marks the time,date,user that ran it.  When you run it from the
test
user this provides 'coverage' metrics.  How much of our application code
actually got run during that test?  And if you leave it on all the time,
you
can use it for troubleshooting whenever there's a problemMine keeps
the
latest 10 runs, so the file never gets any bigger than that.  And you
can
clear the file anytime...

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of
u2-users-requ...@listserver.u2ug.org
Sent: Thursday, June 11, 2009 9:56 AM
To: u2-users@listserver.u2ug.org
Subject: U2-Users Digest, Vol 2, Issue 35

Send U2-Users mailing list submissions to
u2-users@listserver.u2ug.org

To subscribe or unsubscribe via the World Wide Web, visit
http://listserver.u2ug.org/mailman/listinfo/u2-users
or, via email, send a message with subject or body 'help' to
u2-users-requ...@listserver.u2ug.org

You can reach the person managing the list at
u2-users-ow...@listserver.u2ug.org

When replying, please edit your Subject line so it is more specific
than Re: Contents of U2-Users digest...


Today's Topics:

   1. Re: UniVerse Unit Testing (Brian Leach)
   2. Re: UniVerse Unit Testing (Brian Leach)


--

Message: 1
Date: Thu, 11 Jun 2009 14:53:51 +0100
From: Brian Leach br...@brianleach.co.uk
To: 'U2 Users List' u2-users@listserver.u2ug.org
Subject: Re: [U2] UniVerse Unit Testing
Message-ID: 0mksym-1mekji3tfy-000...@mrelayeu.kundenserver.de
Content-Type: text/plain; charset=us-ascii

Hi Perry,
 
No - most of the internally used routines had the shorter calling
interface,
externally facing ones used the extra 'Action' parameter so we could
always
extend them whilst retaining backward compatibilty.
 
Regards
 
Brian


  _  

From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Perry Taylor
Sent: 11 June 2009 13:55
To: U2 Users List
Subject: Re: [U2] UniVerse Unit Testing


Brian,
 
You say that you designed all our server code as subroutines such that
all
of our subroutines had one of two calling interfaces.  This would seem
to
mean that you built and maintained two different versions of every
external
subroutine/function.  Is this correct or am I just missing something?
 
Thanks.
 
Perry

  _  

From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brian Leach
Sent: Thursday, June 11, 2009 3:19 AM
To: 'U2 Users List'
Subject: Re: [U2] UniVerse Unit Testing


Hi
 
 
At my last company, we spent a lot of effort on building an automated
test
rig for our software, because we had to support multiple platforms and
all
our code required full regression testing. It may be a slightly
different
scenario to yours, since we were primarily building tools, and also this
was
complicated by the fact that all of our software was client/server in
some
way, and usually involved several languages .. but here is our
experience
for what it's worth:
 
 
The bad news is that you really need to design these in from the start.
 
We designed all our server code as subroutines such that all of our
subroutines had one of two calling interfaces, either:
 
Subroutine name(InData, OutData, ErrText)
 
or
 
Subroutine name(Action, InData, OutData, ErrText)
 
That meant that we could generate a test rig that could feed the InData
(and
Action) and then test for the OutData and log any ErrText values.
For reports, we would capture the report text and do 'spot checks' on
the
expected results.
 
 
We also version stamped our routines, so we were certain we were testing
the
right versions, and had build scripts to recompile everything. Nothing
left
to manual operation since that opens up the opportunity for something to
get
forgotten: there is no point testing stuff to QA and then doing
something
different when you come to release! Incidentally, since this was
client/server, these involved VBScript scripts for the client end
calling
cutting paragraphs on the server along the line.

Re: [U2] UniVerse Unit Testing

2009-06-11 Thread Dave Laansma
Very interesting ... Hmmm

 

David Laansma

IT Manager
Hubbard Supply Co. 

Direct: 810-342-7143

Office:810-234-8681

Fax: 810-234-6142

www.hubbardsupply.com

Delivering Products, Services, and Innovative Solutions

 

From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Averch
Sent: Thursday, June 11, 2009 10:52 AM
To: 'U2 Users List'
Subject: Re: [U2] UniVerse Unit Testing

 

Jerry and All,

 

We did something similar to Brian.  All of our Basic code was
re-designed to have 6 arguments: PARAM1, PARAM2, PARAM3, PARAM4,
RETURN.INFO, and METHOD.  That way we could automatically test any
program from any other program by knowing every program had 6 arguments.
For reports PARAM2 was where all of the data was passed in as dynamic
array, the output uses RETURN.INFO.  Entry programs passed the updated
data in on PARAM2 and passed data out on RETURN.INFO using an open
source format called json.  JSON is not as verbose as XML and JavaScript
and Java natively handle the format by converting it to an array.  We
Basic programmers do like to work with arrays of data.

 

We used METHOD to tell subroutine what it should be doing (i.e.
CreateReport, LoadDefaults, ReadData, WriteData, or BuildGrid).  That
way the programs  became very similar in structure.  We had two or three
programs that supported entry screens were all reduced to a single
programmer.

 

We had to learn how debug the Basic code, the JavaScript, and the HTML
code. You cannot use the debugger on the Web.  We developed what we call
a logger, so instead of using a DEBUG statement or the simple CRT
statement to see what the variables are and where you are in the code,
you now call a subroutine that writes to a log that can be viewed either
from Telnet or from our Eclipse based Basic Editor.  Debugging
JavaScript requires a great open source tool called Firebug that runs on
Firefox.

 

We had upwards of 2000 programs running Accounting, CRM, Distribution,
Document Management, Payroll, Transportation, and Warehousing all
running as green screen applications  We stripped out all of the
screen I/O which reduced the program to about 1/3 their previous size.
We changed all of the code from whatever they were to subroutines using
our 6 arguments.  Perhaps the most problematic was all of the reports
had to be switch to HTML format.  That process was the most time
consuming due the amount of code that needed to be changed.  However,
this gave us time to reduce the amount of reports we produced.  We
consolidated similar reports into a single report with multiple report
options.

 

Some programs took minutes, some took days and some took weeks.  Some of
the code was over 25 years old and required a complete rewrite because
of the GOTO's and calls to various green screen subroutines that no
longer existed. Since we have customers that run in Universe and Unidata
we had to develop the techniques to run the same code on both platforms.
We develop all of our software on Universe and port to Unidata. Our
Eclipse based Installer comments out the Universe specific code an
uncomments out the Unidata specific code depending on the destination
machine.

 

I should note that our code was first written for RedBack running on
IIS.  I decided after a few years that platform was not going in the
direction we need to go so we ported to our own middleware using open
source Apache Tomcat.

 

We accomplished this over a period of a year with four programmers.  We
now have around 400 programs that run all of our applications listed
above.  We are constantly evolving our interface.  We just switched from
a home grown cross-reference to a open source tool that allows us to
load 50,000 records in under a second and it has built in filtering,
column sorting and paging.  The Web is truly an amazing place where you
can get open source software that we would have spent weeks to months
writing.

 

Regards,

Doug

www.u2logic.com

 



From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of jpb-u2ug
Sent: Thursday, June 11, 2009 7:23 AM
To: 'U2 Users List'
Subject: Re: [U2] UniVerse Unit Testing

Doug and Brian,

Could you give me some numbers on how long and how many people (man
hours) it took to do the changes? Approximately how many programs did
you have to convert to the new way and what did you end up with?

 

Jerry Banker

 

From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Perry Taylor
Sent: Thursday, June 11, 2009 7:55 AM
To: U2 Users List
Subject: Re: [U2] UniVerse Unit Testing

 

Brian,

 

You say that you designed all our server code as subroutines such that
all of our subroutines had one of two calling interfaces.  This would
seem to mean that you built and maintained two different versions of
every external subroutine/function.  Is this correct or am I just
missing something?

 


RE: [U2] Opening UniBasic Source Code

2009-05-21 Thread Dave Laansma
FYI, Unix scripts are really handy for making 'mass' changes.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions

-Original Message-
From: owner-u2-us...@listserver.u2ug.org
[mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Brutzman, Bill
Sent: Thursday, May 21, 2009 10:24 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Opening UniBasic Source Code

I am looking to inspect the unix file for read, write, and delete
commands.

The openpath command works well.

--Bill

-Original Message-
From: owner-u2-us...@listserver.u2ug.org
[mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Gregor Scott
Sent: Wednesday, May 20, 2009 9:36 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Opening UniBasic Source Code - Tab Key

Bill,

What exactly are you trying to achieve with the unix file?

On UniVerse the openpath command will open a unix path as a database
file, from which you then read items as normal.
You either need to change to use the openseq command so you can
sequentially read the contents of the unix item, or openpath
'/u2/SOFTWARE/BP' to open the unix path as a file and then read the
BASELINE.R0 item.


Gregor
---
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] How to 'transfer' a READU lock to another process/port

2009-05-04 Thread Dave Laansma
I have a situation where a file needs to be built from a series of 4
different programs before it can be processed by a fifth.  These 5
programs cannot be 'daisy-chained' or called, one to the next.

What I did is maintain a 'CONTROL' record in the dictionary file that
says which of the 5 programs is 'ready' to be run next.

Cumbersome but effective.  Any better ideas out there?

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions

-Original Message-
From: owner-u2-us...@listserver.u2ug.org
[mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Marco Manyevere
Sent: Monday, May 04, 2009 8:39 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] [UV] How to 'transfer' a READU lock to another
process/port

The solution I have for a certain problem could easily be solved without
redesigning large portions of the existing code if I could implement an
algorithm to have process1 release a READU lock and have process2
acquire that lock ahead of all other processes that may be interested in
the same lock. Does anyone have an idea how I could do this in UV?
 
Kind regards, Marco.
---
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] unibasic's sort function

2009-02-03 Thread Dave Laansma
I am not sure about the  SORT, but I would suggest simply:

LIST = 
KEY = 
LIST-1 = KEY

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: owner-u2-us...@listserver.u2ug.org
[mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Greg Schraiber
Sent: Tuesday, February 03, 2009 11:30 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] unibasic's sort function

I have a dynamic array built like this:

 

LIST = 

 

 

KEY = CONDES.DESIGNATION : * : CONTRIB.DONOR.DATE : * : ID.NO

 

IF LEN(LIST) = 0 THEN

 LIST = KEY

END ELSE

 LIST := @AM : KEY

END

 

When I do:

LIST = SORT(LIST) in Unibasic, compil and run it, it returns LIST=0

 

Can anyone tell me what I am doing wrong?

 

Thanks for your help!

 

Greg Schraiber

Beloit College
---
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] unibasic's sort function

2009-02-03 Thread Dave Laansma
It is in the Unidata Unibasic Reference Manual.

However there was quite a lengthy discussion on sorting in general a few
months ago or so.  Look through the archives.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: owner-u2-us...@listserver.u2ug.org
[mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Bessel, Karen
Sent: Tuesday, February 03, 2009 1:03 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] unibasic's sort function

I didn't think it existed either, that's pretty darned cool. I looked
for it in the BASIC.HELP file, and it isn't there. Is it a UniData
thing?









Karen Bessel
Software Developer

Tyler Technologies, Inc.
6500 International Parkway, Suite 2000
Plano, TX 75093
Phone: 972.713.3770 ext:6227
Fax: 972.713.3777 
Email: karen.bes...@tylertech.com
Web: http://www.tylertech.com
-Original Message-
From: owner-u2-us...@listserver.u2ug.org
[mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Edward Brown
Sent: Tuesday, February 03, 2009 11:15 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] unibasic's sort function

The SORT function (which I'm embarrassed to say I didn't think existed,
and I've been coding unibasic for the last 8 or 9 years!) sorts the data
passed into it; there isn't a return value. So

SORT(LIST)
CRT LIST

does work. Your original program sets LIST to 0 because LIST is set to
the return result of the sort statement - perhaps this should throw a
compiler error? Or perhaps there's an undocumented return code if the
data could not be sorted?


Edward

-Original Message-
From: owner-u2-us...@listserver.u2ug.org
[mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Dave Laansma
Sent: 03 February 2009 16:56
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] unibasic's sort function

I am not sure about the  SORT, but I would suggest simply:

LIST = 
KEY = 
LIST-1 = KEY

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: owner-u2-us...@listserver.u2ug.org
[mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of Greg Schraiber
Sent: Tuesday, February 03, 2009 11:30 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] unibasic's sort function

I have a dynamic array built like this:

 

LIST = 

 

 

KEY = CONDES.DESIGNATION : * : CONTRIB.DONOR.DATE : * : ID.NO

 

IF LEN(LIST) = 0 THEN

 LIST = KEY

END ELSE

 LIST := @AM : KEY

END

 

When I do:

LIST = SORT(LIST) in Unibasic, compil and run it, it returns LIST=0

 

Can anyone tell me what I am doing wrong?

 

Thanks for your help!

 

Greg Schraiber

Beloit College
---
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/


---
Please remember to recycle wherever possible. 
Reduce, reuse, recycle, think do you need to print this e-mail?

---
This e-mail and any attachment(s), is confidential and may be legally
privileged. It is intended solely for the addressee. If you are not the
addressee, dissemination, copying or use of this e-mail or any of its
content is prohibited and may be unlawful. If you are not the intended
recipient please inform the sender immediately and destroy the e-mail,
any attachment(s) and any copies. All liability for viruses is excluded
to the fullest extent permitted by law. It is your responsibility to
scan or otherwise check this email and any attachment(s). Unless
otherwise stated (i) views expressed in this message are those of the
individual sender (ii) no contract may be construed by this e-mail.
Emails may be monitored and you are taken to consent to this monitoring.


Civica Services Limited, Company No. 02374268; Civica UK Limited,
Company No. 01628868
Both companies are registered in England and Wales and each has its
registered office at 2 Burston Road, Putney, London, SW15 6AR.

---
---
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/


RE: [U2] Counting records

2008-11-19 Thread Dave Laansma
Wol,

In Unidata the COUNT commands does not leave an active select list.  It
just returns the number of records that match the criteria.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Anthony
Youngman
Sent: Wednesday, November 19, 2008 10:04 AM
To: 'u2-users@listserver.u2ug.org'
Subject: RE: [U2] Counting records

Several things look a bit wonky to me here.

Firstly I'd get rid of the first three lines with
CMD = COUNT :FILENAME

Then the routine as shown here leaves a hanging select list - NOT a good
idea when the next person comes along and doesn't realise it.

I've never used it, but isn't there a form of EXECUTE that will return
the select list as a variable? I'd use that to mop up the select list.

Then I'd do
RCNT = @SELECTED
(iirc there is such an @ variable)

Failing any of those, after the execute, I'd do a READLIST to mop up the
select list, followed by a RCNT = DCOUNT( variable, @FM) to get the
count.

Oh - and I'd return RCNT in the first argument. Makes it a lot more
flexible - you can declare it as a function, call it from SUBR in
i-descriptors, whatever whatever.

Cheers,
Wol

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma
Sent: 19 November 2008 14:05
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Counting records

I have written the following subroutine to count files:

   SUBROUTINE HUB.COUNT.FILE (FILENAME,RCNT)

   CMD = 'COUNT'
   CMD-1 = FILENAME
   SWAP @AM WITH   IN CMD

   CALL SB.DISP(9,CMD)

   EXECUTE CMD CAPTURING MSG RETURNING ERR

   RCNT = ERR2,2

   IF RCNT =  THEN
 RCNT = ERR1,2
   END

 

   RETURN

   END

David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Symeon Breen
Sent: Wednesday, November 19, 2008 8:34 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Counting records

In udt there is a system function after you have done a select,
system(11).
E.g. EXECUTE SELECT file ; NUM.OF.RECORDS = SYSTEM(11)



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of T Stokes
Sent: 18 November 2008 22:59
To: u2-users@listserver.u2ug.org
Subject: [U2] Counting records

I am trying to remember a Universe function that returns the number of
records in a file.
Something like this.

OPEN 'SOMEFILE' TO SOMEFILE ELSE STOP 201,SOMEFILE

NUM.OF.RECORDS = UNKNOWNFUNCTION(SOMEFILE)
--
View this message in context:
http://www.nabble.com/Counting-records-tp20569376p20569376.html
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/
No virus found in this incoming message.
Checked by AVG - http://www.avg.com
Version: 8.0.175 / Virus Database: 270.9.3/1786 - Release Date:
17/11/2008
17:24
---
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-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Counting records

2008-11-19 Thread Dave Laansma
One advantage of using my subroutine is I can pass in just the file name
and get a count of all records, or I can specify the filename AND some
selection criteria and it will return the count of the records that
match that criteria.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of DAVID WADEMAN
Sent: Wednesday, November 19, 2008 10:46 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Counting records

SIMPLE CODE FOR COUNTING RECORDS (IN UNIDATA)

:AE DAVID COUNT3

PROGRAM COUNT3
PERFORM COUNT STUDENTS
NUM.RECS = @SYSTEM.RETURN.CODE
PRINT 
PRINT NUMBER OF RECORDS: :NUM.RECS


*--: FIBR
Filed COUNT3 in file DAVID.
Compiling Unibasic: oisdir/david/COUNT3 in mode 'u'.
compilation finished
COUNT STUDENTS

39635 record(s) counted.

NUMBER OF RECORDS: 39635


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma
Sent: Wednesday, November 19, 2008 10:24 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Counting records

Wol,

In Unidata the COUNT commands does not leave an active select list.  It
just returns the number of records that match the criteria.

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Anthony
Youngman
Sent: Wednesday, November 19, 2008 10:04 AM
To: 'u2-users@listserver.u2ug.org'
Subject: RE: [U2] Counting records

Several things look a bit wonky to me here.

Firstly I'd get rid of the first three lines with
CMD = COUNT :FILENAME

Then the routine as shown here leaves a hanging select list - NOT a good
idea when the next person comes along and doesn't realise it.

I've never used it, but isn't there a form of EXECUTE that will return
the select list as a variable? I'd use that to mop up the select list.

Then I'd do
RCNT = @SELECTED
(iirc there is such an @ variable)

Failing any of those, after the execute, I'd do a READLIST to mop up the
select list, followed by a RCNT = DCOUNT( variable, @FM) to get the
count.

Oh - and I'd return RCNT in the first argument. Makes it a lot more
flexible - you can declare it as a function, call it from SUBR in
i-descriptors, whatever whatever.

Cheers,
Wol

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma
Sent: 19 November 2008 14:05
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Counting records

I have written the following subroutine to count files:

   SUBROUTINE HUB.COUNT.FILE (FILENAME,RCNT)

   CMD = 'COUNT'
   CMD-1 = FILENAME
   SWAP @AM WITH   IN CMD

   CALL SB.DISP(9,CMD)

   EXECUTE CMD CAPTURING MSG RETURNING ERR

   RCNT = ERR2,2

   IF RCNT =  THEN
 RCNT = ERR1,2
   END

 

   RETURN

   END

David Laansma
IT Manager
Hubbard Supply Co.
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Symeon Breen
Sent: Wednesday, November 19, 2008 8:34 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Counting records

In udt there is a system function after you have done a select,
system(11).
E.g. EXECUTE SELECT file ; NUM.OF.RECORDS = SYSTEM(11)



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of T Stokes
Sent: 18 November 2008 22:59
To: u2-users@listserver.u2ug.org
Subject: [U2] Counting records

I am trying to remember a Universe function that returns the number of
records in a file.
Something like this.

OPEN 'SOMEFILE' TO SOMEFILE ELSE STOP 201,SOMEFILE

NUM.OF.RECORDS = UNKNOWNFUNCTION(SOMEFILE)
--
View this message in context:
http://www.nabble.com/Counting-records-tp20569376p20569376.html
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/
No virus found in this incoming message.
Checked by AVG - http://www.avg.com
Version: 8.0.175 / Virus Database: 270.9.3/1786 - Release Date:
17/11/2008
17:24
---
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-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

RE: [U2] Speeding up processing through large dynamic table

2008-11-17 Thread Dave Laansma
Oh my goodness!  This is incredible.

Okay, now I have a mixture of @VM and @AM in the table.  The REMOVE
'stops' at every @VM and @AM.  I only want it to 'stop' at @AMs.  How do
I do that?

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Joshua Gallant
Sent: Monday, November 17, 2008 1:31 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Speeding up processing through large dynamic table

When running through an array with a for next loop the last item
processed isn't remembered so the program needs to traverse the entire
array for each record and will slow down as you get to records later in
the process.

Instead of this:

A11 = DCOUNT(IN.TAB,@AM)

FOR A1 = 1 TO A11
  IN.LINE = IN.TABA1
  SWAP @VM WITH @AM IN IN.LINE
  CUST.NUM  = IN.LINE1
  CUST.DESC = IN.LINE2
NEXT A1

Try something like this instead:

LOOP
REMOVE IN.LINE FROM IN.TAB SETTING MARK
  SWAP @VM WITH @AM IN IN.LINE
  CUST.NUM  = IN.LINE1
  CUST.DESC = IN.LINE2
WHILE MARK DO
REPEAT

That will keep track of where you were in the array and pick up where
you left off.

Let me know how that works out for you.

Thanks,
Josh


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David Laansma
Sent: Monday, November 17, 2008 1:10 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Speeding up processing through large dynamic table

Is there a way to speed up spinning through a very large dynamic table?
Here is
a sample of my program:

A11 = DCOUNT(IN.TAB,@AM)

FOR A1 = 1 TO A11
  IN.LINE = IN.TABA1
  SWAP @VM WITH @AM IN IN.LINE
  CUST.NUM  = IN.LINE1
  CUST.DESC = IN.LINE2
NEXT A1

A11 is 85,000+ and as this loop goes on, this thing get really slow.
Any tips
on speeding this up?
---
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/


RE: [U2] Speeding up processing through large dynamic table

2008-11-17 Thread Dave Laansma
That is what I was afraid of.  Okay.  So after listening to all of your
comments (thus far since there is an annoying delay in these messages),
here is what I like the best:

SWAP CHAR(9) WITH  IN IN.TAB
SWAP CHAR(10) WITH  IN IN.TAB

SWAP @VM WITH CHAR(9) IN IN.TAB
SWAP @SM WITH CHAR(10) IN IN.TAB

REPEAT
  REMOVE IN.LINE FROM IN.TAB SETTING MARK
  SWAP CHAR(9) WITH @VM IN IN.LINE
  SWAP CHAR(10) WITH @SM IN IN.LINE
  (do my thing with IN.LINE)
UNTIL MARK DO
REPEAT

Any objections, concerns or better suggestions for using CHAR(10) as the
temporary substitute for the @SM?  I just picked it because it came
right after CHAR(9) on my handy-dandy ASCII chart!  Been using it since
the 70's.  Some things just never go out of style!

David Laansma
IT Manager
Hubbard Supply Co. 
Direct: 810-342-7143
Office:810-234-8681
Fax: 810-234-6142
www.hubbardsupply.com
Delivering Products, Services, and Innovative Solutions


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David Wolverton
Sent: Monday, November 17, 2008 2:52 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Speeding up processing through large dynamic table

If you don't want to 'swap' all the other markers with 'strings' (SWAP
@VM
WITH VM IN RECORD) then you have to 'build' the line item up --
keep
removing until you see the remove hit the @AM and then process the
line...

DW 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma
 Sent: Monday, November 17, 2008 1:24 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Speeding up processing through large dynamic table
 
 Oh my goodness!  This is incredible.
 
 Okay, now I have a mixture of @VM and @AM in the table.  The 
 REMOVE 'stops' at every @VM and @AM.  I only want it to 
 'stop' at @AMs.  How do I do that?
 
 David Laansma
 IT Manager
 Hubbard Supply Co. 
 Direct: 810-342-7143
 Office:810-234-8681
 Fax: 810-234-6142
 www.hubbardsupply.com
 Delivering Products, Services, and Innovative Solutions
---
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/


  1   2   >