Re: [U2] Can Universe Play with Access?

2005-09-27 Thread Andre Beaud
Hi George,



There is a project on sourceforge
(http://sourceforge.net/projects/mdbtools) that allows you to extract
tables on your unix box. However although you won't need Access, you'll
still have to write something to slurp in a text file afterwards.



HTH

Andre

















Date: Mon, 26 Sep 2005 12:43:27 -0400

From: George Gallen [EMAIL PROTECTED]

Subject: [U2] Can Universe Play with Access?



OK. Here's a question.



If I copy an access .mdb database over to our system (unix),

  Is there a way to issue a SQL statement from TCL that will

  query the access database?



OR



How difficult would it be to read the data from the access

 .mdb file, and populate a UV file for TCL queries? Assume

 that the UV file would be wiped prior to reading the .mdb

 and the .mdb is a snapshot of current access database, and

 not actively being used.



We are looking at an application that creates standard access

.mdb files but we will need to import that database into our

system.



George





Important Notice: This email is subject to important restrictions,
qualifications and disclaimers (the Disclaimer) that must be accessed
and read at the following address or by copying and pasting the following
address into your Internet browser's address bar:
http://www.frstia.co.za/Disclaimer.asp

The Disclaimer is deemed to form part of the content
of this email in terms of Section 11 of the Electronic Communications
and Transactions Act, 25 of 2002. If you cannot access the Disclaimer,
please obtain a copy thereof from us by sending an email to
mailto:[EMAIL PROTECTED]
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2][UV] Universe and .NET

2005-09-27 Thread Nick Cipollina
Hello all,



I need some advice on Universe and .NET.  We would like to begin using
.NET as our front-end with Universe as our back-end.  We have started to
explore UO.NET, but it does not seem to provide us with the performance
we will require.  Our processes are currently written in PICK BASIC and
we are processing transactions in sub-50 milliseconds.  Does anyone have
a suggestion for a .NET solution that might provide us with similar
performance?  I've seen some talk on this list of some of the other
solutions such as MV.NET, but I don't recall seeing any metrics provided
with any of these discussions.  Any feedback would be appreciated.
Thanks.



Nick Cipollina



Pick Programmer

ACS - Heritage Information Systems, Inc.

2810 North Parham Road, Suite 210

Richmond, VA 23294

(804)644-8707 x 314
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] printing images through unidata

2005-09-27 Thread Karjala Koponen
You do have to disallow modification of the print string by the database or
spooler.  I use 'SETPTR ':lpu:',1024,80,,,1,NFMT,dest printer,BRIEF', where
lpu is the logical print unit.  The no format seems to work.  I've seen other
suggestions on this list for accomplishing the same.  I get errors (UniData
6.0.9 on Solaris 8) when I set the character per line  1024, though  I should
probably increase the lines per page.

Karjala


 [EMAIL PROTECTED] 09/26/2005 5:02:58 PM 
Good question: I downloaded Tom's demo image and entered the 2 code
examples. The import went fine (I think) and what I get when I do a test
print is:

p10h12v0s0b4099T
1y3X Text next to logo 1
Text next to logo 2
Text next to logo 3
Text next to logo 4
Text next to logo 5
Text next to logo 6
Text next to logo 7
Text next to logo 8
Text next to logo 9
Text next to logo 10

This is better than the first attempt which refused to print (I caught a
typo). I'm not really a PCL 5 guy, I just happened to have the most
experience using it in my group...



 -Original Message-
 From: [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] On Behalf Of Karjala Koponen
 Sent: Monday, September 26, 2005 3:24 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] printing images through unidata

 I was able to use Tom Pellitieri's code successfully. I did have to
 reverse
 the output of rows to the printer, however, and I found it easier to use
 decipoints than PCL units. I also found that the pixel width of the
 imported
 image had to be a multiple of 32 (8 bits times 4 bytes).

 Are you having problems with the import of the image or printing it?

 Karjala


  [EMAIL PROTECTED] 09/26/2005 1:42:54 PM 
 A while back someone wrote an article about how to convert a black and
 whit
 .BMP image to UD2 and print it on a laserjet using PCL 5 (Rastor graphics
 I
 believe). I'm trying to duplicate the guy's work and am not having any
 luck.
 Has anyone else been able to do this?
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] UD, MD5 Hash algoritm

2005-09-27 Thread Björn Eklund
Hi,
I would like to do some encryption of data in a Unidata file. I wonder if
there is someone who has a MD5 hashing unibasic subroutine that I could use.

Thanks in advande!
Bjvrn Eklund
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] Good Programming Practice Question.........

2005-09-27 Thread Fawaz Ashraff
Hi All,

We are planning to train some of our new programmers
to use good programming practices when using U2 Basic.
I can remember in Unidata days us having some tech
support documents that talked about this. Example such
as when is the best time to use CASE instead IF  ELSE
or not to use GOTO statments.

I am sure some of you may have some input in this
topic. If you have some documents, notes or thoughts
on this, can you please share with us?

When I get all the technical tips, I can compile this
to a document and share with our new programmers as
well as U2 listserver community.

Thanks

Mohamed




__ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2][UV] Universe and .NET

2005-09-27 Thread Nick Cipollina
The reason that our current processes are so fast is that we read as
much common data as humanly possible into memory at start-up so there is
little overhead while the process is running.  If I have to call a
subroutine from .NET, that would actually slow processing down.  I need
to get the data into .NET's memory to do something similar.

What about some of the other .NET options, such as MV.NET?  Any thoughts
on those?

Thanks,
 
Nick Cipollina
 
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of gerry-u2ug
Sent: Tuesday, September 27, 2005 9:23 AM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2][UV] Universe and .NET

my guess is that if you are running into performance issues using uo.net
then you are trying to do everything via uo.net.
you should be using uo.net to invoke universe routines to do most if not
ALL of your processing.
this way the performance should be virtually identical to native ( as it
is in fact native ) the only overhead is the actuall call itself.

Gerry




-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Nick Cipollina
Sent: Tuesday, September 27, 2005 08:24 AM
To: u2-users@listserver.u2ug.org
Subject: [U2][UV] Universe and .NET


Hello all,



I need some advice on Universe and .NET.  We would like to begin using
.NET as our front-end with Universe as our back-end.  We have started to
explore UO.NET, but it does not seem to provide us with the performance
we will require.  Our processes are currently written in PICK BASIC and
we are processing transactions in sub-50 milliseconds.  Does anyone have
a suggestion for a .NET solution that might provide us with similar
performance?  I've seen some talk on this list of some of the other
solutions such as MV.NET, but I don't recall seeing any metrics provided
with any of these discussions.  Any feedback would be appreciated.
Thanks.



Nick Cipollina



Pick Programmer

ACS - Heritage Information Systems, Inc.

2810 North Parham Road, Suite 210

Richmond, VA 23294

(804)644-8707 x 314
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] UD, MD5 Hash algoritm

2005-09-27 Thread Raymond DeGennaro II

At 14:39 +0200 2005/09/27, Bjvrn Eklund wrote:

I would like to do some encryption of data in a Unidata file. I wonder if
there is someone who has a MD5 hashing unibasic subroutine that I could use.


There was some discussion on this in the past. 
I'll try to dig-up the URL to a package that 
somebody wrote.  But, there is one major problem. 
It seems UniData on 64-bit platforms really 
doesn't do 32-bit math well.  Fortunately, the 
past several releases of UniData have included 
OpenSSL in the $UDTHOME/bin directory.


It's fairly easy to shell-out and call 'openssl' 
for hashing or encryption.  The only real 
gotcha is that 'echo' in different shells 
behaves differently and it may take some trial 
and error to get the right combination of \c, -n, 
etc..  If you want this to be portable, or if 
users may have different shells, then be sure to 
use the 'echo' executable (usually /usr/bin/echo) 
and not the echo command that's built-in to the 
shell.


Ray
--
.=.
| =-=-=-=-=-=-= Eagle Rock Information Systems Corp =-=-=-=-=-=-= |
| -=-=-=-=-=-=- web and database business solutions -=-=-=-=-=-=- |
|   http://www.eriscorp.commailto:[EMAIL PROTECTED]   |
|Midwest Regional Office: 815-547-0662 (voice)  815-547-0353 (Fax)|
.=.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] [OT] Tally line printer escape sequences

2005-09-27 Thread Dave Taylor
Simon,

I believe you may be able to purchase an operator's manual or a programmer's
manual from printersource.com in the US.  Call John at 800-788-5101.

I understand that the Tally 6xxx series emulates, among others, the Epson FX
printer, so you should be able to write a driver using the Epson FX ESC
sequences.

What I don't know is the ESC sequence to put the Tally into the FX
emulation.  Perhaps you can do that from the control console on the front of
the printer.

We have a customer whose software we are migrating to UV/NT but he hasn't
decided yet if he wants to use his Tally 6045 printer with UV, so we haven't
tried writing the driver yet.

Please let me know how you eventually resolve this.

hth,

Dave

Dave Taylor
President
Sysmark Information Systems, Inc.
49 Aspen Way
Rolling Hills Estates, CA 90274
800-SYSMARK (800-797-6275)
(O) 310-544-1974
(P) 800-339-1497
(F) 310-377-3550
Your Source for Integrated EDI Translation and DataSync Integration
www.sysmarkinfo.com


- Original Message - 
From: Simon Lewington [EMAIL PROTECTED]
Newsgroups: local.informixmv
To: u2-users@listserver.u2ug.org
Sent: Tuesday, September 27, 2005 2:39 AM
Subject: [U2] [OT] Tally line printer escape sequences


 Does anyone know where I could find a reference for escape sequences used
by
 old Tally Line Printers - specifically a T6090, although having loaded a
 driver from http://www.tallygenicom.com/support/manuals/legacyline.htm it
 looks like they're all similar.

 Thanks
 Simon
 ---
 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] Good Programming Practice Question.........

2005-09-27 Thread David A. Green
I've been teaching UniBasic for over 10 years and here are some of the
methods I teach:

* Subroutines should only have one job.
* Subroutines should be short. (less than 10 lines)
* Subroutines should have one entrance and one exit.
* Use meaningful variable names and subroutine names.
* Be consistent in your naming conventions.
* Don't hard code Numbers, Strings, or Attributes.
* Use CASE over IF...THEN when there are more than two options.
* Use LOOP...WHILE/UNTIL...REPEAT over FOR...NEXT with IF Conditions.
* Use REMOVE to traverse a dynamic array.
* Use a Simple Variable on Conditional Statements.
* Use UniData Internal Variables whenever possible; i.e. @AM, @VM, @DATE.

Thank you,
David A. Green
DAG Consulting
(480) 813-1725
www.dagconsulting.com


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Fawaz Ashraff
Sent: Tuesday, September 27, 2005 8:23 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] Good Programming Practice Question.

Hi All,

We are planning to train some of our new programmers
to use good programming practices when using U2 Basic.
I can remember in Unidata days us having some tech
support documents that talked about this. Example such
as when is the best time to use CASE instead IF  ELSE
or not to use GOTO statments.

I am sure some of you may have some input in this
topic. If you have some documents, notes or thoughts
on this, can you please share with us?

When I get all the technical tips, I can compile this
to a document and share with our new programmers as
well as U2 listserver community.

Thanks

Mohamed




__ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2][UV] Universe and .NET

2005-09-27 Thread Don Kibbey
Load the patch, all will be well.

I would however suggest using a subroutine for those chores that can
be done quicker on the server.  I don't think that uv.net is really
meant as a replacement for UniBasic on the backend.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Good Programming Practice Question.........

2005-09-27 Thread Dianne Ackerman
I like these and would add another one - Add comments to tricky-looking 
code!

-Dianne

David A. Green wrote:


I've been teaching UniBasic for over 10 years and here are some of the
methods I teach:

* Subroutines should only have one job.
* Subroutines should be short. (less than 10 lines)
* Subroutines should have one entrance and one exit.
* Use meaningful variable names and subroutine names.
* Be consistent in your naming conventions.
* Don't hard code Numbers, Strings, or Attributes.
* Use CASE over IF...THEN when there are more than two options.
* Use LOOP...WHILE/UNTIL...REPEAT over FOR...NEXT with IF Conditions.
* Use REMOVE to traverse a dynamic array.
* Use a Simple Variable on Conditional Statements.
* Use UniData Internal Variables whenever possible; i.e. @AM, @VM, @DATE.

Thank you,
David A. Green
DAG Consulting
(480) 813-1725
www.dagconsulting.com


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Fawaz Ashraff
Sent: Tuesday, September 27, 2005 8:23 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] Good Programming Practice Question.

Hi All,

We are planning to train some of our new programmers
to use good programming practices when using U2 Basic.
I can remember in Unidata days us having some tech
support documents that talked about this. Example such
as when is the best time to use CASE instead IF  ELSE
or not to use GOTO statments.

I am sure some of you may have some input in this
topic. If you have some documents, notes or thoughts
on this, can you please share with us?

When I get all the technical tips, I can compile this
to a document and share with our new programmers as
well as U2 listserver community.

Thanks

Mohamed

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


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread George Gallen
Also, how about a change log at the top of the program
  that lists, who, when and what/why a change was made.

add to that a short description as to what the function
  of the program is for.

* this program does .
*
*
* date who changes made
* date who changes made

*

George

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Dianne Ackerman
Sent: Tuesday, September 27, 2005 2:57 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.


I like these and would add another one - Add comments to tricky-looking 
code!
-Dianne

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


[U2] Lower case in Unidata basic

2005-09-27 Thread David Tod Sigafoos
u2-users,

I have looked for archives at u2ug.org but not found them .. (must be
blind)

I have downloaded pdfs from IBM but i keep getting Universe ..

so I will just ask and take the deserved harassment G

is there a udt.option that allows you to use lower case in unidata
programs?

thanks .. and if anyone has a pointer to the unidata pdfs i would like
it ..


  

-- 
DSig
David Tod Sigafoos

'Politics is like driving. To go backward, put it in R. To go forward,
put it in D' unknown
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Allen E. Elwood
My addition to this would be to use alphanumeric labels, and to *have* a
main calling section.  A main calling section that looks like:

GOSUB OPEN.AND.INIT
GOSUB SELECT.FILE
GOSUB PRE-PROCESS.VALIDITY.CHECKS
GOSUB PRINT.INVOICES
GOSUB UPDATE.FILES

Looks so much better and is so easier to figure out than

GOSUB 100
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1250
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1375
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 4000
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 9755
a bunch of statements
a bunch of statements
a bunch of statements

IMNSHO - *=aee=*

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of George Gallen
Sent: Tuesday, September 27, 2005 12:12
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.


Also, how about a change log at the top of the program
  that lists, who, when and what/why a change was made.

add to that a short description as to what the function
  of the program is for.

* this program does .
*
*
* date who changes made
* date who changes made

*

George

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Dianne Ackerman
Sent: Tuesday, September 27, 2005 2:57 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.


I like these and would add another one - Add comments to tricky-looking
code!
-Dianne

David A. Green wrote:
---
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] Lower case in Unidata basic

2005-09-27 Thread Keith W. Roberts
Original Message
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
David Tod Sigafoos
Sent: Tuesday, September 27, 2005 12:19 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Lower case in Unidata basic

 u2-users,
 
 I have looked for archives at u2ug.org but not found them .. (must be
 blind) 
 
 I have downloaded pdfs from IBM but i keep getting Universe ..
 
 so I will just ask and take the deserved harassment G
 
 is there a udt.option that allows you to use lower case in unidata
 programs? 
 
 thanks .. and if anyone has a pointer to the unidata pdfs i would like
 it ..

http://www-306.ibm.com/software/data/u2/pubs/library/60unidata/index.html
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread David A. Green
Yes good one.

The more readable your code the easier to DEBUG and to reuse.


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dianne Ackerman
Sent: Tuesday, September 27, 2005 11:57 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.

I like these and would add another one - Add comments to tricky-looking 
code!
-Dianne

David A. Green wrote:

I've been teaching UniBasic for over 10 years and here are some of the
methods I teach:

* Subroutines should only have one job.
* Subroutines should be short. (less than 10 lines)
* Subroutines should have one entrance and one exit.
* Use meaningful variable names and subroutine names.
* Be consistent in your naming conventions.
* Don't hard code Numbers, Strings, or Attributes.
* Use CASE over IF...THEN when there are more than two options.
* Use LOOP...WHILE/UNTIL...REPEAT over FOR...NEXT with IF Conditions.
* Use REMOVE to traverse a dynamic array.
* Use a Simple Variable on Conditional Statements.
* Use UniData Internal Variables whenever possible; i.e. @AM, @VM, @DATE.

Thank you,
David A. Green
DAG Consulting
(480) 813-1725
www.dagconsulting.com


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Fawaz Ashraff
Sent: Tuesday, September 27, 2005 8:23 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] Good Programming Practice Question.

Hi All,

We are planning to train some of our new programmers
to use good programming practices when using U2 Basic.
I can remember in Unidata days us having some tech
support documents that talked about this. Example such
as when is the best time to use CASE instead IF  ELSE
or not to use GOTO statments.

I am sure some of you may have some input in this
topic. If you have some documents, notes or thoughts
on this, can you please share with us?

When I get all the technical tips, I can compile this
to a document and share with our new programmers as
well as U2 listserver community.

Thanks

Mohamed
---
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] Lower case in Unidata basic

2005-09-27 Thread BRosenberg
PDF Library = http://ibm.com/software/data/u2/pubs/library
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Good Programming Practice Question.........

2005-09-27 Thread Don Kibbey
On 9/27/05, Dianne Ackerman [EMAIL PROTECTED] wrote:
 I like these and would add another one - Add comments to tricky-looking
 code!
 -Dianne

And DON'T add comments to the mundane routine stuff!!
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Kevin King
And here's where the conflict begins.  When looking through a big
program, I much prefer numeric labels in order with comments vs.
alphanumeric labels.  With numeric labels in order you find 1800 and
if you're looking for 2000 you know to look farther down, 1000, go up.
With alpha labels if you find SELECT.FILE and are looking for
UPDATE.FILES, you have nothing but experience to know whether to look
up or down from there.

Numeric labels are good.  Not ordering or commenting them is bad.  And
not putting comments around all labels to make them more easily
distinguished from the rest of the program is near unforgiveable.

-K 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
Elwood
Sent: Tuesday, September 27, 2005 12:40 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

My addition to this would be to use alphanumeric labels, and to *have*
a main calling section.  A main calling section that looks like:

GOSUB OPEN.AND.INIT
GOSUB SELECT.FILE
GOSUB PRE-PROCESS.VALIDITY.CHECKS
GOSUB PRINT.INVOICES
GOSUB UPDATE.FILES

Looks so much better and is so easier to figure out than

GOSUB 100
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1250
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1375
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 4000
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 9755
a bunch of statements
a bunch of statements
a bunch of statements

IMNSHO - *=aee=*

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of George Gallen
Sent: Tuesday, September 27, 2005 12:12
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.


Also, how about a change log at the top of the program
  that lists, who, when and what/why a change was made.

add to that a short description as to what the function
  of the program is for.

* this program does .
*
*
* date who changes made
* date who changes made

*

George

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Dianne
Ackerman
Sent: Tuesday, September 27, 2005 2:57 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.


I like these and would add another one - Add comments to
tricky-looking code!
-Dianne

David A. Green wrote:
---
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/

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date:
9/26/2005
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Lower case in Unidata basic

2005-09-27 Thread Jeff Schasny
Unidata PDFs:

http://www-1.ibm.com/support/search.wss?tc=SSCRXTrs=628rank=8dc=DA410+DA4
50+DA420+DA430+DA440dtm

or if you prefer

http://tinyurl.com/7mqr4

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of David Tod
Sigafoos
Sent: Tuesday, September 27, 2005 1:19 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Lower case in Unidata basic


u2-users,

I have looked for archives at u2ug.org but not found them .. (must be
blind)

I have downloaded pdfs from IBM but i keep getting Universe ..

so I will just ask and take the deserved harassment G

is there a udt.option that allows you to use lower case in unidata
programs?

thanks .. and if anyone has a pointer to the unidata pdfs i would like
it ..




--
DSig
David Tod Sigafoos

'Politics is like driving. To go backward, put it in R. To go forward,
put it in D' unknown
---
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] Good Programming Practice Question.........

2005-09-27 Thread Fawaz Ashraff
I think we have a good start and thanks for all the
input. Can you guys also include technical information
as well.

I am sure you would have encounted some way of
programming gives faster results than the others.
Let's say as an example, if you are opening a program
all the time, just to make it a COMMON variable..

--- Allen E. Elwood [EMAIL PROTECTED] wrote:

 My addition to this would be to use alphanumeric
 labels, and to *have* a
 main calling section.  A main calling section that
 looks like:
 
 GOSUB OPEN.AND.INIT
 GOSUB SELECT.FILE
 GOSUB PRE-PROCESS.VALIDITY.CHECKS
 GOSUB PRINT.INVOICES
 GOSUB UPDATE.FILES
 
 Looks so much better and is so easier to figure out
 than
 
 GOSUB 100
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1250
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1375
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 4000
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 9755
 a bunch of statements
 a bunch of statements
 a bunch of statements
 
 IMNSHO - *=aee=*
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf
 Of George Gallen
 Sent: Tuesday, September 27, 2005 12:12
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice
 Question.
 
 
 Also, how about a change log at the top of the
 program
   that lists, who, when and what/why a change was
 made.
 
 add to that a short description as to what the
 function
   of the program is for.
 
 * this program does .
 *
 *
 * date who changes made
 * date who changes made
 
 *
 
 George
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf
 Of Dianne Ackerman
 Sent: Tuesday, September 27, 2005 2:57 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Good Programming Practice
 Question.
 
 
 I like these and would add another one - Add
 comments to tricky-looking
 code!
 -Dianne
 
 David A. Green wrote:
 ---
 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/
 




__ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Lance Jahnke
In addition to using subroutines, when developing with UniVerse and SB+
I often have one application handle many, if not all of the screen and
report processing. This helps keep things in one place. For this I use
the ON GOSUB construct of the BASIC language. It's worth noting
depending on its application or relevance.


I've been teaching UniBasic for over 10 years and here are some of the
methods I teach:

* Subroutines should only have one job.
* Subroutines should be short. (less than 10 lines)
* Subroutines should have one entrance and one exit.
* Use meaningful variable names and subroutine names.
* Be consistent in your naming conventions.
* Don't hard code Numbers, Strings, or Attributes.
* Use CASE over IF...THEN when there are more than two options.
* Use LOOP...WHILE/UNTIL...REPEAT over FOR...NEXT with IF Conditions.
* Use REMOVE to traverse a dynamic array.
* Use a Simple Variable on Conditional Statements.
* Use UniData Internal Variables whenever possible; i.e. @AM, @VM,
@DATE.

Thank you,
David A. Green
DAG Consulting
(480) 813-1725
www.dagconsulting.com


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Fawaz Ashraff
Sent: Tuesday, September 27, 2005 8:23 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] Good Programming Practice Question.

Hi All,

We are planning to train some of our new programmers
to use good programming practices when using U2 Basic.
I can remember in Unidata days us having some tech
support documents that talked about this. Example such
as when is the best time to use CASE instead IF  ELSE
or not to use GOTO statments.

I am sure some of you may have some input in this
topic. If you have some documents, notes or thoughts
on this, can you please share with us?

When I get all the technical tips, I can compile this
to a document and share with our new programmers as
well as U2 listserver community.

Thanks

Mohamed
---
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] Good Programming Practice Question.........

2005-09-27 Thread Allen E. Elwood
AhI always put my subroutines in the same order as they are in the main
calling section.  And using Accuterm, if you highlight the SELECT.FILE
portion of the GOSUB SELECT.FILE, then hit CTRL-F it puts SELECT.FILE in
there for you and Bingo, you're there.

I get tired of the redundancy of using

GOSUB 100 ; * Display Page

instead of

GOSUB DISPLAY.PAGE

And and andI've seen PLENTY of programs where 2200 was below 4000 -
sad - but true!!

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Kevin King
Sent: Tuesday, September 27, 2005 13:04
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.


And here's where the conflict begins.  When looking through a big
program, I much prefer numeric labels in order with comments vs.
alphanumeric labels.  With numeric labels in order you find 1800 and
if you're looking for 2000 you know to look farther down, 1000, go up.
With alpha labels if you find SELECT.FILE and are looking for
UPDATE.FILES, you have nothing but experience to know whether to look
up or down from there.

Numeric labels are good.  Not ordering or commenting them is bad.  And
not putting comments around all labels to make them more easily
distinguished from the rest of the program is near unforgiveable.

-K

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
Elwood
Sent: Tuesday, September 27, 2005 12:40 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

My addition to this would be to use alphanumeric labels, and to *have*
a main calling section.  A main calling section that looks like:

GOSUB OPEN.AND.INIT
GOSUB SELECT.FILE
GOSUB PRE-PROCESS.VALIDITY.CHECKS
GOSUB PRINT.INVOICES
GOSUB UPDATE.FILES

Looks so much better and is so easier to figure out than

GOSUB 100
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1250
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1375
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 4000
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 9755
a bunch of statements
a bunch of statements
a bunch of statements

IMNSHO - *=aee=*

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of George Gallen
Sent: Tuesday, September 27, 2005 12:12
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.


Also, how about a change log at the top of the program
  that lists, who, when and what/why a change was made.

add to that a short description as to what the function
  of the program is for.

* this program does .
*
*
* date who changes made
* date who changes made

*

George

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Dianne
Ackerman
Sent: Tuesday, September 27, 2005 2:57 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.


I like these and would add another one - Add comments to
tricky-looking code!
-Dianne

David A. Green wrote:
---
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/

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date:
9/26/2005
---
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] Good Programming Practice Question.........

2005-09-27 Thread john reid
Try not to use dim arrays to hold file variables. difficult to diag.
Keep label and variable names to 14 chars and under for universe's xrefer
Avoid ever 'falling' into a label
Never branch around stuff
Sometimes its nice to comment CASE statements
 CASE LEN(ID) LE 5 ;* its a phone number
..


On 9/27/05, Fawaz Ashraff [EMAIL PROTECTED] wrote:
 Hi All,

 We are planning to train some of our new programmers
 to use good programming practices when using U2 Basic.
 I can remember in Unidata days us having some tech
 support documents that talked about this. Example such
 as when is the best time to use CASE instead IF  ELSE
 or not to use GOTO statments.

 I am sure some of you may have some input in this
 topic. If you have some documents, notes or thoughts
 on this, can you please share with us?

 When I get all the technical tips, I can compile this
 to a document and share with our new programmers as
 well as U2 listserver community.

 Thanks

 Mohamed




 __
 Yahoo! Mail - PC Magazine Editors' Choice 2005
 http://mail.yahoo.com
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Bob Woodward
I agree with Kevin, specifically for the reasons he mentions, but I
actually prefer using the alpha-numeric format like S3000.GET.CUSTNAME:
where the S designates it's an internal subroutine, 3000 is the
numeric position value that Kevin talks about, and GET.CUSTNAME so
every place that I call the subroutine from, I know what I'm looking to
do in that subroutine.  I also put the colon : so when I want to
actually go to that subroutine in the editor, I can.  The numeric
portion is in relation to the whole program, not just the S portion.
This keeps me from accidentally doing a A3000 instead of an S3000.

I do have to disagree with the statement of 10-line subroutines, though.
Limit them to one function, okay, but limit the number of lines?  Not
even as a guideline in my list of standards.

