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]
6110 Enterprise Parkway
Grove City, OH
43123
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
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
3&sid=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 
To: u2-users 
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/PERSON>165-$ 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 Aug 12  2011 idx005
-rw-rw-rw-   1 sbarnes  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 ho

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=X<1,C>
   I2=Y<1,C>
   Z=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  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 .

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.REC<200>)

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  could 
> change within the loop.
> 
> Personally if the size of  is relatively small, DCOUNT is alright. 
> However I've found REMOVE to be EXTREMELY faster and therefore use it 
> whenever possible, even on small .
> 
> 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.REC<200>
> D1 = ""
> LOOP UNTIL D1 = 0
>   REMOVE LINE.KEY FROM LINE.KEYS SETTING D1
>   
> REPEAT
> 
> As opposed to:
> 
> FOR V1 = 1 TO DCOUNT(HEADER.REC<200>,@VM)
>   LINE.KEY = HEADER.REC<200,V1>
>   
> 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 
> Bute

Re: [U2] : Evaluating DCOUNT

2013-02-12 Thread Dave Laansma
Hey Allen,

The REMOVE so fast  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 .

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.REC<200>)

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  could 
> change within the loop.
> 
> Personally if the size of  is relatively small, DCOUNT is alright. 
> However I've found REMOVE to be EXTREMELY faster and therefore use it 
> whenever possible, even on small .
> 
> 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.REC<200>
> D1 = ""
> LOOP UNTIL D1 = 0
>   REMOVE LINE.KEY FROM LINE.KEYS SETTING D1
>   
> REPEAT
> 
> As opposed to:
> 
> FOR V1 = 1 TO DCOUNT(HEADER.REC<200>,@VM)
>   LINE.KEY = HEADER.REC<200,V1>
>   
> 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
>  X<1,-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-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  wrote:

> I would HOPE that it evaluates it each time since the size of  could 
> change within the loop.
> 
> Personally if the size of  is relatively small, DCOUNT is alright. 
> However I've found REMOVE to be EXTREMELY faster and therefore use it 
> whenever possible, even on small .
> 
> 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.REC<200>
> D1 = ""
> LOOP UNTIL D1 = 0
>  REMOVE LINE.KEY FROM LINE.KEYS SETTING D1   REPEAT
> 
> As opposed to:
> 
> FOR V1 = 1 TO DCOUNT(HEADER.REC<200>,@VM)  LINE.KEY = 
> HEADER.REC<200,V1>   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
> X<1,-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] : Evaluating DCOUNT

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

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

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.REC<200>
D1 = ""
LOOP UNTIL D1 = 0
  REMOVE LINE.KEY FROM LINE.KEYS SETTING D1
  
REPEAT

As opposed to:

FOR V1 = 1 TO DCOUNT(HEADER.REC<200>,@VM)
  LINE.KEY = HEADER.REC<200,V1>
  
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
 X<1,-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] 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


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] 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 
To: U2 Users List 
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 
To: u2-users 
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 ...
>
> 123456DAVID JONES1234 MAIN ST.ANYWHEREMI12345
>
> 654321JOHN SMITH4321 MAIN ST.ANYWHEREMI12345
>
>
>
> Is there a function that will change it to:
>
>
>
> 123456654321
>
> DAVID JONESJOHN SMITH
>
> 1234 MAIN ST.4321 MAIN ST.
>
> ANYWHEREANYWHERE
>
> MIMI
>
> 1234512345
>
>
>
> 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(TABLE,@VM)
>
> NEW.TABLE = TABLE
>
>   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 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 
To: u2-users 
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 ...
>
> 123456DAVID JONES1234 MAIN ST.ANYWHEREMI12345
>
> 654321JOHN SMITH4321 MAIN ST.ANYWHEREMI12345
>
>
>
> Is there a function that will change it to:
>
>
>
> 123456654321
>
> DAVID JONESJOHN SMITH
>
> 1234 MAIN ST.4321 MAIN ST.
>
> ANYWHEREANYWHERE
>
> MIMI
>
> 1234512345
>
>
>
> 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(TABLE,@VM)
>
> NEW.TABLE = TABLE
>
>   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
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 
To: u2-users 
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 ...
>  
> 123456DAVID JONES1234 MAIN ST.ANYWHEREMI12345
> 
> 654321JOHN SMITH4321 MAIN ST.ANYWHEREMI12345
> 
>  
> 
> Is there a function that will change it to:
> 
>  
> 
> 123456654321
> 
> DAVID JONESJOHN SMITH
> 
> 1234 MAIN ST.4321 MAIN ST.
> 
> ANYWHEREANYWHERE
> 
> MIMI
> 
> 1234512345
> 
>  
> 
> 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(TABLE,@VM)
> 
> NEW.TABLE = TABLE
> 
>   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] 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:

 