BobW

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] On Behalf Of Kevin King
 Sent: Tuesday, September 27, 2005 1:04 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 And here's where the conflict begins.  When looking through a big
 program, I much prefer numeric labels in order with comments vs.
 alphanumeric labels.  With numeric labels in order you find 1800 and
 if you're looking for 2000 you know to look farther down, 1000, go up.
 With alpha labels if you find SELECT.FILE and are looking for
 UPDATE.FILES, you have nothing but experience to know whether to look
 up or down from there.
 
 Numeric labels are good.  Not ordering or commenting them is bad.  And
 not putting comments around all labels to make them more easily
 distinguished from the rest of the program is near unforgiveable.
 
 -K
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
 Elwood
 Sent: Tuesday, September 27, 2005 12:40 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 My addition to this would be to use alphanumeric labels, and to *have*
 a main calling section.  A main calling section that looks like:
 
 GOSUB OPEN.AND.INIT
 GOSUB SELECT.FILE
 GOSUB PRE-PROCESS.VALIDITY.CHECKS
 GOSUB PRINT.INVOICES
 GOSUB UPDATE.FILES
 
 Looks so much better and is so easier to figure out than
 
 GOSUB 100
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1250
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1375
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 4000
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 9755
 a bunch of statements
 a bunch of statements
 a bunch of statements
 
 IMNSHO - *=aee=*
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of George Gallen
 Sent: Tuesday, September 27, 2005 12:12
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 
 Also, how about a change log at the top of the program
   that lists, who, when and what/why a change was made.
 
 add to that a short description as to what the function
   of the program is for.
 
 * this program does .
 *
 *
 * date who changes made
 * date who changes made
 
 *
 
 George
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Dianne
 Ackerman
 Sent: Tuesday, September 27, 2005 2:57 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Good Programming Practice Question.
 
 
 I like these and would add another one - Add comments to
 tricky-looking code!
 -Dianne
 
 David A. Green wrote:
 ---
 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/
 
 --
 No virus found in this incoming message.
 Checked by AVG Anti-Virus.
 Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date:
 9/26/2005
 ---
 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] Good Programming Practice Question.........

2005-09-27 Thread Karjala Koponen
But I take the middle road with labels like:

A001.mainline:
code

   RETURN ;* from A001.mainline

A010.open.and.init
B100.select.file
B200.pre-process.validity.checks
C500.print.invoices
C700.update.files
Z900.error

that I order by prefix.  I get ordering, description, and grouping.  I also
use white space to separate paragraphs.

Of course for many my use of mixed case is a matter of dispute.

Karjala


 [EMAIL PROTECTED] 09/27/2005 4:03:38 PM 
And here's where the conflict begins. When looking through a big
program, I much prefer numeric labels in order with comments vs.
alphanumeric labels. With numeric labels in order you find 1800 and
if you're looking for 2000 you know to look farther down, 1000, go up.
With alpha labels if you find SELECT.FILE and are looking for
UPDATE.FILES, you have nothing but experience to know whether to look
up or down from there.

Numeric labels are good. Not ordering or commenting them is bad. And
not putting comments around all labels to make them more easily
distinguished from the rest of the program is near unforgiveable.

-K

-Original Message-
From: [EMAIL PROTECTED]
[ mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
Elwood
Sent: Tuesday, September 27, 2005 12:40 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

My addition to this would be to use alphanumeric labels, and to *have*
a main calling section. A main calling section that looks like:

GOSUB OPEN.AND.INIT
GOSUB SELECT.FILE
GOSUB PRE-PROCESS.VALIDITY.CHECKS
GOSUB PRINT.INVOICES
GOSUB UPDATE.FILES

Looks so much better and is so easier to figure out than

GOSUB 100
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1250
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1375
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 4000
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 9755
a bunch of statements
a bunch of statements
a bunch of statements

IMNSHO - *=aee=*

-Original Message-
From: [EMAIL PROTECTED]
[ mailto:[EMAIL PROTECTED] Behalf Of George Gallen
Sent: Tuesday, September 27, 2005 12:12
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.


Also, how about a change log at the top of the program
that lists, who, when and what/why a change was made.

add to that a short description as to what the function
of the program is for.

* this program does .
*
*
* date who changes made
* date who changes made

*

George

-Original Message-
From: [EMAIL PROTECTED]
[ mailto:[EMAIL PROTECTED] Behalf Of Dianne
Ackerman
Sent: Tuesday, September 27, 2005 2:57 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.


I like these and would add another one - Add comments to
tricky-looking code!
-Dianne

David A. Green wrote:
---
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/

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date:
9/26/2005
---
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] Good Programming Practice Question.........

2005-09-27 Thread Bill_H
Kevin:

Not if you alphabetize the labels; then it works just like numeric.  :-)

Bill 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King
 Sent: Tuesday, September 27, 2005 1:04 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 And here's where the conflict begins.  When looking through a 
 big program, I much prefer numeric labels in order with comments vs.
 alphanumeric labels.  With numeric labels in order you find 
 1800 and if you're looking for 2000 you know to look farther 
 down, 1000, go up.
 With alpha labels if you find SELECT.FILE and are looking for 
 UPDATE.FILES, you have nothing but experience to know whether 
 to look up or down from there.
 
 Numeric labels are good.  Not ordering or commenting them is 
 bad.  And not putting comments around all labels to make them 
 more easily distinguished from the rest of the program is 
 near unforgiveable.
 
 -K 
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
 Elwood
 Sent: Tuesday, September 27, 2005 12:40 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 My addition to this would be to use alphanumeric labels, and 
 to *have* a main calling section.  A main calling section 
 that looks like:
 
 GOSUB OPEN.AND.INIT
 GOSUB SELECT.FILE
 GOSUB PRE-PROCESS.VALIDITY.CHECKS
 GOSUB PRINT.INVOICES
 GOSUB UPDATE.FILES
 
 Looks so much better and is so easier to figure out than
 
 GOSUB 100
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1250
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1375
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 4000
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 9755
 a bunch of statements
 a bunch of statements
 a bunch of statements
 
 IMNSHO - *=aee=*
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of George Gallen
 Sent: Tuesday, September 27, 2005 12:12
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 
 Also, how about a change log at the top of the program
   that lists, who, when and what/why a change was made.
 
 add to that a short description as to what the function
   of the program is for.
 
 * this program does .
 *
 *
 * date who changes made
 * date who changes made
 
 *
 
 George
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of 
 Dianne Ackerman
 Sent: Tuesday, September 27, 2005 2:57 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Good Programming Practice Question.
 
 
 I like these and would add another one - Add comments to 
 tricky-looking code!
 -Dianne
 
 David A. Green wrote:
 ---
 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/
 
 --
 No virus found in this incoming message.
 Checked by AVG Anti-Virus.
 Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date:
 9/26/2005
 ---
 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] Good Programming Practice Question.........

2005-09-27 Thread Jerry Banker
We usually wrap this in a LOOP REPEAT and case statements using an action 
code that changes for the completion of each routine.
ACTION = 'INIT'
LOOP UNTIL ACTION = 'ABORT' OR ACTION = 'EOJ' DO
   BEGIN CASE
  CASE ACTION = 'INIT'
 GOSUB OPEN.AND.INIT
  CASE ACTION = 'SELECT'
 GOSUB SELECT.FILE
  CASE ACTION = 'PROCESS'
 GOSUB PRE-PROCESS.VALIDITY.CHECKS
  CASE ACTION = 'PRINT'
 GOSUB PRINT.INVOICES
  CASE ACTION = 'UPDATE'
 GOSUB UPDATE.FILES
   REPEAT
   STOP
- Original Message - 
From: Allen E. Elwood [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, September 27, 2005 2:40 PM
Subject: RE: [U2] Good Programming Practice Question.


My addition to this would be to use alphanumeric labels, and to *have* a
main calling section.  A main calling section that looks like:

GOSUB OPEN.AND.INIT
GOSUB SELECT.FILE
GOSUB PRE-PROCESS.VALIDITY.CHECKS
GOSUB PRINT.INVOICES
GOSUB UPDATE.FILES

Looks so much better and is so easier to figure out than

GOSUB 100
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1250
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1375
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 4000
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 9755
a bunch of statements
a bunch of statements
a bunch of statements

IMNSHO - *=aee=*

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of George Gallen
Sent: Tuesday, September 27, 2005 12:12
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.


Also, how about a change log at the top of the program
  that lists, who, when and what/why a change was made.

add to that a short description as to what the function
  of the program is for.

* this program does .
*
*
* date who changes made
* date who changes made

*

George

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Dianne Ackerman
Sent: Tuesday, September 27, 2005 2:57 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.


I like these and would add another one - Add comments to tricky-looking
code!
-Dianne

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


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Brian Leach
Kevin,

I disagree, for a simple reason:

I use alpha labels that make sense and then place them in the code in
alphabetical order.
Problem solved grin.

Just a few off the top of my head (it's late here):

1. If using UniVerse, use mixed case to encourage readability when scanning
through a program with upper case reserved for constants, common, file and
select variables so they stand out as different, as in:

Fin = @False
Loop
  ReadNext Id From SLIST Else Fin = @True
Until Fin Do
  Read OrderRec From ORDERS, Id Then
GoSub ProcessRecord
  End
Repeat


2. A GoSub should perform a single action. Jumping into a second label
inside a GoSub just sucks.
   Return To should be banned.
3. Have a single exit point from a program or subroutine.
4. Separate out the business logic from the screen processing (if any): 
   that way if you want to reengineer the application or reuse the rules in
another context it is so much easier.
5. Hold file variables in named common.
6. Name record variables after the file from which they originate.
7. Equate all field names (preferably automatically) in include files. 
   I use the format FILENAME.FIELDNAME to disambiguate e.g.
   EQU CUSTOMER.SURNAME TO 1
   So I can reference:
 CustomerRecCUSTOMER.SURNAME
 

Above all, be consistent. There are many good practices out there, most of
them are common sense but they only work if applied consistently.

Brian 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King
 Sent: 27 September 2005 21:04
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 And here's where the conflict begins.  When looking through a 
 big program, I much prefer numeric labels in order with comments vs.
 alphanumeric labels.  With numeric labels in order you find 
 1800 and if you're looking for 2000 you know to look farther 
 down, 1000, go up.
 With alpha labels if you find SELECT.FILE and are looking for 
 UPDATE.FILES, you have nothing but experience to know whether 
 to look up or down from there.
 
 Numeric labels are good.  Not ordering or commenting them is 
 bad.  And not putting comments around all labels to make them 
 more easily distinguished from the rest of the program is 
 near unforgiveable.
 
 -K 
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
 Elwood
 Sent: Tuesday, September 27, 2005 12:40 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 My addition to this would be to use alphanumeric labels, and 
 to *have* a main calling section.  A main calling section 
 that looks like:
 
 GOSUB OPEN.AND.INIT
 GOSUB SELECT.FILE
 GOSUB PRE-PROCESS.VALIDITY.CHECKS
 GOSUB PRINT.INVOICES
 GOSUB UPDATE.FILES
 
 Looks so much better and is so easier to figure out than
 
 GOSUB 100
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1250
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1375
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 4000
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 9755
 a bunch of statements
 a bunch of statements
 a bunch of statements
 
 IMNSHO - *=aee=*
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of George Gallen
 Sent: Tuesday, September 27, 2005 12:12
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 
 Also, how about a change log at the top of the program
   that lists, who, when and what/why a change was made.
 
 add to that a short description as to what the function
   of the program is for.
 
 * this program does .
 *
 *
 * date who changes made
 * date who changes made
 
 *
 
 George
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of 
 Dianne Ackerman
 Sent: Tuesday, September 27, 2005 2:57 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Good Programming Practice Question.
 
 
 I like these and would add another one - Add comments to 
 tricky-looking code!
 -Dianne
 
 David A. Green wrote:
 ---
 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/
 
 --
 No virus found in this incoming message.
 Checked by AVG Anti-Virus.
 Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date:
 9/26/2005
 ---
 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] Good Programming Practice Question.........

2005-09-27 Thread Kevin King
alphabetize the labels?  You mean sort?? :-)

-K 

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill_H
Sent: Tuesday, September 27, 2005 1:35 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

Kevin:

Not if you alphabetize the labels; then it works just like numeric.
:-)

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


Re: [U2] Good Programming Practice Question.........

2005-09-27 Thread Jerry Banker
I personally would rather use alpha-numeric labels because of the many 
programs I have come across that tend to not have comments. You can always 
use a locate to find the subroutine especially if you use correct labeling 
with a colon at the end.
END.OF.PROGRAM:

- Original Message - 
From: Kevin King [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, September 27, 2005 3:03 PM
Subject: RE: [U2] Good Programming Practice Question.


And here's where the conflict begins.  When looking through a big
program, I much prefer numeric labels in order with comments vs.
alphanumeric labels.  With numeric labels in order you find 1800 and
if you're looking for 2000 you know to look farther down, 1000, go up.
With alpha labels if you find SELECT.FILE and are looking for
UPDATE.FILES, you have nothing but experience to know whether to look
up or down from there.

Numeric labels are good.  Not ordering or commenting them is bad.  And
not putting comments around all labels to make them more easily
distinguished from the rest of the program is near unforgiveable.

-K

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
Elwood
Sent: Tuesday, September 27, 2005 12:40 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

My addition to this would be to use alphanumeric labels, and to *have*
a main calling section.  A main calling section that looks like:

GOSUB OPEN.AND.INIT
GOSUB SELECT.FILE
GOSUB PRE-PROCESS.VALIDITY.CHECKS
GOSUB PRINT.INVOICES
GOSUB UPDATE.FILES

Looks so much better and is so easier to figure out than

GOSUB 100
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1250
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1375
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 4000
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 9755
a bunch of statements
a bunch of statements
a bunch of statements

IMNSHO - *=aee=*

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of George Gallen
Sent: Tuesday, September 27, 2005 12:12
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.


Also, how about a change log at the top of the program
  that lists, who, when and what/why a change was made.

add to that a short description as to what the function
  of the program is for.

* this program does .
*
*
* date who changes made
* date who changes made

*

George

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Dianne
Ackerman
Sent: Tuesday, September 27, 2005 2:57 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.


I like these and would add another one - Add comments to
tricky-looking code!
-Dianne

David A. Green wrote:
---
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/

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date:
9/26/2005
---
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] Good Programming Practice Question.........

2005-09-27 Thread Gordon J Glorfield
I prefer alphanumeric labels for subroutines.  The label should give some 
clue as to the function of the subroutine.  The subroutines should be in 
frequency of use order with the most commonly used closer to the top of 
the program.  Subroutines that are used once in a program (file opens, 
variable initialization, etc...) are located near the bottom. 