123456DAVID JONES1234 MAIN ST.ANYWHEREMI12345

654321JOHN SMITH4321 MAIN ST.ANYWHEREMI12345

 

Is there a function that will change it to:

 

123456654321

DAVID JONESJOHN SMITH

1234 MAIN ST.4321 MAIN ST.

ANYWHEREANYWHERE

MIMI

1234512345

 

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(TABLE,@VM)

NEW.TABLE = TABLE

  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] CSV to Array

2012-08-16 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 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


[U2] If dynamic files NEVER have to be resized ...

2012-07-20 Thread Dave Laansma
... then always create all dynamic files with a module of 1.  This seems
logical and easy for the administrator.

 

I think this is ludicrous (because I needed a laugh this morning) and
proves the point that modulo is an essential part of a properly defined
and well configured dynamic file.

 

Sincerely,

David Laansma

 

___
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
HOLY SMOKES!

X = X : 

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 
To: U2 Users List 
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.LIST<1>,@vM)         ;* Count items FOR INO =1 TO MAXI        
                           ;* Each key in list
  KEY.ID = KEY.LIST<1,INO>                        ;* A key ID
  LOCATE(KEY.ID,NLST,1;POS;'AL') ELSE  ;* see if there
    INS KEY.ID BEFORE NLIST<1,POS>       ;* Sort to list
  END
NEXT INO                                                      ;* Check all keys 
On 12 July 2012 12:09, Wjhonson  wrote:

>
> 1295          FOR DISPLAY.LOOP = 1 TO KEY.COUNT
> 1296             UTILITY.ID = KEY.LIST<1,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?
>
>
&

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 
To: U2 Users List 
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.LIST<1>,@vM) ;* Count items FOR INO
=1 TO MAXI   ;* Each key in list
  KEY.ID = KEY.LIST<1,INO>;* A key ID
  LOCATE(KEY.ID,NLST,1;POS;'AL') ELSE  ;* see if there
INS KEY.ID BEFORE NLIST<1,POS>   ;* Sort to list
  END
NEXT INO  ;* Check
all keys On 12 July 2012 12:09, Wjhonson  wrote:

>
> 1295  FOR DISPLAY.LOOP = 1 TO KEY.COUNT
> 1296 UTILITY.ID = KEY.LIST<1,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 re

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 
To: U2 Users List 
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.LIST<1>,@vM)         ;* Count items FOR INO =1 TO MAXI        
                           ;* Each key in list
  KEY.ID = KEY.LIST<1,INO>                        ;* A key ID
  LOCATE(KEY.ID,NLST,1;POS;'AL') ELSE  ;* see if there
    INS KEY.ID BEFORE NLIST<1,POS>       ;* Sort to list
  END
NEXT INO                                                      ;* Check all keys 
On 12 July 2012 12:09, Wjhonson  wrote:

>
> 1295          FOR DISPLAY.LOOP = 1 TO KEY.COUNT
> 1296             UTILITY.ID = KEY.LIST<1,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
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 
To: U2 Users List 
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.LIST<1>,@vM)         ;* Count items FOR INO =1 TO MAXI        
                           ;* Each key in list
  KEY.ID = KEY.LIST<1,INO>                        ;* A key ID
  LOCATE(KEY.ID,NLST,1;POS;'AL') ELSE  ;* see if there
    INS KEY.ID BEFORE NLIST<1,POS>       ;* Sort to list
  END
NEXT INO                                                      ;* Check all keys 
On 12 July 2012 12:09, Wjhonson  wrote:

>
> 1295          FOR DISPLAY.LOOP = 1 TO KEY.COUNT
> 1296             UTILITY.ID = KEY.LIST<1,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] 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


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
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
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  wrote:


> 126/4064   (Correction, too late to be working on this)
>
1  (Correction average Load before split)

And that matches your numbers

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


[U2] 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  

"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
ng
reconfiguration parameters is imperfect, you may have to do some further
tinkering, such as repeat the process using a slightly higher 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.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


[U2] Can of worms FILE.STATUS

2012-06-20 Thread Dave Laansma
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.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] 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 
To: satya satya  
Cc: U2 Users List  
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 
To: Paul Wilson  
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  wrote:

RTFM - just like everyone else !! 
>
> 
> From: satya satya 
>To: U2 Users List  
>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


Re: [U2] Learning about file sizing

2012-06-06 Thread Dave Laansma
Unidata. I have gotten what I believe to be very helpful insight through
this thread.

Thanks!

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 Wols Lists
Sent: Wednesday, June 06, 2012 2:57 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Learning about file sizing

On 05/06/12 18:33, Dave Laansma wrote:
> Can anyone point me to a good document that will give me guidelines 
> for 'proper' file sizing of dynamic files in particular?
> 
Which database? Please note that as regards their underlying
implementation UniVerse and UniData are *very* different.

At user level they're very similar but when you're doing admin stuff
like file-sizing I gather they are very different. I'm guessing you're
talking UniData? (About which I know nothing. :-)
>  
> 
> And when to use KEYONLY vs KEYDATA?
> 
I thought you were talking about UniData :-) afaik these keywords will
produce an error on UniVerse.

So be careful that you're getting advice for the right product, and let
others know what product you're talking about.

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] 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  

"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
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  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
_

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  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


[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  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  

"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-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


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 
To: U2 Users List 
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
ht

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
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
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
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  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
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 
To: U2-Users 
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


[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  

"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] 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
 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 
>  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] 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
 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
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 ... 
... :'-|
...
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



IF G = H THEN EXIT ; EXIT



  NEXT A2

  

NEXT A1



 

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

 

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-19 Thread Dave Laansma
Using this logic, I believe  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



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



  NEXT A2

  

NEXT A1



 

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

 

PLOUGH

 

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
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://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] EXIT ; EXIT inside a loop

2012-04-19 Thread Dave Laansma
Given:

 

FOR A1 = 1 TO X

  FOR A2 = 1 TO Y



IF G = H THEN EXIT ; EXIT



  NEXT A2

  

NEXT A1



 

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

 

PLOUGH

 

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] 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] 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=display&page=UserAction&id=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
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 = 
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
wrote:

> 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
> wrote:
>
> > 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] 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
wrote:

> 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] 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 - TODAY"DD" + 32
EOM = EOM - EOM"DD"

 

> 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 
> To: U2 Users List 
> 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] 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
* 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 
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] 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
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] UniBasic Question

2011-10-25 Thread Dave Laansma
I'd strongly suggest using the Unibasic SELECT  TO 
instead of EXECUTE "SELECT  "

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] 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


Re: [U2] Is this worth rewriting?

2011-03-02 Thread Dave Laansma
So far I'm liking this option the best.

Doing some simple math:

500,000 records * 12 passes through this loop for each record =
6,000,000 passes.
(This def needs to be rethought, but may not be able to be avoided)

Then multiply that by the numerous times the OS needs spin through who
knows how many bytes to reach the 100, 101, 103, etc attribute to make a
simple comparison.  HELLO!
(This CAN be avoided, therefore should be avoided)

In my college days when the different sorting methods were still vying
for dominance, it amazed me that a longer program actually sorted
faster. Hmmm.

That's when it occurred to me, compact code is not necessarily efficient
code. Compact code may be pleasing to the eye of the programmer, but may
very well be to the detriment of the user.

Therefore it is my opinion that we, as programmers, must cater first to
our customers and allow the intellect of our fellow brethren to glean
wisdom and knowledge from their forefathers. :)

Oh, and attending the U2U and listing CAREFULLY to the mumblings of the
people who are wearing the ROCKET name tags is a tremendous help too!
:-)