Gordon J. Glorfield
Sr. Applications Developer
MAMSI (A UnitedHealth Company)
301-360-8839

[EMAIL PROTECTED] wrote on 09/27/2005 04:35:12 PM:

 Kevin:

 Not if you alphabetize the labels; then it works just like numeric.  :-)

 Bill

[SNIP]


This e-mail, including attachments, may include confidential and/or 
proprietary information, and may be used only by the person or entity to 
which it is addressed. If the reader of this e-mail is not the intended 
recipient or his or her authorized agent, the reader is hereby notified 
that any dissemination, distribution or copying of this e-mail is 
prohibited. If you have received this e-mail in error, please notify the 
sender by replying to this message and delete this e-mail immediately.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Good Programming Practice Question.........

2005-09-27 Thread Michael Logue
What about lock management?

1. Lock all records that are going to be updated ... even if the update
is really a delete
2. Release your locks promptly (either with a RELEASE, WRITE or DELETE
statement) - don't let the program termination be the time when record
locks are released
3. Use the LOCKED clause so the application can decide what to do when a
record is locked rather than the database

P. Michael Logue
U2 Technical Support Engineer 
U2 Products Service Planner

IBM Certified Solutions Expert in U2  Application Development
IBM Certified U2 UniData Administration

IBM Information Management Division, Software Group
Phone: 303-773-7846
Tie Line: 656-7846
Email: [EMAIL PROTECTED]

www.ibm.com/software/data/u2/support
Open, Query, Update, Search - Online!
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Keith W. Roberts
I most heartily agree!  Numbers in the labels don't elucidate; they merely
increase the length.  And I'm pretty sure I know that U comes somewhere
after S. :)

My $0.02 (on issues ancillary to the code itself) ...

- make your BP files Type19 (DIR), so you can edit them outside of U2 using
whatever cotton-pickin' editor you like

- use source code control; absolutely anything is better than nothing, and
there are good free ones for all platforms

- agree on an indentation scheme and stick to it as a group, else get/create
a beautifier which enforces the chosen standards before code checkin

-Keith

Original Message
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill_H
Sent: Tuesday, September 27, 2005 1:35 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

 Kevin:
 
 Not if you alphabetize the labels; then it works just like numeric. 
 :-) 
 
 Bill
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King
 Sent: Tuesday, September 27, 2005 1:04 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 And here's where the conflict begins.  When looking through a
 big program, I much prefer numeric labels in order with comments vs.
 alphanumeric labels.  With numeric labels in order you find
 1800 and if you're looking for 2000 you know to look farther
 down, 1000, go up.
 With alpha labels if you find SELECT.FILE and are looking for
 UPDATE.FILES, you have nothing but experience to know whether
 to look up or down from there.
 
 Numeric labels are good.  Not ordering or commenting them is
 bad.  And not putting comments around all labels to make them
 more easily distinguished from the rest of the program is
 near unforgiveable.
 
 -K
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
 Elwood Sent: Tuesday, September 27, 2005 12:40 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 My addition to this would be to use alphanumeric labels, and
 to *have* a main calling section.  A main calling section
 that looks like:
 
 GOSUB OPEN.AND.INIT
 GOSUB SELECT.FILE
 GOSUB PRE-PROCESS.VALIDITY.CHECKS
 GOSUB PRINT.INVOICES
 GOSUB UPDATE.FILES
 
 Looks so much better and is so easier to figure out than
 
 GOSUB 100
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1250
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1375
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 4000
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 9755
 a bunch of statements
 a bunch of statements
 a bunch of statements
 
 IMNSHO - *=aee=*
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Good Programming Practice Question.........

2005-09-27 Thread Mark Johnson
I'll toss in 2 cents on 'standards'.

If maintaining an existing environment, should you add a new standard
(yours) or should you adhere to the primary one already there.

For example, I use
OPEN CUST TO F.CUST ELSE STOP
whereas one app has
OPEN CUST TO CUST.FILE ELSE STOP

I agree with many of the suggestions when having the luxury of designing an
application from scratch. However, many times one inherits previous
standards and sometimes they should prevail.

Two observations:
1. MV programming is a box of crayons and if it compiles and 1+1 does equal
2, then it works.
2. The good thing about standards is that there are so many to choose from.

P.S. Actually I use a sub CALL OPENER(CUST, F.CUST) but the point was the
style of the file handle.

- Original Message -
From: Keith W. Roberts [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, September 27, 2005 5:14 PM
Subject: RE: [U2] Good Programming Practice Question.


 I most heartily agree!  Numbers in the labels don't elucidate; they merely
 increase the length.  And I'm pretty sure I know that U comes somewhere
 after S. :)

 My $0.02 (on issues ancillary to the code itself) ...

 - make your BP files Type19 (DIR), so you can edit them outside of U2
using
 whatever cotton-pickin' editor you like

 - use source code control; absolutely anything is better than nothing, and
 there are good free ones for all platforms

 - agree on an indentation scheme and stick to it as a group, else
get/create
 a beautifier which enforces the chosen standards before code checkin

 -Keith

 Original Message
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Bill_H
 Sent: Tuesday, September 27, 2005 1:35 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.

  Kevin:
 
  Not if you alphabetize the labels; then it works just like numeric.
  :-)
 
  Bill
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King
  Sent: Tuesday, September 27, 2005 1:04 PM
  To: u2-users@listserver.u2ug.org
  Subject: RE: [U2] Good Programming Practice Question.
 
  And here's where the conflict begins.  When looking through a
  big program, I much prefer numeric labels in order with comments vs.
  alphanumeric labels.  With numeric labels in order you find
  1800 and if you're looking for 2000 you know to look farther
  down, 1000, go up.
  With alpha labels if you find SELECT.FILE and are looking for
  UPDATE.FILES, you have nothing but experience to know whether
  to look up or down from there.
 
  Numeric labels are good.  Not ordering or commenting them is
  bad.  And not putting comments around all labels to make them
  more easily distinguished from the rest of the program is
  near unforgiveable.
 
  -K
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
  Elwood Sent: Tuesday, September 27, 2005 12:40 PM
  To: u2-users@listserver.u2ug.org
  Subject: RE: [U2] Good Programming Practice Question.
 
  My addition to this would be to use alphanumeric labels, and
  to *have* a main calling section.  A main calling section
  that looks like:
 
  GOSUB OPEN.AND.INIT
  GOSUB SELECT.FILE
  GOSUB PRE-PROCESS.VALIDITY.CHECKS
  GOSUB PRINT.INVOICES
  GOSUB UPDATE.FILES
 
  Looks so much better and is so easier to figure out than
 
  GOSUB 100
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 1250
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 1375
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 4000
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 9755
  a bunch of statements
  a bunch of statements
  a bunch of statements
 
  IMNSHO - *=aee=*
 ---
 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] Good Programming Practice Question.........

2005-09-27 Thread Mark Johnson
Another good suggestion:
Use:
LAST=DCOUNT(ARRAY,CHAR(253))
FOR I=1 TO LAST
blah
NEXT I
instead of
FOR I=1 TO DCOUNT(ARRAY,CHAR(253))

I know that REMOVE is pretty promoted here but most times I use a FOR/NEXT
loop because I don't want to maintain a separate mv variable for using any
other associated attributes.

My 1 cent.

- Original Message -
From: Keith W. Roberts [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, September 27, 2005 5:14 PM
Subject: RE: [U2] Good Programming Practice Question.


 I most heartily agree!  Numbers in the labels don't elucidate; they merely
 increase the length.  And I'm pretty sure I know that U comes somewhere
 after S. :)

 My $0.02 (on issues ancillary to the code itself) ...

 - make your BP files Type19 (DIR), so you can edit them outside of U2
using
 whatever cotton-pickin' editor you like

 - use source code control; absolutely anything is better than nothing, and
 there are good free ones for all platforms

 - agree on an indentation scheme and stick to it as a group, else
get/create
 a beautifier which enforces the chosen standards before code checkin

 -Keith

 Original Message
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Bill_H
 Sent: Tuesday, September 27, 2005 1:35 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.

  Kevin:
 
  Not if you alphabetize the labels; then it works just like numeric.
  :-)
 
  Bill
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King
  Sent: Tuesday, September 27, 2005 1:04 PM
  To: u2-users@listserver.u2ug.org
  Subject: RE: [U2] Good Programming Practice Question.
 
  And here's where the conflict begins.  When looking through a
  big program, I much prefer numeric labels in order with comments vs.
  alphanumeric labels.  With numeric labels in order you find
  1800 and if you're looking for 2000 you know to look farther
  down, 1000, go up.
  With alpha labels if you find SELECT.FILE and are looking for
  UPDATE.FILES, you have nothing but experience to know whether
  to look up or down from there.
 
  Numeric labels are good.  Not ordering or commenting them is
  bad.  And not putting comments around all labels to make them
  more easily distinguished from the rest of the program is
  near unforgiveable.
 
  -K
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
  Elwood Sent: Tuesday, September 27, 2005 12:40 PM
  To: u2-users@listserver.u2ug.org
  Subject: RE: [U2] Good Programming Practice Question.
 
  My addition to this would be to use alphanumeric labels, and
  to *have* a main calling section.  A main calling section
  that looks like:
 
  GOSUB OPEN.AND.INIT
  GOSUB SELECT.FILE
  GOSUB PRE-PROCESS.VALIDITY.CHECKS
  GOSUB PRINT.INVOICES
  GOSUB UPDATE.FILES
 
  Looks so much better and is so easier to figure out than
 
  GOSUB 100
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 1250
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 1375
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 4000
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 9755
  a bunch of statements
  a bunch of statements
  a bunch of statements
 
  IMNSHO - *=aee=*
 ---
 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] Good Programming Practice Question.........

2005-09-27 Thread Mark Johnson
Another suggestion:

Since the RETURN statement actually has 2 meanings, I add a comment at the
end of the RETURN that concludes a called subroutine, especially if there
are internal subroutines within it.

RETURN ;* TO CALLING PROGRAM

I'm glad we don't have POP and wince when I see RETURN TO.

Mark Johnson
P.S. I would also love to see an analyzer program that identifies whether
OPENed files READ, WRITE, CLEAR and/or DELETE. It could be a comment at the
end of the OPEN statement. Often times I FIND a BP file for CUSTOMER and
WRITE but they're not necessarily attached.

OPEN CUSTOMER TO F.CUSTOMER ELSE STOP ;* RWCD

- Original Message -
From: Keith W. Roberts [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, September 27, 2005 5:14 PM
Subject: RE: [U2] Good Programming Practice Question.


 I most heartily agree!  Numbers in the labels don't elucidate; they merely
 increase the length.  And I'm pretty sure I know that U comes somewhere
 after S. :)

 My $0.02 (on issues ancillary to the code itself) ...

 - make your BP files Type19 (DIR), so you can edit them outside of U2
using
 whatever cotton-pickin' editor you like

 - use source code control; absolutely anything is better than nothing, and
 there are good free ones for all platforms

 - agree on an indentation scheme and stick to it as a group, else
get/create
 a beautifier which enforces the chosen standards before code checkin

 -Keith

 Original Message
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Bill_H
 Sent: Tuesday, September 27, 2005 1:35 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.

  Kevin:
 
  Not if you alphabetize the labels; then it works just like numeric.
  :-)
 
  Bill
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King
  Sent: Tuesday, September 27, 2005 1:04 PM
  To: u2-users@listserver.u2ug.org
  Subject: RE: [U2] Good Programming Practice Question.
 
  And here's where the conflict begins.  When looking through a
  big program, I much prefer numeric labels in order with comments vs.
  alphanumeric labels.  With numeric labels in order you find
  1800 and if you're looking for 2000 you know to look farther
  down, 1000, go up.
  With alpha labels if you find SELECT.FILE and are looking for
  UPDATE.FILES, you have nothing but experience to know whether
  to look up or down from there.
 
  Numeric labels are good.  Not ordering or commenting them is
  bad.  And not putting comments around all labels to make them
  more easily distinguished from the rest of the program is
  near unforgiveable.
 
  -K
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
  Elwood Sent: Tuesday, September 27, 2005 12:40 PM
  To: u2-users@listserver.u2ug.org
  Subject: RE: [U2] Good Programming Practice Question.
 
  My addition to this would be to use alphanumeric labels, and
  to *have* a main calling section.  A main calling section
  that looks like:
 
  GOSUB OPEN.AND.INIT
  GOSUB SELECT.FILE
  GOSUB PRE-PROCESS.VALIDITY.CHECKS
  GOSUB PRINT.INVOICES
  GOSUB UPDATE.FILES
 
  Looks so much better and is so easier to figure out than
 
  GOSUB 100
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 1250
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 1375
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 4000
  a bunch of statements
  a bunch of statements
  a bunch of statements
  GOSUB 9755
  a bunch of statements
  a bunch of statements
  a bunch of statements
 
  IMNSHO - *=aee=*
 ---
 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] Lower case in Unidata basic

2005-09-27 Thread David Tod Sigafoos
David,

just for the info ..

BASIC FILE ITEM -I

is how to compile a program containing lower case.


Tuesday, September 27, 2005, 12:19:21 PM, you wrote:

DTS u2-users,

DTS I have looked for archives at u2ug.org but not found them .. (must be
DTS blind)

DTS I have downloaded pdfs from IBM but i keep getting Universe ..

DTS so I will just ask and take the deserved harassment G

DTS is there a udt.option that allows you to use lower case in unidata
DTS programs?

DTS thanks .. and if anyone has a pointer to the unidata pdfs i would like
DTS it ..


DTS   