By the way, I may even throw in some "SWAP @VM WITH @AM IN P12.101" to
clean up those references a bit too.  And of course SWAP them back.
That however would likely only serve my vanity.  :-)

I'll let you all know if and what I discover.

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 Allen E.
Elwood
Sent: Wednesday, March 02, 2011 10:22 PM
To: 'U2 Users List'
Subject: Re: [U2] Is this worth rewriting?


All right, I just went ahead and rewrote this the way I would do it
since I
haven't written a single bit of code since I got laid off at the end of
September.  And I did it while my wife and I are watching Judge Judy -
it
was *fun* :-) 

Granted I can't use real var names since I don't know what these are,
but
using a simple var name replacement scheme, this illustrates what I
would
consider the least amount of overhead for this.

A) reduced the overhead on the repetitive calls to over 100 attrs.  The
system needs to look at *every single byte* in the record until it gets
to
attr desired.  If these are 25,000 byte records this would be a HUGE
amount
of needless throughput which you can calc by (iterations - 2) * average
bytes to read before attr needed * number of times the statement is used
in
the loop

B) Yup, got rid of the #.  Not only does this make more sense, but # is
REALLY doing two comparisons: < and >

C) Got rid of the leading 7 digit indent to make it more readable

D) I don't see the necessity of testing three vars to see if they aren't
zero before adding them together.  If they are zero, the equation will
work.
If they are not zero, the equation will work.  I can see maybe doing
that if
the equation was doing any dividing to avoid the "can't divide by zero"
error, but not on adding.

E) I always make all my IF's block IF's to stub them out for future dev,
as
well as to make them easier to read.  So I did that at the bottom even
though it was just for one add stmt.

F) My eyes are really getting old.  I need spaces between VARs and
operands
so they don't smush together.  So I spaced accordingly to make
everything
just a tad more readable as well.

Now, this takes more lines of code.  But many times more lines of code
can
be way faster than fewer lines of code especially if the extra lines of
code
are OUTSIDE of the loop.

MONTHLY.USAGE:

CM = MONTH + LY.CNT

P12.101 = PARMS(12)<101>
P12.133 = PARMS(12)<133>
P12.134 = PARMS(12)<134>

P7.100  = PARMS(7)<100>
P7.101  = PARMS(7)<101>
P7.102  = PARMS(7)<102>

FOR M = 1 TO 12

  CUM(M) = P12.101<1,CM> + P12.133<1,CM> + P12.134<1,CM>

  IF P7.100<1,CM> = '' THEN
CUMO(M) += P12.101<1,CM>
  END ELSE
CUMO(M) += P7.100<1,CM>
  END

  IF P7.101<1,CM> = '' THEN
CUMO(M) += P12.133<1,CM>
  END ELSE
CUMO(M) += P7.101<1,CM>
  END


  IF P7.102<1,CM> = '' THEN
CUMO(M) += P12.134<1,CM>
  END ELSE
CUMO(M) += P7.102<1,CM>
  END

  CM -= 1 

  IF CM = 0 THEN 
CM = 24
  END

NEXT M

PARMS(12)<101> = P12.101
PARMS(12)<133> = P12.133
PARMS(12)<134> = P12.134

PARMS(7)<100> = P7.100
PARMS(7)<101> = P7.101
PARMS(7)<102> = P7.102

RETURN 

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Keith Johnson
[DATACOM]
Sent: Wednesday, March 02, 2011 4:47 PM
To: 'u2-users@listserver.u2ug.org'
Subject: Re: [U2] Is this worth rewriting?

Agreed that the dimensioned extract wouldn't make much difference, still
the
attributes numbers are quite high.

The code below goes from 15 extracts maximum per for-next loop to 6.
I can't help but think this might mean something if it takes 90 minutes
to
run.

001: MO

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


[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] 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
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] [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] 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" 
To: "U2 Users List" 
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
http://listserver.u

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] 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  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] 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] 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] 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 
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


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


[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] 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" 
To: "U2 Users List" 
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
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  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
 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":BODY ;

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] 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":BODY ;

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
It is probably the  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
 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":BODY ;

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] 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
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] [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
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] 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?

 

T

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" 
To: "'U2 Users List'" 
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.
 
 
Because Universe code doesn't 

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
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/


  1   2   >