-- 
DSig `
David Tod Sigafoos  ( O O )
 ___oOOo__( )__oOOo___

'Politics is like driving. To go backward, put it in R. To go forward, put it 
in D' unknown
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Bill_H
Kevin:

Yes.  For example:

GOSUB INIT.GLOBAL
GOSUB INIT.LOCAL
GOSUB OPEN.FILES
GOSUB GET.CONFIG
.
LOOP
   READNEXT ID ELSE EXIT
   GOSUB READ.DATA
   GOSUB UPDATE.DATA
   GOSUB WRITE.DATA
REPEAT
GOTO END.OF.PROGRAM
.
***
GET.CONFIG:
***
.
RETURN
*
***
INIT.GLOBAL:
***
.
RETURN
*
***
INIT.LOCAL:
***
.
RETURN
*
***
OPEN.FILES:
***
.
RETURN
*
***
READ.DATA:
***
.
RETURN
*
***
UPDATE.DATA:
***
.
RETURN
*
***
WRITE.DATA:
***
.
RETURN
*
***
END.OF.PROGRAM:
***
RETURN (If Subroutine)
END

Hope I didn't create confusion.  :-)

Bill

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King
 Sent: Tuesday, September 27, 2005 1:51 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 alphabetize the labels?  You mean sort?? :-)
 
 -K 
 
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Bill_H
 Sent: Tuesday, September 27, 2005 1:35 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.
 
 Kevin:
 
 Not if you alphabetize the labels; then it works just like numeric.
 :-)
 
 Bill
 ---
 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] Universe and .NET

2005-09-27 Thread Stuart . Boydell
Nick,

We do something similar, have a look at COM+ object pooling (google/msdn).
You can start up a configurable number of sessions (setting common) and
call them from managed classes as required. When processing is quiescent
for a set period of time, the sessions will close.

We're using this method to provide connectivity between our ASPX and
BizTalk services back to UV. We don't have any patches (that I know of on
uodotnet) and throughput is adequate (At least bettering the previous
homebaked UV to UV socket transfer service we were previously running for
speed, manageability and reliability).

We have a ping process which returns a time from an initial ASPX call,
opening or activating a session and calling a UV subroutine to the final
genration of the response message. The first time takes 3-5 seconds, after
that around 300ms.

Also, I believe a future release of U2 will have support for session
pooling built in.

Regards,

Stuart



-Original Message-

From: Nick Cipollina

 The reason that our current processes are so fast is that we read as

 much common data as humanly possible into memory at start-up so there is

 little overhead while the process is running. If I have to call a

 subroutine from .NET, that would actually slow processing down. I need

 to get the data into .NET's memory to do something similar.



**
This email message and any files transmitted with it are confidential
and intended solely for the use of addressed recipient(s). If you have 
received this email in error please notify the Spotless IS Support Centre (+61 
3 9269 7555) immediately, who will advise further action.

This footnote also confirms that this email message has been scanned
for the presence of computer related viruses.

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


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Rex Gozar
I recommend that everyone buy/borrow a copy of Code Complete by Steve
McConnell.  It has several sections dedicated to good coding practices.
Readability is key, since we read programs hundreds of times more than we
write them.  The book offers lots of strategies to improve readability, like
different ways to reduce nested IF's, simplifying LOOP's and CASE
statements, etc. and offers coding horrors to avoid.

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


Re: [U2] Good Programming Practice Question.........

2005-09-27 Thread Dan Fitzgerald

Mark Johnson

P.S. I would also love to see an analyzer program that identifies whether
OPENed files READ, WRITE, CLEAR and/or DELETE. It could be a comment at the
end of the OPEN statement. Often times I FIND a BP file for CUSTOMER and
WRITE but they're not necessarily attached.

I like having a single subroutine that performs all opens  especially one 
for all writes (including DELETES). This gives you better control, including 
the ability to track all writes/opens if or when you need to, and to enforce 
any rules you wish to apply.




Our greatest duty in this life is to help others. And please, if you can't 
help them, could you at least not hurt them? - H.H. the Dalai Lama
When buying  selling are controlled by legislation, the first thing to be 
bought  sold are the legislators - P.J. O'Rourke

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


Re: [U2] Lower case in Unidata basic

2005-09-27 Thread Clifton Oliver
And what is the short answer? Can you or can you not use lower case  
keywords in Unidata BASIC these days?


Thx.


--

Regards,

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


[U2] Herve Balestrieri/France/IBM est absent ce jour Mercredi 28/09/2005 et sera de retour le Jeudi 29/09/2005. In english : is out of office today Wednesday September 28th. I will be back on Thursd

2005-09-27 Thread Herve Balestrieri
I will be out of the office starting  28/09/2005 and will not return until
29/09/2005.

Pour les clients accidant au Support Technique des produits IBM U2,
veuillez renvoyer votre message sur : [EMAIL PROTECTED]
Merci

For non-french speaking customers : If your  IBM U2 products Technical
Support centre is France, please re-send messages to : [EMAIL PROTECTED]
Otherwise, IBM U2 products Technical Support in UK/EMEA email is :
[EMAIL PROTECTED]

Support Technique IBM - Produits U2
IBM Data Management Solutions
Tel.: N0 VERT International   00 800 2535 2535 (France et Belgique)
+44 208 844 3076 (autres pays/other countries)
Fax:  +33 (0) 49 31 45 58
Web: http://www.ibm.com/software/u2/

IBM
Centre de Support Technique IBM Produits U2
7630 - 04S03
Immeuble Marne La Vallie 1
1, Place Jean-Baptiste Climent
93881 Noisy-le-Grand Cedex
France

e-mail Support Technique IBM U2 : [EMAIL PROTECTED]
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Good Programming Practice Question.........

2005-09-27 Thread Jerry Banker
Ugh! My personal preference. The only reason I use mixed case is for 
comments. With Universe differentiating between case (OrderRec is not 
orderrec or ORDERREC) you have to remember the way you mixed the case. Also, 
it makes it easier to recognize the comment lines in the code.

When modifying code if you can't re-write the program always use the same 
standard used in the existing program otherwise it gets confusing to the 
next programmer that picks up the program.

- Original Message - 
From: Brian Leach [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, September 27, 2005 3:48 PM
Subject: RE: [U2] Good Programming Practice Question.


Kevin,

I disagree, for a simple reason:

I use alpha labels that make sense and then place them in the code in
alphabetical order.
Problem solved grin.

Just a few off the top of my head (it's late here):

1. If using UniVerse, use mixed case to encourage readability when scanning
through a program with upper case reserved for constants, common, file and
select variables so they stand out as different, as in:

Fin = @False
Loop
  ReadNext Id From SLIST Else Fin = @True
Until Fin Do
  Read OrderRec From ORDERS, Id Then
GoSub ProcessRecord
  End
Repeat


2. A GoSub should perform a single action. Jumping into a second label
inside a GoSub just sucks.
   Return To should be banned.
3. Have a single exit point from a program or subroutine.
4. Separate out the business logic from the screen processing (if any):
   that way if you want to reengineer the application or reuse the rules in
another context it is so much easier.
5. Hold file variables in named common.
6. Name record variables after the file from which they originate.
7. Equate all field names (preferably automatically) in include files.
   I use the format FILENAME.FIELDNAME to disambiguate e.g.
   EQU CUSTOMER.SURNAME TO 1
   So I can reference:
 CustomerRecCUSTOMER.SURNAME


Above all, be consistent. There are many good practices out there, most of
them are common sense but they only work if applied consistently.

Brian

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King
 Sent: 27 September 2005 21:04
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.

 And here's where the conflict begins.  When looking through a
 big program, I much prefer numeric labels in order with comments vs.
 alphanumeric labels.  With numeric labels in order you find
 1800 and if you're looking for 2000 you know to look farther
 down, 1000, go up.
 With alpha labels if you find SELECT.FILE and are looking for
 UPDATE.FILES, you have nothing but experience to know whether
 to look up or down from there.

 Numeric labels are good.  Not ordering or commenting them is
 bad.  And not putting comments around all labels to make them
 more easily distinguished from the rest of the program is
 near unforgiveable.

 -K

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
 Elwood
 Sent: Tuesday, September 27, 2005 12:40 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.

 My addition to this would be to use alphanumeric labels, and
 to *have* a main calling section.  A main calling section
 that looks like:

 GOSUB OPEN.AND.INIT
 GOSUB SELECT.FILE
 GOSUB PRE-PROCESS.VALIDITY.CHECKS
 GOSUB PRINT.INVOICES
 GOSUB UPDATE.FILES

 Looks so much better and is so easier to figure out than

 GOSUB 100
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1250
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1375
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 4000
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 9755
 a bunch of statements
 a bunch of statements
 a bunch of statements

 IMNSHO - *=aee=*

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of George Gallen
 Sent: Tuesday, September 27, 2005 12:12
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.


 Also, how about a change log at the top of the program
   that lists, who, when and what/why a change was made.

 add to that a short description as to what the function
   of the program is for.

 * this program does .
 *
 *
 * date who changes made
 * date who changes made
 
 *

 George

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of
 Dianne Ackerman
 Sent: Tuesday, September 27, 2005 2:57 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Good Programming Practice Question.


 I like these and would add another one - Add comments to
 tricky-looking code!
 -Dianne

 David A. Green wrote:
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please 

Re[2]: [U2] Lower case in Unidata basic

2005-09-27 Thread David Tod Sigafoos
Clifton,

i posted in a different reply .. i found in the new docs (thanks to
the links i was given) (at same time as my good buddy Dan Fitzgerald
emailed me)

BASIC file item -I

of course this does you no good with FIB from the editor .. but hey
part of a solution is good enough for me G

No very sophisticated .. but 'green screen' 'pickies' wouldn't know
what to do if they counldn't shout at their monitors all day G

Tuesday, September 27, 2005, 3:02:30 PM, you wrote:

CO And what is the short answer? Can you or can you not use lower case  
CO keywords in Unidata BASIC these days?

CO Thx.





-- 
DSig `
David Tod Sigafoos  ( O O )
 ___oOOo__( )__oOOo___

'Politics is like driving. To go backward, put it in R. To go forward, put it 
in D' unknown
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread David A. Green
Bob,

10 lines is a good rule to live by.  There are some exceptions like the
Initialization routine or large CASE structures that have many options.  But
the problem you run into if you don't restrict your lines is you end up
doing more than one thing.  Most of the Pick programming that I've run
across has the subroutines going on and on and on.

Making your subroutines short and precise is a good exercise in good
programming practices.  In Object Oriented Programming we are taught that
more than 3 lines are too much.

Here is an sample program:

 PROGRAM RUN.GUIDE
 * DAG Consulting -- WWW.DAGCONSULTING.COM
 * David A. Green -- 5/2/01
 *
 *
 EQUATE TRUE TO 1, FALSE TO 0
 EQUATE CLR TO @(-1)
 !
 DEBUG.FLAG = TRUE
 !
 GOSUB INIT
 GOSUB PRINT.SCREEN
 GOSUB OPEN.FILES
 !
 IF NOT(ABORT.FLAG) THEN
LOOP
   GOSUB SELECT.RECORDS
   IF TOT.CNT THEN
  LOOP
 READNEXT VOC.KEY ELSE DONE.FLAG = TRUE
  UNTIL DONE.FLAG DO
 GOSUB READ.REC
 IF OK.FLAG THEN GOSUB OPEN.FILE
 IF OK.FLAG THEN GOSUB LOCKFILE
 IF OK.FLAG THEN GOSUB PROCESS.REC
 IF OK.FLAG THEN FILEUNLOCK F.FILE
  REPEAT
   END
   GOSUB END.LOOP.LOGIC
WHILE LATER DO REPEAT
 END
 !
 GOSUB PRINT.TOTALS
 !
 STOP
 !
END.LOOP.LOGIC:
 END.CNT += 1
 IF END.CNT  10 THEN  ;*  Give up after 10 trys, write the
remainder to a list.
PRINT Max tries exceeded, remainder written to list RUN.GUIDE
WRITELIST LATER ON RUN.GUIDE
LATER = 
 END ELSE
IF LATER THEN
   SLEEP 10
   FORMLIST LATER
END
 END
 RETURN
 !
SELECT.RECORDS:
 IF SYSTEM(11) THEN
TOT.CNT = SYSTEM(11)
 END ELSE
CMD  = SSELECT :FNAME: WITH F1 = 'F'
PERFORM CMD CAPTURING BUFF
TOT.CNT = @SYSTEM.RETURN.CODE
 END
 RETURN
 !
READ.REC:
 READ VOC.REC FROM F.VOC, VOC.KEY THEN
OK.FLAG = TRUE
 END ELSE
WAR.CNT  += 1
OK.FLAG   = FALSE
PRINT Warning: File :DQUOTE(VOC.KEY): NOT found in VOC!
 END
 RETURN
 !
OPEN.FILE:
 OPEN VOC.KEY TO F.FILE ELSE
ERR.CNT += 1
OK.FLAG = FALSE
PRINT Can't open :DQUOTE(VOC.KEY):!
 END
 RETURN
 !
LOCKFILE:
 OK.FLAG = TRUE
 FILELOCK F.FILE LOCKED GOSUB LOCKED.FILE
 RETURN
 !
LOCKED.FILE:
 OK.FLAG   = FALSE
 LATER-1 = VOC.KEY
 PRINT Will try :DQUOTE(VOC.KEY): later, file in use.
 RETURN
 !
CHECK.CRITERIA:
 SELECT.OK = TRUE
 *
 * Add Selection Criteria Here if Necessary
 * IF VOC.Dict.Name =  THEN SELECT.OK = FALSE
 *
 RETURN
 !
PROCESS.REC:
 PRO.CNT += 1
 PRINT VOC.KEY:...
 CMD = !guide :VOC.KEY
 GOSUB DO.CMD
 CMD = RENAME.CMD: GUIDE_ADVICE.LIS :VOC.KEY:_GUIDE_ADVICE.LIS
 GOSUB DO.OS.CMD
 CMD = RENAME.CMD: GUIDE_ERRORS.LIS :VOC.KEY:_GUIDE_ERRORS.LIS
 GOSUB DO.OS.CMD
 CMD = RENAME.CMD: GUIDE_STATS.LIS :VOC.KEY:_GUIDE_STATS.LIS
 GOSUB DO.OS.CMD
 CMD = RENAME.CMD: GUIDE_FIXUP.DAT :VOC.KEY:_GUIDE_FIXUP.DAT
 GOSUB DO.OS.CMD
 RETURN
 !
DO.CMD:
 PERFORM CMD CAPTURING BUFF
 RETURN
 !
DO.OS.CMD:
 PCPERFORM CMD CAPTURING BUFF
 RETURN
 !
INIT:
 VOC.REC = 
 ABORT.FLAG = FALSE
 DONE.FLAG  = FALSE
 FNAME  = VOC
 TITLE  = Running guide
 TOT.CNT= 0
 PRO.CNT= 0
 ERR.CNT= 0
 WAR.CNT= 0
 LATER  = 
 END.CNT= 0
 *
 ** OS Specific Settings
 *
 OS.TYPE = SYSTEM(33)
 BEGIN CASE
CASE OS.TYPE = UNIX   ; RENAME.CMD = mv ; FILE.SEP = /
CASE OS.TYPE = Windows NT ; RENAME.CMD = RENAME ; FILE.SEP = \
CASE 1  ; RENAME.CMD = mv ; FILE.SEP = /
 END CASE
 RETURN
 !
PRINT.SCREEN:
 PRINT CLR:TITLE
 RETURN
 !
OPEN.FILES:
 ONAME = VOC ; OPEN '', ONAME TO F.VOC ELSE GOSUB OPEN.ERROR
 RETURN
 !
OPEN.ERROR:
 PRINT Can't open :DQUOTE(ONAME)
 ABORT.FLAG = TRUE
 RETURN
 !
PRINT.TOTALS:
 COL.WIDTH = LEN(TOT.CNT); COL.FMT = COL.WIDTH:R
 PRINT
 PRINT Total Records   : :TOT.CNT COL.FMT
 PRINT Total Processed : :PRO.CNT COL.FMT
 PRINT Total Errors: :ERR.CNT COL.FMT
 PRINT Total Warnings  : :WAR.CNT COL.FMT
 RETURN
 !
END

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bob Woodward
Sent: Tuesday, September 27, 2005 1:30 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

I agree with Kevin, specifically for the reasons he mentions, but I
actually prefer using the alpha-numeric format like S3000.GET.CUSTNAME:
where the S designates it's an internal subroutine, 3000 is the
numeric position value that 

Re[2]: [U2] Good Programming Practice Question.........

2005-09-27 Thread David Tod Sigafoos
 visit http://listserver.u2ug.org/
BL ---
BL u2-users mailing list
BL u2-users@listserver.u2ug.org
BL To unsubscribe please visit http://listserver.u2ug.org/


BL __ NOD32 1.1234 (20050927) Information __

BL This message was checked by NOD32 antivirus system.
BL http://www.eset.com




-- 
DSig `
David Tod Sigafoos  ( O O )
 ___oOOo__( )__oOOo___

...our behavior matters more than the beliefs that we  profess. Elizabeth 
Deutsch Earle
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Keith W. Roberts
Original Message
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Brian Leach
Sent: Tuesday, September 27, 2005 1:49 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

 Kevin,
 
 I disagree, for a simple reason:
 
 I use alpha labels that make sense and then place them in the code in
 alphabetical order. Problem solved grin.
 
 Just a few off the top of my head (it's late here):
 
 1. If using UniVerse, use mixed case to encourage readability
 when scanning
 through a program with upper case reserved for constants,
 common, file and
 select variables so they stand out as different, as in:
 
 Fin = @False
 Loop
   ReadNext Id From SLIST Else Fin = @True
 Until Fin Do
   Read OrderRec From ORDERS, Id Then
 GoSub ProcessRecord
   End
 Repeat

This is style, rather than good coding practice.  To each their own. 

 2. A GoSub should perform a single action. Jumping into a second
label inside a GoSub just sucks. Return To should be banned.

Nothing wrong with nested routines, but in that case RETURN TO is anathema.


This is one of the few really bad design flaws of BASIC, that they chose not
to use a separate keyword for returning from a GOSUB, or at least use a
separate return stack.  For example, if they'd paired: CALL ... RETURN and
GOSUB ... RTN, and CALL pushed to Stack1 and GOSUB to Stack2, then
implementing RETURN *anywhere* in the program would be as simple as CLEAR
Stack2; POP Stack1, and doing a RETURN TO from a secondary or tertiary GOSUB
wouldn't be a problem.

 [snip]
 Above all, be consistent. There are many good practices out
 there, most of
 them are common sense but they only work if applied consistently.

Amen to that.

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


Re[2]: [U2] Good Programming Practice Question.........

2005-09-27 Thread David Tod Sigafoos
Jerry,

Tuesday, September 27, 2005, 3:09:02 PM, you wrote:

JB Ugh! My personal preference. The only reason I use mixed case is for 
JB comments. With Universe differentiating between case (OrderRec is not 
JB orderrec or ORDERREC) you have to remember the way you mixed the case.

you should be able to remember what vars you used .. it becomes habit
.. just like THIS BECOMES A HABIT.

JB Also, it makes it easier to recognize the comment lines in the
JB code.

a good editor with syntax highlighting makes recongizing comments even
easier

JB When modifying code if you can't re-write the program always use the same
JB standard used in the existing program otherwise it gets confusing to the
JB next programmer that picks up the program.

true .. when you are making changes .. but new stuff can start a new
trend.  we used to use punch cards .. but I moved on .. and if I can
move on then anybody can G

-- 
DSig `
David Tod Sigafoos  ( O O )
 ___oOOo__( )__oOOo___
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2][UV] Universe and .NET

2005-09-27 Thread Jahan K. Jamshidi
Nick,
(This maybe double post...)

We use .NET and UniObjects on HP-UX with Universe.
The access time is close to zero.
All of our processes use Call Subroutines.  Opening files and doing
things manually on .NET side will take forever.

At times we have about 10 to 20 thousand students access our site for
ordering books and we have had no problem yet.
https://caesar.aztecshops.com/azshop/tbDefault.aspx

We also have wireless devices use web services provided by .NET (using
UniOjbects).  That process is a little slow, but the problem is the web
services and the fact that everything is running on wireless-B network.

Web server is IIS 6 on W2K3 web edition.
Universe is on HP-UX running Universe.
Connectivity is GB network with firewall.

I'm not aware of any patch release for UniOjbects.

Hope this helped.

 
--
Jahan K. Jamshidi
MIS Director
Aztec Shops LTD
San Diego State University
619.594.7492
--
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Tuesday, September 27, 2005 2:52 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2][UV] Universe and .NET

Nick,

We do something similar, have a look at COM+ object pooling
(google/msdn).
You can start up a configurable number of sessions (setting common) and
call them from managed classes as required. When processing is quiescent
for a set period of time, the sessions will close.

We're using this method to provide connectivity between our ASPX and
BizTalk services back to UV. We don't have any patches (that I know of
on
uodotnet) and throughput is adequate (At least bettering the previous
homebaked UV to UV socket transfer service we were previously running
for
speed, manageability and reliability).

We have a ping process which returns a time from an initial ASPX call,
opening or activating a session and calling a UV subroutine to the
final
genration of the response message. The first time takes 3-5 seconds,
after
that around 300ms.

Also, I believe a future release of U2 will have support for session
pooling built in.

Regards,

Stuart



-Original Message-

From: Nick Cipollina

 The reason that our current processes are so fast is that we read as

 much common data as humanly possible into memory at start-up so there
is

 little overhead while the process is running. If I have to call a

 subroutine from .NET, that would actually slow processing down. I need

 to get the data into .NET's memory to do something similar.



**
This email message and any files transmitted with it are confidential
and intended solely for the use of addressed recipient(s). If you have 
received this email in error please notify the Spotless IS Support
Centre (+61 3 9269 7555) immediately, who will advise further action.

This footnote also confirms that this email message has been scanned
for the presence of computer related viruses.

**
---
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] Good Programming Practice Question.........

2005-09-27 Thread Nancy Fisher

RETURN with a comment..that is an excellent suggestion.

Nancy

- Original Message - 
From: Mark Johnson [EMAIL PROTECTED]

To: u2-users@listserver.u2ug.org
Sent: Tuesday, September 27, 2005 2:51 PM
Subject: Re: [U2] Good Programming Practice Question.



Another suggestion:

Since the RETURN statement actually has 2 meanings, I add a comment at the
end of the RETURN that concludes a called subroutine, especially if there
are internal subroutines within it.

RETURN ;* TO CALLING PROGRAM

I'm glad we don't have POP and wince when I see RETURN TO.

Mark Johnson
P.S. I would also love to see an analyzer program that identifies whether
OPENed files READ, WRITE, CLEAR and/or DELETE. It could be a comment at 
the

end of the OPEN statement. Often times I FIND a BP file for CUSTOMER and
WRITE but they're not necessarily attached.

OPEN CUSTOMER TO F.CUSTOMER ELSE STOP ;* RWCD

- Original Message -
From: Keith W. Roberts [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, September 27, 2005 5:14 PM
Subject: RE: [U2] Good Programming Practice Question.


I most heartily agree!  Numbers in the labels don't elucidate; they 
merely

increase the length.  And I'm pretty sure I know that U comes somewhere
after S. :)

My $0.02 (on issues ancillary to the code itself) ...

- make your BP files Type19 (DIR), so you can edit them outside of U2

using

whatever cotton-pickin' editor you like

- use source code control; absolutely anything is better than nothing, 
and

there are good free ones for all platforms

- agree on an indentation scheme and stick to it as a group, else

get/create

a beautifier which enforces the chosen standards before code checkin

-Keith

Original Message
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bill_H
Sent: Tuesday, September 27, 2005 1:35 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

 Kevin:

 Not if you alphabetize the labels; then it works just like numeric.
 :-)

 Bill

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King
 Sent: Tuesday, September 27, 2005 1:04 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.

 And here's where the conflict begins.  When looking through a
 big program, I much prefer numeric labels in order with comments vs.
 alphanumeric labels.  With numeric labels in order you find
 1800 and if you're looking for 2000 you know to look farther
 down, 1000, go up.
 With alpha labels if you find SELECT.FILE and are looking for
 UPDATE.FILES, you have nothing but experience to know whether
 to look up or down from there.

 Numeric labels are good.  Not ordering or commenting them is
 bad.  And not putting comments around all labels to make them
 more easily distinguished from the rest of the program is
 near unforgiveable.

 -K

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
 Elwood Sent: Tuesday, September 27, 2005 12:40 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Good Programming Practice Question.

 My addition to this would be to use alphanumeric labels, and
 to *have* a main calling section.  A main calling section
 that looks like:

 GOSUB OPEN.AND.INIT
 GOSUB SELECT.FILE
 GOSUB PRE-PROCESS.VALIDITY.CHECKS
 GOSUB PRINT.INVOICES
 GOSUB UPDATE.FILES

 Looks so much better and is so easier to figure out than

 GOSUB 100
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1250
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 1375
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 4000
 a bunch of statements
 a bunch of statements
 a bunch of statements
 GOSUB 9755
 a bunch of statements
 a bunch of statements
 a bunch of statements

 IMNSHO - *=aee=*
---
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/


[OT]RE: Re[2]: [U2] Good Programming Practice Question.........

2005-09-27 Thread Dan Fitzgerald

true .. when you are making changes .. but new stuff can start a new
trend.  we used to use punch cards .. but I moved on .. and if I can
move on then anybody can G



You don't use punch cards? How do you make your programs run?



Our greatest duty in this life is to help others. And please, if you can't 
help them, could you at least not hurt them? - H.H. the Dalai Lama
When buying  selling are controlled by legislation, the first thing to be 
bought  sold are the legislators - P.J. O'Rourke

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


Re: [U2] Lower case in Unidata basic

2005-09-27 Thread Dan Fitzgerald
Yes, the BASIC -I option. The only drawback, according to TFM, is that it 
won't check for keyword usage in the code if you use the -I. So you can use 
OPEN and DELETE as variable names. ;)




Our greatest duty in this life is to help others. And please, if you can't 
help them, could you at least not hurt them? - H.H. the Dalai Lama
When buying  selling are controlled by legislation, the first thing to be 
bought  sold are the legislators - P.J. O'Rourke

Dan Fitzgerald






From: Clifton Oliver [EMAIL PROTECTED]
Reply-To: u2-users@listserver.u2ug.org
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Lower case in Unidata basic
Date: Tue, 27 Sep 2005 17:02:30 -0500

And what is the short answer? Can you or can you not use lower case  
keywords in Unidata BASIC these days?


Thx.


--

Regards,

Clif
---
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: [ ] - RE: [U2] Good Programming Practice Question......... - Found word(s) list error in the Text body

2005-09-27 Thread Bob Woodward
Hi David,

I guess we'll have to just disagree on this point as I see our
definition of a single task as being different.  Although Basic can be
treated as an object oriented environment, I do not think the majority
of basic programmers do that, but that's just my unconfirmed belief.

I'll let you keep the (approximately) 10-line rule in your standards and
I'll assume you'll let me keep it out of mine.

Thanks.

BobW


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] On Behalf Of David A. Green
 Sent: Tuesday, September 27, 2005 3:15 PM
 To: u2-users@listserver.u2ug.org
 Subject: [ ] - RE: [U2] Good Programming Practice Question. -
 Found word(s) list error in the Text body
 
 Bob,
 
 10 lines is a good rule to live by.  There are some exceptions like
the
 Initialization routine or large CASE structures that have many
options.
 But
 the problem you run into if you don't restrict your lines is you end
up
 doing more than one thing.  Most of the Pick programming that I've run
 across has the subroutines going on and on and on.
 
 Making your subroutines short and precise is a good exercise in good
 programming practices.  In Object Oriented Programming we are taught
that
 more than 3 lines are too much.
 
 Here is an sample program:
 
  PROGRAM RUN.GUIDE
  * DAG Consulting -- WWW.DAGCONSULTING.COM
  * David A. Green -- 5/2/01
  *
  *
  EQUATE TRUE TO 1, FALSE TO 0
  EQUATE CLR TO @(-1)
  !
  DEBUG.FLAG = TRUE
  !
  GOSUB INIT
  GOSUB PRINT.SCREEN
  GOSUB OPEN.FILES
  !
  IF NOT(ABORT.FLAG) THEN
 LOOP
GOSUB SELECT.RECORDS
IF TOT.CNT THEN
   LOOP
  READNEXT VOC.KEY ELSE DONE.FLAG = TRUE
   UNTIL DONE.FLAG DO
  GOSUB READ.REC
  IF OK.FLAG THEN GOSUB OPEN.FILE
  IF OK.FLAG THEN GOSUB LOCKFILE
  IF OK.FLAG THEN GOSUB PROCESS.REC
  IF OK.FLAG THEN FILEUNLOCK F.FILE
   REPEAT
END
GOSUB END.LOOP.LOGIC
 WHILE LATER DO REPEAT
  END
  !
  GOSUB PRINT.TOTALS
  !
  STOP
  !
 END.LOOP.LOGIC:
  END.CNT += 1
  IF END.CNT  10 THEN  ;*  Give up after 10 trys, write
the
 remainder to a list.
 PRINT Max tries exceeded, remainder written to list
RUN.GUIDE
 WRITELIST LATER ON RUN.GUIDE
 LATER = 
  END ELSE
 IF LATER THEN
SLEEP 10
FORMLIST LATER
 END
  END
  RETURN
  !
 SELECT.RECORDS:
  IF SYSTEM(11) THEN
 TOT.CNT = SYSTEM(11)
  END ELSE
 CMD  = SSELECT :FNAME: WITH F1 = 'F'
 PERFORM CMD CAPTURING BUFF
 TOT.CNT = @SYSTEM.RETURN.CODE
  END
  RETURN
  !
 READ.REC:
  READ VOC.REC FROM F.VOC, VOC.KEY THEN
 OK.FLAG = TRUE
  END ELSE
 WAR.CNT  += 1
 OK.FLAG   = FALSE
 PRINT Warning: File :DQUOTE(VOC.KEY): NOT found in VOC!
  END
  RETURN
  !
 OPEN.FILE:
  OPEN VOC.KEY TO F.FILE ELSE
 ERR.CNT += 1
 OK.FLAG = FALSE
 PRINT Can't open :DQUOTE(VOC.KEY):!
  END
  RETURN
  !
 LOCKFILE:
  OK.FLAG = TRUE
  FILELOCK F.FILE LOCKED GOSUB LOCKED.FILE
  RETURN
  !
 LOCKED.FILE:
  OK.FLAG   = FALSE
  LATER-1 = VOC.KEY
  PRINT Will try :DQUOTE(VOC.KEY): later, file in use.
  RETURN
  !
 CHECK.CRITERIA:
  SELECT.OK = TRUE
  *
  * Add Selection Criteria Here if Necessary
  * IF VOC.Dict.Name =  THEN SELECT.OK = FALSE
  *
  RETURN
  !
 PROCESS.REC:
  PRO.CNT += 1
  PRINT VOC.KEY:...
  CMD = !guide :VOC.KEY
  GOSUB DO.CMD
  CMD = RENAME.CMD: GUIDE_ADVICE.LIS :VOC.KEY:_GUIDE_ADVICE.LIS
  GOSUB DO.OS.CMD
  CMD = RENAME.CMD: GUIDE_ERRORS.LIS :VOC.KEY:_GUIDE_ERRORS.LIS
  GOSUB DO.OS.CMD
  CMD = RENAME.CMD: GUIDE_STATS.LIS :VOC.KEY:_GUIDE_STATS.LIS
  GOSUB DO.OS.CMD
  CMD = RENAME.CMD: GUIDE_FIXUP.DAT :VOC.KEY:_GUIDE_FIXUP.DAT
  GOSUB DO.OS.CMD
  RETURN
  !
 DO.CMD:
  PERFORM CMD CAPTURING BUFF
  RETURN
  !
 DO.OS.CMD:
  PCPERFORM CMD CAPTURING BUFF
  RETURN
  !
 INIT:
  VOC.REC = 
  ABORT.FLAG = FALSE
  DONE.FLAG  = FALSE
  FNAME  = VOC
  TITLE  = Running guide
  TOT.CNT= 0
  PRO.CNT= 0
  ERR.CNT= 0
  WAR.CNT= 0
  LATER  = 
  END.CNT= 0
  *
  ** OS Specific Settings
  *
  OS.TYPE = SYSTEM(33)
  BEGIN CASE
 CASE OS.TYPE = UNIX   ; RENAME.CMD = mv ; FILE.SEP
=
 /
 CASE OS.TYPE = Windows NT ; RENAME.CMD = RENAME ; FILE.SEP
=
 \
 CASE 1  ; RENAME.CMD = mv ; FILE.SEP
=
 /
  END CASE
  RETURN
  !
 PRINT.SCREEN:
  PRINT CLR:TITLE
  RETURN
  !
 OPEN.FILES:
  ONAME = VOC ; OPEN '', ONAME 

RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Kevin King
I haven't heard it said (much) lately so if I missed it, forgive me.

STANDARDS ARE ESSENTIAL

I have standards for structure, header/commenting, everything
including variable names.  Everything is done with purpose and
according to standard, which makes it very easy to recognize code and
its meaning months - even years - after it's been written.  Today in
particular I'm into code that I wrote in 1993 and it's as fresh as if
it were written today.

-K

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Gordon J
Glorfield
Sent: Tuesday, September 27, 2005 2:17 PM
To: u2-users@listserver.u2ug.org
Cc: [EMAIL PROTECTED]; u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

I prefer alphanumeric labels for subroutines.  The label should give
some clue as to the function of the subroutine.  The subroutines
should be in frequency of use order with the most commonly used closer
to the top of the program.  Subroutines that are used once in a
program (file opens, variable initialization, etc...) are located near
the bottom. 


Gordon J. Glorfield
Sr. Applications Developer
MAMSI (A UnitedHealth Company)
301-360-8839

[EMAIL PROTECTED] wrote on 09/27/2005 04:35:12 PM:

 Kevin:

 Not if you alphabetize the labels; then it works just like numeric.

 :-)

 Bill

[SNIP]


This e-mail, including attachments, may include confidential and/or
proprietary information, and may be used only by the person or entity
to which it is addressed. If the reader of this e-mail is not the
intended recipient or his or her authorized agent, the reader is
hereby notified that any dissemination, distribution or copying of
this e-mail is prohibited. If you have received this e-mail in error,
please notify the sender by replying to this message and delete this
e-mail immediately.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date:
9/26/2005
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [OT]RE: Re[2]: [U2] Good Programming Practice Question.........

2005-09-27 Thread David Tod Sigafoos
Dan,

Tuesday, September 27, 2005, 3:39:21 PM, you wrote:

true .. when you are making changes .. but new stuff can start a new
trend.  we used to use punch cards .. but I moved on .. and if I can
move on then anybody can G


DF You don't use punch cards? How do you make your programs run?


i send them to my guru buddies and let them make them run ..


-- 
DSig `
David Tod Sigafoos  ( O O )
 ___oOOo__( )__oOOo___

...our behavior matters more than the beliefs that we  profess. Elizabeth 
Deutsch Earle
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Good Programming Practice Question.........

2005-09-27 Thread jbutera
 RETURN with a comment..that is an excellent suggestion.

I'd argue that any END statement that's more than a handful (8-10) lines
from the opening IF (or whatever) statement should have a comment.

Here's an example (that's not long enough to satisfy my 'handful' argument
above):

   IF XOOS.ALL.COURSES='Y' THEN

  some lines of code

   END ELSE ;* IF XOOS.ALL.COURSES='Y' THEN

  some lines of code

   END ;* IF XOOS.ALL.COURSES='Y' THEN

Jeff Butera, Ph.D.
Administrative Systems
Hampshire College
[EMAIL PROTECTED]
413-559-5556

...our behavior matters more than the beliefs that we profess.
Elizabeth Deutsch Earle
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] Old IBM RT

2005-09-27 Thread Jim Garratt
I worked for a company which had at lease 10 machines working. I would
suggest that you contact Carl Keogh at Austral Bricks in Perth Western
Australia who aquired the old Bristile company. When I left 8 years ago they
had just decomisioned two of the IBM RT's running Pick OA 2.02 and System
Builder.

Unfortunately your request came too late by 6 months. I had a fully
operating model I put together from parts that I send to the tip including
the 40kg of manuals and operating system disks that went with it. It was not
running Pick but Unix.

If you are going to load pick on an RT you will need the access code, else
you will not be able to load the mini disks, unless the operating system is
still on the hard drive. The system could take a configuration of 1 x 310mb
Hard Disk to 3 x 310 MB Hard Disks. The mini disks are stored on any of the
drives installed. You will also need the the Virtual Disks 1  2 if you want
to run Pick OA.

Regards

Jim Garratt

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Clifton Oliver
 Sent: Saturday, 24 September 2005 11:39 PM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Fwd: U2 to be posted


 Posted for another U2 user.

 Begin forwarded message:

  From: Henry Keultjes [EMAIL PROTECTED]
  Date: September 24, 2005 5:39:49 AM PDT
  To: Clifton Oliver [EMAIL PROTECTED]
  Subject: U2 to be posted
 
 
  Wanted:  Pick Open Architecture for IBM RT
 
  Pick Open Architecture on the IBM RT was a historic turning point
  away from native Pick and also the first Pick to run on a RISC
  platform.  We are trying to preserve some of that history by
  restoring at least one RT model to an operating condition.  Please
  contact Henry Keultjes at 419-571-9127 or hbkeultjes(at)earthlink
  (dot)net if you are willing to contribute any Pick related items or
  if you know of someone who could.
 
  Tax deductable contributions can be made to BrainTree, a 501(C)(3)
  non-profit organization http://www.braintreepartners.org/
  braintreeitalliance.htm
 
  Database Scientifics Project
  c/o BrainTree
  201 East Fifth Street
  Mansfield OH 44902
 
 
  .
 
 
  Clifton Oliver wrote:
 
 
  Sure. Write it as you want it posted, and I'll forward it verbatim
  to  the list.
 ---
 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] Lower case in Unidata basic

2005-09-27 Thread Laura Hirsh
David, and U2-Users:

There is now a link on the u2ug.org home page to the IBM documentation page.
It's in the column at the left. In addition, you'll also now find a direct
link to the searchable archives (BTW, thanks to Lee Leitner and Infocus for
providing this service). We really want to make the u2ug.org site work for
the group, so any other ideas, suggestions, or contributions would be great!
And so that we don't clutter up this group, either post your
ideas/suggestions in the u2ug Web site design forum, or email me directly.

Thanks!
Laura Hirsh
U2UG Board Member

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David Tod Sigafoos
Sent: Tuesday, September 27, 2005 3:19 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] Lower case in Unidata basic

u2-users,

I have looked for archives at u2ug.org but not found them .. (must be
blind)

I have downloaded pdfs from IBM but i keep getting Universe ..

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date: 9/26/2005
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Womack, Adrian
We also use xnn.meaningful.name type labels. One advantage is that our
editor can recognise a label and putting the cursor on a line that
includes a GOSUB and pressing one function key will move the cursor
directly to the correct paragraph.

One thing I've never agreed with (except in COBOL) is every internal
subroutine should only have on exit point - why?

What is wrong with...

B00.PROCESS:

READ REC1 FROM file1,id1
   ELSE RETURN

READ REC2 FROM file2,id2
   ELSE RETURN

IF some.condition
   THEN RETURN

some more statements
that actually do the work with REC1  REC2

RETURN


The early RETURNs are just getting out of the routine on abnormal
conditions, the alternative would be to nest the code - but code nested
more than a couple of tabs deep is *much* harder to read.


AdrianW


DISCLAIMER:
Disclaimer.  This e-mail is private and confidential. If you are not the 
intended recipient, please advise us by return e-mail immediately, and delete 
the e-mail and any attachments without using or disclosing the contents in any 
way. The views expressed in this e-mail are those of the author, and do not 
represent those of this company unless this is clearly indicated. You should 
scan this e-mail and any attachments for viruses. This company accepts no 
liability for any direct or indirect damage or loss resulting from the use of 
any attachments to this e-mail.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Marc Harbeson
This is where the FIND command becomes handy



From: [EMAIL PROTECTED] on behalf of Kevin King
Sent: Tue 9/27/2005 4:03 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.



And here's where the conflict begins.  When looking through a big
program, I much prefer numeric labels in order with comments vs.
alphanumeric labels.  With numeric labels in order you find 1800 and
if you're looking for 2000 you know to look farther down, 1000, go up.
With alpha labels if you find SELECT.FILE and are looking for
UPDATE.FILES, you have nothing but experience to know whether to look
up or down from there.

Numeric labels are good.  Not ordering or commenting them is bad.  And
not putting comments around all labels to make them more easily
distinguished from the rest of the program is near unforgiveable.

-K

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
Elwood
Sent: Tuesday, September 27, 2005 12:40 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

My addition to this would be to use alphanumeric labels, and to *have*
a main calling section.  A main calling section that looks like:

GOSUB OPEN.AND.INIT
GOSUB SELECT.FILE
GOSUB PRE-PROCESS.VALIDITY.CHECKS
GOSUB PRINT.INVOICES
GOSUB UPDATE.FILES

Looks so much better and is so easier to figure out than

GOSUB 100
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1250
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1375
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 4000
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 9755
a bunch of statements
a bunch of statements
a bunch of statements

IMNSHO - *=aee=*

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of George Gallen
Sent: Tuesday, September 27, 2005 12:12
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.


Also, how about a change log at the top of the program
  that lists, who, when and what/why a change was made.

add to that a short description as to what the function
  of the program is for.

* this program does .
*
*
* date who changes made
* date who changes made

*

George

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Dianne
Ackerman
Sent: Tuesday, September 27, 2005 2:57 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.


I like these and would add another one - Add comments to
tricky-looking code!
-Dianne

David A. Green wrote:
---
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/

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date:
9/26/2005
---
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] Good Programming Practice Question.........

2005-09-27 Thread Marc Harbeson
Allen:
 
I know we've seen the same crappy code LOL  



From: [EMAIL PROTECTED] on behalf of Allen E. Elwood
Sent: Tue 9/27/2005 4:27 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.



AhI always put my subroutines in the same order as they are in the main
calling section.  And using Accuterm, if you highlight the SELECT.FILE
portion of the GOSUB SELECT.FILE, then hit CTRL-F it puts SELECT.FILE in
there for you and Bingo, you're there.

I get tired of the redundancy of using

GOSUB 100 ; * Display Page

instead of

GOSUB DISPLAY.PAGE

And and andI've seen PLENTY of programs where 2200 was below 4000 -
sad - but true!!

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Kevin King
Sent: Tuesday, September 27, 2005 13:04
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.


And here's where the conflict begins.  When looking through a big
program, I much prefer numeric labels in order with comments vs.
alphanumeric labels.  With numeric labels in order you find 1800 and
if you're looking for 2000 you know to look farther down, 1000, go up.
With alpha labels if you find SELECT.FILE and are looking for
UPDATE.FILES, you have nothing but experience to know whether to look
up or down from there.

Numeric labels are good.  Not ordering or commenting them is bad.  And
not putting comments around all labels to make them more easily
distinguished from the rest of the program is near unforgiveable.

-K

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Allen E.
Elwood
Sent: Tuesday, September 27, 2005 12:40 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.

My addition to this would be to use alphanumeric labels, and to *have*
a main calling section.  A main calling section that looks like:

GOSUB OPEN.AND.INIT
GOSUB SELECT.FILE
GOSUB PRE-PROCESS.VALIDITY.CHECKS
GOSUB PRINT.INVOICES
GOSUB UPDATE.FILES

Looks so much better and is so easier to figure out than

GOSUB 100
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1250
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 1375
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 4000
a bunch of statements
a bunch of statements
a bunch of statements
GOSUB 9755
a bunch of statements
a bunch of statements
a bunch of statements

IMNSHO - *=aee=*

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of George Gallen
Sent: Tuesday, September 27, 2005 12:12
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] Good Programming Practice Question.


Also, how about a change log at the top of the program
  that lists, who, when and what/why a change was made.

add to that a short description as to what the function
  of the program is for.

* this program does .
*
*
* date who changes made
* date who changes made

*

George

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Dianne
Ackerman
Sent: Tuesday, September 27, 2005 2:57 PM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.


I like these and would add another one - Add comments to
tricky-looking code!
-Dianne

David A. Green wrote:
---
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/

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date:
9/26/2005
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] Blink Error

2005-09-27 Thread Anmol Chandrakant Khopade
Hi,

I am receiving the following error:

Computed blink of 0xB44 does not match expected blink of 0x0!

Detected within group starting at address 0x8000!

Internal data error.

I am having a 2GB Data 30 file, which got locked due to unix restriction on 
file size.

A unibasic program has been written to purge the data in this file.

I imported the 2GB file to another universe box which is a replica of the 
original box and also contains the above file, and reconfigured the VOC pointer 
of the local file to point to the 2GB file.

This error came in while selecting the records.

Please let me know if any one knows a work around or has any information about 
this.

Thanks in advance

Warm regards

Anmol



 CAUTION - Disclaimer *
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely 
for the use of the addressee(s). If you are not the intended recipient, please 
notify the sender by e-mail and delete the original message. Further, you are 
not to copy, disclose, or distribute this e-mail or its contents to any other 
person and any such actions are unlawful. This e-mail may contain viruses. 
Infosys has taken every reasonable precaution to minimize this risk, but is not 
liable for any damage you may sustain as a result of any virus in this e-mail. 
You should carry out your own virus checks before opening the e-mail or 
attachment. Infosys reserves the right to monitor and review the content of all 
messages sent to or from this e-mail address. Messages sent to or from this 
e-mail address may be stored on the Infosys e-mail system.
***INFOSYS End of Disclaimer INFOSYS***
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re[2]: [U2] Lower case in Unidata basic

2005-09-27 Thread David Tod Sigafoos
Laura,

what .. Lee is still around .. who would've guessed G

Tuesday, September 27, 2005, 5:22:05 PM, you wrote:

LH David, and U2-Users:

LH There is now a link on the u2ug.org home page to the IBM documentation page.
LH It's in the column at the left. In addition, you'll also now find a direct
LH link to the searchable archives (BTW, thanks to Lee Leitner and Infocus for
LH providing this service). We really want to make the u2ug.org site work for
LH the group, so any other ideas, suggestions, or contributions would be great!
LH And so that we don't clutter up this group, either post your
LH ideas/suggestions in the u2ug Web site design forum, or email me directly.

LH Thanks!
LH Laura Hirsh
LH U2UG Board Member

LH -Original Message-
LH From: [EMAIL PROTECTED]
LH [mailto:[EMAIL PROTECTED] On Behalf Of David Tod Sigafoos
LH Sent: Tuesday, September 27, 2005 3:19 PM
LH To: u2-users@listserver.u2ug.org
LH Subject: [U2] Lower case in Unidata basic

LH u2-users,

LH I have looked for archives at u2ug.org but not found them .. (must be
LH blind)

LH I have downloaded pdfs from IBM but i keep getting Universe ..




-- 
DSig `
David Tod Sigafoos  ( O O )
 ___oOOo__( )__oOOo___

...our behavior matters more than the beliefs that we  profess. Elizabeth 
Deutsch Earle
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] Good Programming Practice Question.........

2005-09-27 Thread Womack, Adrian
I hope you're joking - talk about making code unreadable, comments that
look like code are (IMO) a very BAD idea. The indentation level makes it
perfectly clear what goes with what, and if it doesn't then change the
structure of the code.

IMO
   IF XOOS.ALL.COURSES='Y' THEN

  some lines of code

   END ELSE ;* IF XOOS.ALL.COURSES='Y' THEN

  some lines of code

   END ;* IF XOOS.ALL.COURSES='Y' THEN

is much less clear than my preferred way of formatting the same
structure:

IF XOOS.ALL.COURSES = Y
THEN
 some lines of code
END
ELSE
 some lines of code
END

I can easily see the start and end of both the THEN block and the ELSE
block and also easily see to which condition they belong.

The same structure can be used for ALL conditional statements and each
block is always easy to find and associate with it's starting statement,
eg:

READU record FROM file,id
ON ERROR
 statements
END
LOCKED
 statements
END
THEN
 statements
END
ELSE
 statements
END


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Wednesday, 28 September 2005 7:11 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Good Programming Practice Question.

 RETURN with a comment..that is an excellent suggestion.

I'd argue that any END statement that's more than a handful (8-10) lines
from the opening IF (or whatever) statement should have a comment.

Here's an example (that's not long enough to satisfy my 'handful'
argument
above):

   IF XOOS.ALL.COURSES='Y' THEN

  some lines of code

   END ELSE ;* IF XOOS.ALL.COURSES='Y' THEN

  some lines of code

   END ;* IF XOOS.ALL.COURSES='Y' THEN

Jeff Butera, Ph.D.
Administrative Systems
Hampshire College
[EMAIL PROTECTED]
413-559-5556

...our behavior matters more than the beliefs that we profess.
Elizabeth Deutsch Earle
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


DISCLAIMER:
Disclaimer.  This e-mail is private and confidential. If you are not the 
intended recipient, please advise us by return e-mail immediately, and delete 
the e-mail and any attachments without using or disclosing the contents in any 
way. The views expressed in this e-mail are those of the author, and do not 
represent those of this company unless this is clearly indicated. You should 
scan this e-mail and any attachments for viruses. This company accepts no 
liability for any direct or indirect damage or loss resulting from the use of 
any attachments to this e-mail.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] UD, MD5 Hash algoritm

2005-09-27 Thread Craig Bennett

Bjorn,

the past few releases of UD have allowed the use of the ENCRYPT function 
specifically for MD5 hashing.


I have some source code that Dave Meagher wrote. It claims to do 
encryption (BLOWFISH, CIPHER, ICRYPT, IDEA) and hashing (MD5, SHA1). I 
have no idea if it works but I can send it to you if you would like.


From memory these have to do all sorts of fiddly things because UV/UD 
don't support unsigned 32bit integers.


The UD routines which call openssl will be several orders of magnitude 
faster.



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


Re: [U2] Blink Error - Backward Link error

2005-09-27 Thread Stephen O'Neal
Anmol,

I don't have good news.

You have a broken file due to a mismatched backward link (blink).  This 
occurred when the file attempted to expand past the 2gb limit on a static 
file by trying to extend an overflow block.

Any attempt to SELECT or SSELECT the file will fail when it reaches the 
broken group.   :^(

Your alternatives at this point are:
1) restore the last know valid backup of the file and rebuild the data
2) contact the company where you purchased your U2 licenses.  Their U2 
Support organization will put you in touch with someone that can fix the 
file (for a fee).  When they fix the file, the file will be truncated at 
the group where this occurred.  This can be anywhere in the file, because 
the group extended for overflow can be anywhere in the file.  You may end 
up with a file that is considerably smaller than your original file!

A wake up call for others:  Watch out for your 2gb file limits on static 
files.

Good luck in recovering your data!

Regards,
   Steve

   Stephen M. O'Neal, CDP   IBM U2 Certified
   Services Sales Specialist
   North America U2 Lab Services
   Information Management, IBM Software Group




Anmol Chandrakant Khopade [EMAIL PROTECTED] 
Sent by: [EMAIL PROTECTED]
09/27/2005 07:37 PM
Please respond to
u2-users


To
u2-users@listserver.u2ug.org
cc

Subject
[U2] Blink Error






Hi,

I am receiving the following error:

Computed blink of 0xB44 does not match expected blink of 0x0!

Detected within group starting at address 0x8000!

Internal data error.

I am having a 2GB Data 30 file, which got locked due to unix restriction 
on file size.

A unibasic program has been written to purge the data in this file.

I imported the 2GB file to another universe box which is a replica of the 
original box and also contains the above file, and reconfigured the VOC 
pointer of the local file to point to the 2GB file.

This error came in while selecting the records.

Please let me know if any one knows a work around or has any information 
about this.

Thanks in advance

Warm regards

Anmol



 CAUTION - Disclaimer *
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended 
solely for the use of the addressee(s). If you are not the intended 
recipient, please notify the sender by e-mail and delete the original 
message. Further, you are not to copy, disclose, or distribute this e-mail 
or its contents to any other person and any such actions are unlawful. 
This e-mail may contain viruses. Infosys has taken every reasonable 
precaution to minimize this risk, but is not liable for any damage you may 
sustain as a result of any virus in this e-mail. You should carry out your 
own virus checks before opening the e-mail or attachment. Infosys reserves 
the right to monitor and review the content of all messages sent to or 
from this e-mail address. Messages sent to or from this e-mail address may 
be stored on the Infosys e-mail system.
***INFOSYS End of Disclaimer INFOSYS***
---
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] Blink Error - Backward Link error

2005-09-27 Thread karlp
Correction, you should only see loss of data after the BLINK error in he
affected group only.

Karl Pearson
Senior uniVerse DBA and one who cut his teeth fixing blinks by hand
(thanks to Mark Baldridge and Joel Yates).

quote who=Stephen O'Neal
 Anmol,

 I don't have good news.

 You have a broken file due to a mismatched backward link (blink).  This
 occurred when the file attempted to expand past the 2gb limit on a static
 file by trying to extend an overflow block.

 Any attempt to SELECT or SSELECT the file will fail when it reaches the
 broken group.   :^(

 Your alternatives at this point are:
 1) restore the last know valid backup of the file and rebuild the data
 2) contact the company where you purchased your U2 licenses.  Their U2
 Support organization will put you in touch with someone that can fix the
 file (for a fee).  When they fix the file, the file will be truncated at
 the group where this occurred.  This can be anywhere in the file, because
 the group extended for overflow can be anywhere in the file.  You may end
 up with a file that is considerably smaller than your original file!

 A wake up call for others:  Watch out for your 2gb file limits on static
 files.

 Good luck in recovering your data!

 Regards,
Steve

Stephen M. O'Neal, CDP   IBM U2 Certified
Services Sales Specialist
North America U2 Lab Services
Information Management, IBM Software Group




 Anmol Chandrakant Khopade [EMAIL PROTECTED]
 Sent by: [EMAIL PROTECTED]
 09/27/2005 07:37 PM
 Please respond to
 u2-users


 To
 u2-users@listserver.u2ug.org
 cc

 Subject
 [U2] Blink Error






 Hi,

 I am receiving the following error:

 Computed blink of 0xB44 does not match expected blink of 0x0!

 Detected within group starting at address 0x8000!

 Internal data error.

 I am having a 2GB Data 30 file, which got locked due to unix restriction
 on file size.

 A unibasic program has been written to purge the data in this file.

 I imported the 2GB file to another universe box which is a replica of the
 original box and also contains the above file, and reconfigured the VOC
 pointer of the local file to point to the 2GB file.

 This error came in while selecting the records.

 Please let me know if any one knows a work around or has any information
 about this.

 Thanks in advance

 Warm regards

 Anmol



  CAUTION - Disclaimer *
 This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended
 solely for the use of the addressee(s). If you are not the intended
 recipient, please notify the sender by e-mail and delete the original
 message. Further, you are not to copy, disclose, or distribute this e-mail
 or its contents to any other person and any such actions are unlawful.
 This e-mail may contain viruses. Infosys has taken every reasonable
 precaution to minimize this risk, but is not liable for any damage you may
 sustain as a result of any virus in this e-mail. You should carry out your
 own virus checks before opening the e-mail or attachment. Infosys reserves
 the right to monitor and review the content of all messages sent to or
 from this e-mail address. Messages sent to or from this e-mail address may
 be stored on the Infosys e-mail system.
 ***INFOSYS End of Disclaimer INFOSYS***
 ---
 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/



-- 
karl

 _/  _/  _/  _/_/_/      __o
_/ _/   _/  _/_/   _-\._
   _/_/_/  _/_/_/ (_)/ (_)
  _/ _/   _/  _/   ..
 _/   _/ arl _/_/_/  _/ earson[EMAIL PROTECTED]

--
IT Director, ATS Industrial Supply, Inc.
http://www.atsindustrial.com
Toll-free: 800-789-9300 x29
Direct2Desk: 801-978-4429
Facsimile: 801-972-3888
--
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/