Re: [U2] Pick Pocket Guide [not-secure]

2010-03-27 Thread MAJ Programming
Only because you mention lawsuit:

I recall Pick Systems calling their query language Access, before Microsoft
came out with Access.

Do I recall correctly?
Mark Johnson
- Original Message -
From: Hennessey, Mark F. mark.hennes...@ct.gov
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Wednesday, March 24, 2010 12:49 PM
Subject: Re: [U2] Pick Pocket Guide [not-secure]


 Heh - name it Genius and you invite a lawsuit from Apple...

 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A.
 Green
 Sent: Tuesday, March 23, 2010 4:26 PM
 To: 'U2 Users List'
 Subject: Re: [U2] Pick Pocket Guide

 I say we name it Genius so we can all feel smarter when we go to work!

 GeniusDB
 GeniusQuery
 GeniusCode (Not GeniusBasic that's an oxymoron)
 Etc.

 Hey! We've all just been elevated to Genius Programmers!

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


 -Original Message-
 From: u2-users-boun...@listserver.u2ug.org
 [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of
 fft2...@aol.com
 Sent: Tuesday, March 23, 2010 12:42 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Pick Pocket Guide

 In a message dated 3/23/2010 4:14:07 AM Pacific Daylight Time,
 br...@brianleach.co.uk writes:


  So suggestions welcomed.

 I'm opining that we need a name that is NOT an existing word or acronym
 of
 anything else.  Something brand new and fresh and unique so no more
 false
 positives.

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

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



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

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


Re: [U2] Pick Pocket Guide

2010-03-27 Thread MAJ Programming
Yes, typical Pickie. I had a lot of stuff that I was able to replace. I had
some photos that can not be replaced. It has taken me roughly 1 month to get
over the anger I had towards those who did this, especially their stupidity
in stealing the briefcase thinking it contained a computer.

I am not looking for any sympathy or lessons (read: TG). I am just
expressing my sadness for my briefcase and hopefully no-one else would have
to go through what I have.

I had highlighted certain parts of the JES book of it that help me for the
more rare commands that aren't typed that often. No-one can memorize all of
those options.

I have been away from this email for around a week and started to read the
replies in reverse date order. I was surprised at how many and how deviated
the original thread became. What was a simple request for an extra copy of
one of these books became a long winded tired thread regarding what form of
MVQL etc should encompass everything etc, etc. This seems to be an annual
renaming convention, trying to get all the wagons to circle together.

I'm surprised TG hasn't flamed anyone and suggested that it get moved to
another thread. I stray one degree off center and he flames me pretty fast.
I guess he was going along for this ride as well.

Anyway, Gwen has come through (thanks) and I'll be able to get the book
back.

Mark Johnson
- Original Message -
From: George Gallen ggal...@wyanokegroup.com
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Monday, March 22, 2010 8:34 AM
Subject: Re: [U2] Pick Pocket Guide


 You know, this is a true example of a typical pickie.

 He gets his briefcase stolen, and all he cares about is his Pick manual!!

 Should be an example to all of ussniff.

  -Original Message-
  From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-
  boun...@listserver.u2ug.org] On Behalf Of MAJ Programming
  Sent: Monday, March 22, 2010 12:59 AM
  To: u2-users@listserver.u2ug.org
  Subject: [U2] Pick Pocket Guide
 
  My briefcase was stolen and in it was one of these small JES Pick
  Pocket Guides.
 
  While I have access to all of the docs I need via the internet, I still
  refer to this for some efforts.
 
  With no distraction, could anyone donate or offer to sell me one of
  these. I don't recall the vintage of the one I had but it wasn't
  Microdata (or another flavor) specific. Probably good old solid R90.
 
  Thanks in advance,
  Mark Johnson
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users

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


[U2] Microdata Conversion

2009-11-03 Thread MAJ Programming
To All:

The day is finally approaching. One of my Microdata clients is now wanting to 
switch to a contemporary platform.

Because of being a Microdata, I have a fork in the road: 1) Do I pursue a 
system that can run in Microdata Flavor, ie Unidata or 2) do I endeavour on the 
path of either programatically or manually changing the true-PQN procs to more 
traditional PQ procs to end up on a D3 system.

Also, I recall one of my other clients having switched from MCD to UD before me 
and there must have been a dictionary converter to go from the 10 line items to 
the 7 line items. That converter put the original 10 line dict (attributed) on 
line 10 of the new dict item, replacing @am with @vm's.

I would like to gather opinions from anyone who has done such a conversion as 
well as from VAR's that could facilitate either the specific sale and/or the 
conversion.

You may contact me directly at m.john...@jaydeetrucking.com 

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


Re: *** GMX Spamverdacht *** Re: [U2] DO/WHILE vs IF THEN

2009-03-30 Thread MAJ Programming
Yes. I straddle U2 systems as well as D3, Mvbase and a few natives. Each has
their own advanced way of handling READNEXT.

Mark
- Original Message -
From: Mecki Foerthmann mec...@gmx.net
To: u2-users@listserver.u2ug.org
Sent: Monday, March 30, 2009 2:01 AM
Subject: Re: *** GMX Spamverdacht *** Re: [U2] DO/WHILE vs IF THEN


 have you tried LOOP WHILE READNEXT ID DO ?

 MAJ Programming wrote:
  LOOP WHILE READNEXT does not work on D3.
  Mark Johnson
  - Original Message -
  From: Keith Johnson [DATACOM] kei...@datacom.co.nz
  To: u2-users@listserver.u2ug.org
  Sent: Monday, March 02, 2009 7:38 PM
  Subject: Re: [U2] DO/WHILE vs IF THEN
 
 
 
  Mark Johnson suggested the following change
 
 
  Before
  GOOD.ANS=FALSE
  LOOP UNTIL GOOD.ANS DO
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN GOOD.ANS=TRUE REPEAT
 
  after
  LOOP WHILE TRUE DO
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN EXIT
  REPEAT
 
  These forms all work (Universe 10.2.0)  and are progressively shorter
  than the above
 
  LOOP
 PRINT ENTER 'Y' OR 'N' :;INPUT ANS
 IF ANS=Y OR ANS=N THEN EXIT
  REPEAT
 
 
  LOOP
 PRINT ENTER 'Y' OR 'N' :;INPUT ANS
  UNTIL ANS=Y OR ANS=N DO
  REPEAT
 
 
  LOOP
 PRINT ENTER 'Y' OR 'N' :;INPUT ANS
  UNTIL ANS=Y OR ANS=N REPEAT
 
 
  LOOP PRINT ENTER 'Y' OR 'N' :;INPUT ANS
  UNTIL ANS=Y OR ANS=N REPEAT
 
 
  Ray Wurlod was a great proponent of the LOOP WHILE READNEXT ID format.
  I believe it may not compile on some MV systems.
 
 
  Regards, Keith
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] DO/WHILE vs IF THEN

2009-03-30 Thread MAJ Programming
I don't know all of the login parameters but one UV client of mine (on SCO)
has a setting that allows the users to remain in lower case on the MS side
of things (the more often case setting) and without hitting caps lock, going
to UV it's all in upper case as their legacy app and data is (are?).

Mark
- Original Message -
From: Charlie Noah cwn...@comcast.net
To: u2-users@listserver.u2ug.org
Sent: Monday, March 30, 2009 4:00 AM
Subject: Re: [U2] DO/WHILE vs IF THEN


Another 2 cents here. If not using a global input routine, I usually
use
this syntax:
LOOP
   prompt, position cursor, whatever
   INPUT ANS
   ANS = UPCASE(ANS)   or ANS = OCONV(ANS, 'MCU') if you don't
have
UPCASE
UNTIL ANS MATCHES 'Y]N' DO  ] is an actual value mark
   error message
REPEAT
Most programmers forget to upcase the input, which frustrates users who
just
popped back into your application window from Word, Excel or some other
Windows program. What a simple thing to do to makes users really happy.
Like it, don't like it, it's all the same to me. This thread has
certainly
shown that there are many ways to skin a cat, but no matter which one
you
pick, the cat's not going to like it very much. ;-)
Best regards and Hi to some very familiar names I haven't
corresponded
with in a long time,
Charlie Noah
Inland Truck Parts Company
On 3/6/2009 12:02 AM, MAJ Programming wrote:

 No offense but the FOR...NEXT example for this thread is fools folly. Not
 because it is wrong. It over complicates the original premise (that was
 deviated from the original thread.

 The deviation became ways to validate Y or N. Fair enough and the LOOP
 examples all participate in a validation pausing until Y or N is entered.

 But just because the expression can be written in another way, doesn't
mean
 that it's a comparable replacement. In this case, IMHO, it is very
 distracting.

 FOR...NEXT sequences automatically imply some form of incrementing through
 something. Assumption? Yes. But it's 99.44% used for incrementing and not
 stalling as in your example.

 Thus, the next programmer who has to read this will be mentally following
 the code, processing the logic flow and when they see the validation area,
 they will have to look twice and see why a FOR...NEXT loop is used for
 validation.

 Sure, there are many valid ways to skin each cat. But this one is a poor
 example of validating a Y/N answer.

 My 2 cents,
 Mark Johnson

 PS. The INDEX(YN,ANS,1) has a slight problem as it allows the enter
 alone answer to pass as a valid answer. I use this all the time when I
 prompt IS THIS OKAY (Y/N/Enter=Y) :;INPUT ANS. But for a pure Y or N,
 the null value passes.

 - Original Message -
 From: Jacques G. jacque...@yahoo.com
 To: u2-users@listserver.u2ug.org
 Sent: Monday, March 02, 2009 8:46 PM
 Subject: Re: [U2] DO/WHILE vs IF THEN

 The case can be tested also if n/y are acceptable:

 LOOP PRINT ENTER 'Y' OR 'N' :;INPUT ANS,1
 UNTIL INDEX('NY',UPCASE(ANS),1) REPEAT

 *-- P.AM will contain a boolean value  0 for N, 1 for Y --*
 FOR X = 1 TO (X+1)
   PRINT ENTER 'Y' OR 'N' :;INPUT ANS,1
   FIND UPCASE(ANS) IN N:@AM:Y SETTING P.AM THEN P.AM -= 1 ; EXIT
 NEXT X

 - Original Message 
 From: Keith Johnson [DATACOM] kei...@datacom.co.nz
 To: u2-users@listserver.u2ug.org
 Sent: Monday, March 2, 2009 7:38:16 PM
 Subject: Re: [U2] DO/WHILE vs IF THEN

 Mark Johnson suggested the following change

 Before
 GOOD.ANS=FALSE
 LOOP UNTIL GOOD.ANS DO
   PRINT ENTER 'Y' OR 'N' :;INPUT ANS
   IF ANS=Y OR ANS=N THEN GOOD.ANS=TRUE REPEAT

 after
 LOOP WHILE TRUE DO
   PRINT ENTER 'Y' OR 'N' :;INPUT ANS
   IF ANS=Y OR ANS=N THEN EXIT
 REPEAT

 These forms all work (Universe 10.2.0)  and are progressively shorter
 than the above

 LOOP
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN EXIT
 REPEAT

 LOOP
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
 UNTIL ANS=Y OR ANS=N DO
 REPEAT

 LOOP
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
 UNTIL ANS=Y OR ANS=N REPEAT

 LOOP PRINT ENTER 'Y' OR 'N' :;INPUT ANS
 UNTIL ANS=Y OR ANS=N REPEAT

 Ray Wurlod was a great proponent of the LOOP WHILE READNEXT ID format.
 I believe it may not compile on some MV systems.

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

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


Re: [U2] DO/WHILE vs IF THEN

2009-03-29 Thread MAJ Programming
LOOP WHILE READNEXT does not work on D3.
Mark Johnson
- Original Message - 
From: Keith Johnson [DATACOM] kei...@datacom.co.nz
To: u2-users@listserver.u2ug.org
Sent: Monday, March 02, 2009 7:38 PM
Subject: Re: [U2] DO/WHILE vs IF THEN


 Mark Johnson suggested the following change
 
 Before
 GOOD.ANS=FALSE
 LOOP UNTIL GOOD.ANS DO
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN GOOD.ANS=TRUE REPEAT
 
 after
 LOOP WHILE TRUE DO
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN EXIT
 REPEAT
 
 These forms all work (Universe 10.2.0)  and are progressively shorter
 than the above
 
 LOOP
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN EXIT
 REPEAT
 
 
 LOOP
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
 UNTIL ANS=Y OR ANS=N DO
 REPEAT
 
 
 LOOP
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
 UNTIL ANS=Y OR ANS=N REPEAT
 
 
 LOOP PRINT ENTER 'Y' OR 'N' :;INPUT ANS
 UNTIL ANS=Y OR ANS=N REPEAT
 
 
 Ray Wurlod was a great proponent of the LOOP WHILE READNEXT ID format.
 I believe it may not compile on some MV systems.
 
 
 Regards, Keith
 ---
 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] DO/WHILE vs IF THEN

2009-03-29 Thread MAJ Programming
No offense but the FOR...NEXT example for this thread is fools folly. Not
because it is wrong. It over complicates the original premise (that was
deviated from the original thread.

The deviation became ways to validate Y or N. Fair enough and the LOOP
examples all participate in a validation pausing until Y or N is entered.

But just because the expression can be written in another way, doesn't mean
that it's a comparable replacement. In this case, IMHO, it is very
distracting.

FOR...NEXT sequences automatically imply some form of incrementing through
something. Assumption? Yes. But it's 99.44% used for incrementing and not
stalling as in your example.

Thus, the next programmer who has to read this will be mentally following
the code, processing the logic flow and when they see the validation area,
they will have to look twice and see why a FOR...NEXT loop is used for
validation.

Sure, there are many valid ways to skin each cat. But this one is a poor
example of validating a Y/N answer.

My 2 cents,
Mark Johnson

PS. The INDEX(YN,ANS,1) has a slight problem as it allows the enter
alone answer to pass as a valid answer. I use this all the time when I
prompt IS THIS OKAY (Y/N/Enter=Y) :;INPUT ANS. But for a pure Y or N,
the null value passes.


- Original Message -
From: Jacques G. jacque...@yahoo.com
To: u2-users@listserver.u2ug.org
Sent: Monday, March 02, 2009 8:46 PM
Subject: Re: [U2] DO/WHILE vs IF THEN


 The case can be tested also if n/y are acceptable:

 LOOP PRINT ENTER 'Y' OR 'N' :;INPUT ANS,1
 UNTIL INDEX('NY',UPCASE(ANS),1) REPEAT

 *-- P.AM will contain a boolean value  0 for N, 1 for Y --*
 FOR X = 1 TO (X+1)
   PRINT ENTER 'Y' OR 'N' :;INPUT ANS,1
   FIND UPCASE(ANS) IN N:@AM:Y SETTING P.AM THEN P.AM -= 1 ; EXIT
 NEXT X



 - Original Message 
 From: Keith Johnson [DATACOM] kei...@datacom.co.nz
 To: u2-users@listserver.u2ug.org
 Sent: Monday, March 2, 2009 7:38:16 PM
 Subject: Re: [U2] DO/WHILE vs IF THEN

 Mark Johnson suggested the following change

 Before
 GOOD.ANS=FALSE
 LOOP UNTIL GOOD.ANS DO
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN GOOD.ANS=TRUE REPEAT
 
 after
 LOOP WHILE TRUE DO
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN EXIT
 REPEAT

 These forms all work (Universe 10.2.0)  and are progressively shorter
 than the above

 LOOP
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
IF ANS=Y OR ANS=N THEN EXIT
 REPEAT


 LOOP
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
 UNTIL ANS=Y OR ANS=N DO
 REPEAT


 LOOP
PRINT ENTER 'Y' OR 'N' :;INPUT ANS
 UNTIL ANS=Y OR ANS=N REPEAT


 LOOP PRINT ENTER 'Y' OR 'N' :;INPUT ANS
 UNTIL ANS=Y OR ANS=N REPEAT


 Ray Wurlod was a great proponent of the LOOP WHILE READNEXT ID format.
 I believe it may not compile on some MV systems.


 Regards, Keith
 ---
 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] DO/WHILE vs IF THEN

2009-02-27 Thread MAJ Programming
I should offer a contrary opinion.

I support many sets of differently developed code with all my clients. When
properly indented, the EXIT is a logical way to conclude the visit in the
loop without labeling the REPEAT or introducing other DONE 'style'
variables. The code actually shrinks by a few lines. Example:

Before
GOOD.ANS=FALSE
LOOP UNTIL GOOD.ANS DO
   PRINT ENTER 'Y' OR 'N' :;INPUT ANS
   IF ANS=Y OR ANS=N THEN GOOD.ANS=TRUE
REPEAT

after
LOOP WHILE TRUE DO
   PRINT ENTER 'Y' OR 'N' :;INPUT ANS
   IF ANS=Y OR ANS=N THEN EXIT
REPEAT

Or my favorite code shrinking syntax:

before
EOF=0
LOOP
   READNEXT ID ELSE EOF=0
UNTIL EOF DO
{process}
REPEAT

after
LOOP WHILE READNEXT ID DO
  {process}
REPEAT

When I see code that has been heavily flagged I have to scratch my head.
EXIT and CONTINUE have been around at least as long as U2 has. I know that
they weren't there during the Jurrasic Pick era.

My 1 cent,
Mark Johnson

Maybe I follow poor programmers who got flag-crazy.
- Original Message -
From: David A. Green dgr...@dagconsulting.com
To: u2-users@listserver.u2ug.org
Sent: Friday, February 27, 2009 1:25 PM
Subject: RE: [U2] DO/WHILE vs IF THEN


 George,

 In my opinion you lose the elegance and readability of the LOOP construct
 when you use EXIT.  Code is easier to debug and enhance when Loops and
 Subroutines have one entry and one exit.

 Thanks,
 David A. Green
 www.dagconsulting.com
 (480) 813-1725


 -Original Message-
 From: owner-u2-us...@listserver.u2ug.org
 [mailto:owner-u2-us...@listserver.u2ug.org] On Behalf Of George Gallen
 Sent: Friday, February 27, 2009 9:20 AM
 To: Ardent
 Subject: [U2] DO/WHILE vs IF THEN

 OK Aside from programming styles

 Is there any functional difference between

 WHILE expression DOand IF NOT(expression) THEN EXIT
 and
 UNTIL expression DOand IF expression THEN EXIT


 First I thought that the DO/WHILE would activate as soon as
 the condition occurred and drop out of a loop, but that is not
 the case, the condition has to be active AND control has to be
 back at the WHILE statement.


 Example:

 0001: CTR=0
 0002: LOOP
 0003:   CTR=CTR+1
 0004:   WHILE CTR4 DO
 0005:   PRINT CTR
 0006:   CTR=CTR+1
 0007:   PRINT CTR
 0008:   CTR=CTR+1
 0009:   PRINT CTR
 0010:   CTR=CTR+1
 0011:   PRINT CTR
 0012:   CTR=CTR+1
 0013:   PRINT CTR
 0014:   CTR=CTR+1
 0015:   PRINT CTR
 0016:   CTR=CTR+1
 0017:   PRINT CTR
 0018: REPEAT
 0019: STOP
 0020: END

 My first thought was that once CTR = 5, the loop would end (at LINE 12)
but
 it
 didn't
 until control was passed back to LINE 4, then it ended.
 ---
 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] Need help with SELECT limiting MV

2009-02-19 Thread MAJ Programming
BTW this is a 30+ year old issue and combining the fields has always been
the answer.
- Original Message -
From: Noah Hart n...@lipmantpa.com
To: u2-users@listserver.u2ug.org
Sent: Tuesday, February 17, 2009 1:26 PM
Subject: [U2] Need help with SELECT limiting MV


 I have a table with a MV status code and date field.

 I am trying to select just those records that have both status code A
 and B and when the date associated with code B is blank

 I tried

 SELECT TAB WITH STATUS = A AND STATUS = B AND ST_DATE = 

 But this will select records which might have a blank date for status
 C


 I see the data properly with a LIST WHEN command, but I want the
 matching @IDs in a list

 LIST TAB WITH F2 = A WHEN F2=B AND F3= F1 F2 F3

 There must be a simple way to do this, but I'm just not getting it.

 Ideas?

 Thanks,

 Noah




 CONFIDENTIALITY NOTICE:
 This message may contain confidential and/or privileged information. If
you
 are not the addressee or authorized to receive this for the addressee, you
 must not use, copy, disclose, or take any action based on this message or
any
 information herein. If you have received this message in error, please
advise
 the sender immediately by reply e-mail and delete this message. Thank you
for
 your cooperation.
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Speeding up processing through large dynamic table

2008-11-18 Thread MAJ Programming
This may have been offered but I didn't see it in the replies:

If you have half an idea on the max num of atts, try using DIM X(30) or
some large number and simply FOR.NEXT your way thru until you get to a
logical end like a null value.

I digest EDI records often in the neighborhood of 200,000 rows or more this
way.

Mark Johnson
- Original Message -
From: Colin Alfke [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, November 17, 2008 4:24 PM
Subject: RE: [U2] Speeding up processing through large dynamic table


 Oh my - I'm not sure with all that swapping that you'll come out much
ahead.

 You're missing the point of remove. If your array is well built your
code
 simply becomes:

 LOOP
 REMOVE CUST.NUM FROM IN.TAB SETTING MARK
 REMOVE CUST.DESC FROM IN.TAB SETTING MARK
 (do your thing)
 WHILE MARK DO REPEAT

 If you do have to worry about having more attributes or sub-values in the
 array then you need to test the MARK variable after each remove and keep
 removing until the line is exhausted. Here is how MARK (delimiter) is
set:
 Delimiter Code Description ASCII Value*
 0 array end
 1 record mark 255
 2 attribute mark  254
 3 value mark  253
 4 subvalue mark   252
 5 text mark   251
 6 not used; nonprinting   250
 7 not used; nonprinting   249

 Someone else sent an example of how to keep checking MARK so I won't
 bother. You could even throw it in a subroutine to keep your processing
 clean.

 Hth
 Colin Alfke
 Calgary, Canada

  -Original Message-
  From: Dave Laansma
 
  That is what I was afraid of.  Okay.  So after listening to all of your
  comments (thus far since there is an annoying delay in these messages),
  here is what I like the best:
 
  SWAP CHAR(9) WITH  IN IN.TAB
  SWAP CHAR(10) WITH  IN IN.TAB
 
  SWAP @VM WITH CHAR(9) IN IN.TAB
  SWAP @SM WITH CHAR(10) IN IN.TAB
 
  REPEAT
REMOVE IN.LINE FROM IN.TAB SETTING MARK
SWAP CHAR(9) WITH @VM IN IN.LINE
SWAP CHAR(10) WITH @SM IN IN.LINE
(do my thing with IN.LINE)
  UNTIL MARK DO
  REPEAT
 
  Any objections, concerns or better suggestions for using CHAR(10) as
  the
  temporary substitute for the @SM?  I just picked it because it came
  right after CHAR(9) on my handy-dandy ASCII chart!  Been using it since
  the 70's.  Some things just never go out of style!
 
  David Laansma
 
  -Original Message-
  From: David Wolverton
 
  If you don't want to 'swap' all the other markers with 'strings' (SWAP
  @VM
  WITH VM IN RECORD) then you have to 'build' the line item up --
  keep
  removing until you see the remove hit the @AM and then process the
  line...
 
  DW
 ---
 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] Automatic Invoice - PO Matching Software

2008-11-17 Thread MAJ Programming
This sounds like some format of EDI, whereby either the fields are mapped
programmatically or there are published standards (214's etc) that both
sides can follow.

IMHO even with EDI being in the US for the last 20+ years, it still usually
comes down to manual programming. At least that's my experience for the last
2 decades with the roughly 40 EDI imports/exports that I've worked with.

First you would need to identify some third-party 'standards', ie the data
facilitators, then look to existing MV code from there.

My 2 cents,
Mark Johnson
- Original Message -
From: Morawa, Hans [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, November 17, 2008 5:28 AM
Subject: RE: [U2] Automatic Invoice - PO Matching Software


 Hi Tony,

 To put my enquiry into perspective I simply looking for a electronic
 invoice processing system. The product needs to able to scan invoices
 regardless how they are delivered, whether they arrive electronically,
 or by fax or by email or mail, and then automatically match them to
 purchase orders based on captured information. This product needs to be
 able to integrate seamlessly with UniVerse. Regardless of how invoices
 are delivered they all need to be handled in the same way. There are
 products out there servicing the SAP and Oracle systems of the world and
 I'm looking for similar functionality without having a massive issue of
 integrating it with UniVerse. Hence my question to our fellow list
 members.

 Cheers,
 Hans



 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Tony G
 Sent: Monday, 17 November 2008 6:35 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Automatic Invoice - PO Matching Software

  From: Hans Morawa
  We are looking for a electronic invoice processing system that
 matches
  invoice with purchase orders automatically and works on/or with
 a
  UniVerse platform and is available in Australia.

 ( Really hoping I'm not missing something obvious. *gulp* )

 Hans, I don't understand the request.  Are you looking for bar
 coding or image processing so that you can scan documents and
 have them match up with other documents?  Can you give us an
 example of your business flow so that we can recommend something
 that fits?

 Tony Gravagno
 Nebula Research and Development
 TG@ remove.pleaseNebula-RnD.com
 Nebula RD sells mv.NET and other Pick/MultiValue products
 worldwide,
 and provides related development and training services
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/

 _
 This e-mail has been scanned for viruses by MessageLabs.

 ---
 This email and any files transmitted with it are confidential to the
intended recipient and may be privileged. If you have received this email
inadvertently or you are not the intended recipient, you may not
disseminate, distribute, copy or in any way rely on it. Further, you should
notify the sender immediately and delete the email from your computer.
Whilst we have taken precautions to alert us to the presence of computer
viruses, we cannot guarantee that this email and any files transmitted with
it are free from such 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] SELECT-READNEXT That's odd

2008-11-14 Thread MAJ Programming
I don't know all of the settings within U2 vs other MV platforms but one
thing that was tricky for me straddling both is the concept that items from
one active list remain despite a conclusion of the use of that list. Case in
point is a SSELECT statement feeding IDS to a Data/Basic report program to
the screen and the user types Q before all the IDS are consumed.

I learned CLEARSELECT does what its name implies. This may also prevent any
remaining IDS from an incomplete readnext cycle from being the preliminary
IDS for the next SELECT statement.

One workaround that I've incorporated within U2 and other platforms is my
GET.IDS(TCL, IDS) subroutine. There, the sub retrieves ALL of the IDS
(attributingly), thus consuming the active list that the TCL statement
created (SSELECT, QSELECT, GET-LIST etc). Also, my sub GET.IDS can have any
flavor differences between cycling through readnexts concluded once instead
of for every use.

I've been flamed that this is not good for massive amounts of processing as
IDS would grow large.Agreed, but for many, many TCL statements returning a
handful of IDS, it's great as the entire READNEXT construct is exercised.

Also for any newbies watching. Do not put DCOUNT as the second value in a
FOR...NEXT Loop. Assign it once prior to the FOR statement and the loop will
be faster.

MAX=DCOUNT(WORK.ITEM.REC17,VM)
FOR I=1 TO MAX

My 2 cents
Mark Johnson
- Original Message -
From: Jef Lee [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, November 14, 2008 2:39 AM
Subject: [U2] SELECT-READNEXT That's odd


 One of our programmers wrote this snippet:

   FOR YY=1 TO DCOUNT(WORK.ITEM.REC17,VM)
  LISTNUMBER=''
  SQLCOMMAND=''
  UNISTATEMENT='SELECT BPM.WORKITEMS WITH A1=':WORK.ITEM.REC1:'
AND
 WITH A2=':WORK.ITEM.REC2:' AND WITH A17=':WORK.ITEM.REC17,YY:' AND
 WITH A24#C AND WITH A24#R AND WITH A24#F'
  *MY.REC1=UNISTATEMENT
  CALL SR.EXECUTESQL(LISTNUMBER,UNISTATEMENT,SQLCOMMAND)
  READNEXT DEPENDANT.ID ELSE
 * NO ACTIVE ITEMS LEFT I NEED TO UPDATE THE STATUS OF THE
 DEPENDANT TASK
 CALL
 SR.READSQL('BPM.WORKITEMS',DEP.TASK.REC,WORK.ITEM.REC17,YY,'')
 DEP.TASK.REC24='A'
 DEP.TASK.REC8=DATE()
 DEP.TASK.REC9=TIME()
 CALL
 SR.WRITESQL('BPM.WORKITEMS',DEP.TASK.REC,WORK.ITEM.REC17,YY)
  END
   NEXT YY

 The FOR loop has 2 values to iterate, so it does 2 loops. The function
 SR.EXECUTESQL()does the SELECT call.
 Loop 1 returns 2 keys found.
 Loop 2 returns 0 keys found.
 What's odd is that the select list is empty on loop iteration 2 and the
 READNEXT is populated the ID with the second key from the first iteration.

 I looked in the help PDFs and all I found was a reference to a corrected
error
 relating to memory not being released if the READNEXT did not exhaust the
 SELECT list.

 Any thoughts?

 We have since changed our strategy to check the count returned instead.
But it
 would be nice to know that others have encountered this as well.

 Jeffrey Lee
 Senior Analyst/Programmer

 IT Vision Australia Pty Ltd (ABN: 34 309 336 904)
 PO Box 881, Canning Bridge WA 6153
 Level 3, Kirin Centre, 15 Ogilvie Road, Applecross, WA, 6153
 P:  (08) 9315 7000F: (08) 9315 7088
 W: http://www.itvision.com.au
 ___

 NOTICE : This e-mail and any attachments are intended for the addressee(s)
 only and may
 contain confidential or privileged material. Any unauthorised review, use,
 alteration,
 disclosure or distribution of this e-mail (including any attachments) by
an
 unintended recipient
 is prohibited. If you are not the intended recipient please contact the
sender
 as soon as
 possible by return e-mail and then delete both messages.
 ___
 ---
 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] SELECT-READNEXT That's odd

2008-11-14 Thread MAJ Programming
I would have to challenge the concept of putting the DCOUNT as the first
value and counting backwards.

99% of the time FOR..NEXT loops start at 1 and go to some end. We assume
that there's a test for surpassing the second variable at each iteration of
FOR. But is the first variable touched only once and not again.

If it's touched for each iteration, then DCOUNT anywhere is excessive. If it
is only the first pass and only when working backwards, then it's too
awkward and the more readable code would be to assign it and not have it
derived per iteration, stepping in either direction.

While noble and accurate, saving one variable when so many programmers have
zillions of variables anyway would amount  to much savings.

My 2 cents.
Mark Johnson
- Original Message -
From: Edward Brown [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, November 14, 2008 12:05 PM
Subject: RE: [U2] SELECT-READNEXT That's odd


 Hey, save the variable by looping backwards - if the code in the loop
 allows it, of course...


 FOR A = DCOUNT(WORK.THINGY,VM) TO 1 STEP -1
   code
 NEXT A

 -Original Message-
 Also for any newbies watching. Do not put DCOUNT as the second value in
 a
 FOR...NEXT Loop. Assign it once prior to the FOR statement and the loop
 will
 be faster.

 MAX=DCOUNT(WORK.ITEM.REC17,VM)
 FOR I=1 TO MAX

 My 2 cents
 Mark Johnson
 - Original Message -
 From: Jef Lee [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Friday, November 14, 2008 2:39 AM
 Subject: [U2] SELECT-READNEXT That's odd


  One of our programmers wrote this snippet:
 
FOR YY=1 TO DCOUNT(WORK.ITEM.REC17,VM)
   LISTNUMBER=''
   SQLCOMMAND=''
   UNISTATEMENT='SELECT BPM.WORKITEMS WITH
 A1=':WORK.ITEM.REC1:'
 AND
  WITH A2=':WORK.ITEM.REC2:' AND WITH A17=':WORK.ITEM.REC17,YY:'
 AND
  WITH A24#C AND WITH A24#R AND WITH A24#F'
   *MY.REC1=UNISTATEMENT
   CALL SR.EXECUTESQL(LISTNUMBER,UNISTATEMENT,SQLCOMMAND)
   READNEXT DEPENDANT.ID ELSE
  * NO ACTIVE ITEMS LEFT I NEED TO UPDATE THE STATUS OF THE
  DEPENDANT TASK
  CALL
  SR.READSQL('BPM.WORKITEMS',DEP.TASK.REC,WORK.ITEM.REC17,YY,'')
  DEP.TASK.REC24='A'
  DEP.TASK.REC8=DATE()
  DEP.TASK.REC9=TIME()
  CALL
  SR.WRITESQL('BPM.WORKITEMS',DEP.TASK.REC,WORK.ITEM.REC17,YY)
   END
NEXT YY
 
  The FOR loop has 2 values to iterate, so it does 2 loops. The function
  SR.EXECUTESQL()does the SELECT call.
  Loop 1 returns 2 keys found.
  Loop 2 returns 0 keys found.
  What's odd is that the select list is empty on loop iteration 2 and
 the
  READNEXT is populated the ID with the second key from the first
 iteration.
 
  I looked in the help PDFs and all I found was a reference to a
 corrected
 error
  relating to memory not being released if the READNEXT did not exhaust
 the
  SELECT list.
 
  Any thoughts?
 
  We have since changed our strategy to check the count returned
 instead.
 But it
  would be nice to know that others have encountered this as well.
 
  Jeffrey Lee
  Senior Analyst/Programmer
 
  IT Vision Australia Pty Ltd (ABN: 34 309 336 904)
  PO Box 881, Canning Bridge WA 6153
  Level 3, Kirin Centre, 15 Ogilvie Road, Applecross, WA, 6153
  P:  (08) 9315 7000F: (08) 9315 7088
  W: http://www.itvision.com.au
  ___
 
  NOTICE : This e-mail and any attachments are intended for the
 addressee(s)
  only and may
  contain confidential or privileged material. Any unauthorised review,
 use,
  alteration,
  disclosure or distribution of this e-mail (including any attachments)
 by
 an
  unintended recipient
  is prohibited. If you are not the intended recipient please contact
 the
 sender
  as soon as
  possible by return e-mail and then delete both messages.
  ___
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/

 --
-
 Please remember to recycle wherever possible.
 Reduce, reuse, recycle, think do you need to print this e-mail?
 --
-
 This e-mail and any attachment(s), is confidential and may be legally
privileged. It is intended solely for the addressee. If you are not the
addressee, dissemination, copying or use of this e-mail or any of its
content is prohibited and may be unlawful. If you are not the intended
recipient please inform the sender immediately and destroy the e-mail, any
attachment(s) and any copies. All liability for viruses is excluded to the
fullest extent permitted by law. It is your responsibility to scan or
otherwise check 

Re: [U2][UV] EQUATEs Using System Delmiiters

2008-10-12 Thread MAJ Programming
Whether you make sense to us is secondary. Basically, questions like this
just offer another perspective and second view of a not-normal situation and
to cover all the bases.

WE don't have to understand. We're just offering second opinions that may
solve or validate your opinions/conclusions.

Mark Johnson
- Original Message -
From: Perry Taylor [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Saturday, October 11, 2008 11:46 PM
Subject: RE: [U2][UV] EQUATEs Using System Delmiiters


 The requirement is for up to 1000 or so arrays which are used only
 within the subroutine.  If they are assigned upon entry each variable
 has to have memory setup and the values have be contatenated and stored
 in the variables.  I could put them in named common and only initialize
 them once but still the overhead exists for the one-time initialization.
 If the values are EQUates the concatenation is accomplished at compile
 time and the only overhead is the object code load when the subroutine
 is called.

 Am I making sense?

 Perry

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of MAJ Programming
 Sent: Saturday, October 11, 2008 12:12 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2][UV] EQUATEs Using System Delmiiters

 I too was going to ask why not a regular variable?

 What does that mean, overhead of setting up the variables. Is this
 item
 passed thru the subroutine either directly or indirectly or is it
 equated in
 both the sub and the calling program.

 Thanks in advance for the explanation.
 Mark Johnson
 - Original Message -
 From: Perry Taylor [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Monday, October 06, 2008 10:27 PM
 Subject: RE: [U2][UV] EQUATEs Using System Delmiiters


  The parentheses do the trick!  Thanks to everyone.
 
  BTW... The reason I don't want to use variables is this is going in a
  subroutine and I don't want the overhead of setting up the variables
  when it is called.
 
  Thanks again!
 
  Perry
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Womack,
 Adrian
  Sent: Monday, October 06, 2008 6:45 PM
  To: u2-users@listserver.u2ug.org
  Subject: RE: [U2][UV] EQUATEs Using System Delmiiters
 
  Try putting parentheses around the expression:
 
  eg.  EQU MX TO ('ABCD':@AM:'EFGH')
 
  That will cause each of the functions to operate on the whole string
  rather than on a single element of the string.
 
  Although something strange is obviously going wrong. I would have
  expected the operations to affect just the last portion (EFGH) but
 it
  seems to be affecting the first portion.
 
  Why use EQUATE anyway in this case, you'd be better of just assigning
 a
  variable.
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Perry Taylor
  Sent: Tuesday, 7 October 2008 4:06 AM
  To: U2-Users List
  Subject: [U2][UV] EQUATEs Using System Delmiiters
 
  I'm trying to use EQUates to setup static arrays in a BASIC program
 but
  am getting strange results.  The UniVerse BASIC manual says you can
 use
  any valid BASIC expression as an object to the symbol.  However when I
  try to create an array with...
 
  EQU MX TO 'ABCD': @AM: 'EFGH'
 
  ... I get strange results.  Consider the following code...
 
  --
EQU MX TO 'ABCD': @AM: 'EFGH'
 
CRT
CRT 'MX=': MX
 
LC = LEN(MX)
 
CRT
CRT 'LEN(MX)=': LC
CRT
 
FOR NC = 1 TO LC
 
   CRT 'SEQ(MX[': NC: ', 1])=':SEQ(MX[NC, 1])
 
NEXT NC
 
CRT
 
LAMC = DCOUNT(MX, @AM)
 
CRT
CRT 'DCOUNT(MX, @AM)=': LAMC
CRT
 
FOR AMC = 1 TO LAMC
 
   CRT 'MX': AMC: '=': MXAMC
 
NEXT AMC
  --
 
  When I run this code in a Pick-flavored account I get the following
  results...
 
  --
 
  MX=ABCD~EFGH
 
  LEN(MX)=9
 
  SEQ(MX[1, 1])=65
  SEQ(MX[2, 1])=65
  SEQ(MX[3, 1])=65
  SEQ(MX[4, 1])=65
  SEQ(MX[5, 1])=65
  SEQ(MX[6, 1])=65
  SEQ(MX[7, 1])=65
  SEQ(MX[8, 1])=65
  SEQ(MX[9, 1])=65
 
 
  DCOUNT(MX, @AM)=2
 
  MX1=ABCD~EFGH
  MX2=ABCD~
 
  --
 
  What am I missing here?
 
  Thanks.
 
  Perry Taylor
  Zirmed, Inc.
  UniVerse 10.1.21/RHEL3
 
 
 
  CONFIDENTIALITY NOTICE: This e-mail message, including any
 attachments,
  is for the sole use of the intended recipient(s) and may contain
  confidential and privileged information.  Any unauthorized review,
 use,
  disclosure or distribution is prohibited. ZirMed, Inc. has strict
  policies regarding the content of e-mail communications, specifically
  Protected Health Information, any communications containing such
  material will be returned to the originating party with such
 advisement

Re: [U2][UV] EQUATEs Using System Delmiiters

2008-10-11 Thread MAJ Programming
I too was going to ask why not a regular variable?

What does that mean, overhead of setting up the variables. Is this item
passed thru the subroutine either directly or indirectly or is it equated in
both the sub and the calling program.

Thanks in advance for the explanation.
Mark Johnson
- Original Message -
From: Perry Taylor [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, October 06, 2008 10:27 PM
Subject: RE: [U2][UV] EQUATEs Using System Delmiiters


 The parentheses do the trick!  Thanks to everyone.

 BTW... The reason I don't want to use variables is this is going in a
 subroutine and I don't want the overhead of setting up the variables
 when it is called.

 Thanks again!

 Perry

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Womack, Adrian
 Sent: Monday, October 06, 2008 6:45 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2][UV] EQUATEs Using System Delmiiters

 Try putting parentheses around the expression:

 eg.  EQU MX TO ('ABCD':@AM:'EFGH')

 That will cause each of the functions to operate on the whole string
 rather than on a single element of the string.

 Although something strange is obviously going wrong. I would have
 expected the operations to affect just the last portion (EFGH) but it
 seems to be affecting the first portion.

 Why use EQUATE anyway in this case, you'd be better of just assigning a
 variable.

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Perry Taylor
 Sent: Tuesday, 7 October 2008 4:06 AM
 To: U2-Users List
 Subject: [U2][UV] EQUATEs Using System Delmiiters

 I'm trying to use EQUates to setup static arrays in a BASIC program but
 am getting strange results.  The UniVerse BASIC manual says you can use
 any valid BASIC expression as an object to the symbol.  However when I
 try to create an array with...

 EQU MX TO 'ABCD': @AM: 'EFGH'

 ... I get strange results.  Consider the following code...

 --
   EQU MX TO 'ABCD': @AM: 'EFGH'

   CRT
   CRT 'MX=': MX

   LC = LEN(MX)

   CRT
   CRT 'LEN(MX)=': LC
   CRT

   FOR NC = 1 TO LC

  CRT 'SEQ(MX[': NC: ', 1])=':SEQ(MX[NC, 1])

   NEXT NC

   CRT

   LAMC = DCOUNT(MX, @AM)

   CRT
   CRT 'DCOUNT(MX, @AM)=': LAMC
   CRT

   FOR AMC = 1 TO LAMC

  CRT 'MX': AMC: '=': MXAMC

   NEXT AMC
 --

 When I run this code in a Pick-flavored account I get the following
 results...

 --

 MX=ABCD~EFGH

 LEN(MX)=9

 SEQ(MX[1, 1])=65
 SEQ(MX[2, 1])=65
 SEQ(MX[3, 1])=65
 SEQ(MX[4, 1])=65
 SEQ(MX[5, 1])=65
 SEQ(MX[6, 1])=65
 SEQ(MX[7, 1])=65
 SEQ(MX[8, 1])=65
 SEQ(MX[9, 1])=65


 DCOUNT(MX, @AM)=2

 MX1=ABCD~EFGH
 MX2=ABCD~

 --

 What am I missing here?

 Thanks.

 Perry Taylor
 Zirmed, Inc.
 UniVerse 10.1.21/RHEL3



 CONFIDENTIALITY NOTICE: This e-mail message, including any attachments,
 is for the sole use of the intended recipient(s) and may contain
 confidential and privileged information.  Any unauthorized review, use,
 disclosure or distribution is prohibited. ZirMed, Inc. has strict
 policies regarding the content of e-mail communications, specifically
 Protected Health Information, any communications containing such
 material will be returned to the originating party with such advisement
 noted. If you are not the intended recipient, please contact the sender
 by reply e-mail and destroy all copies of the original message.
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 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/
 ---
 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] [Employment Seeked] New York City Area or remote

2008-09-29 Thread MAJ Programming
I interviewed Peter for one of my clients and found him to be quite capable
and well versed in his areas of Pick and business experience.

FWIW.
Mark Johnson
- Original Message -
From: Allen E. Elwood [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, September 29, 2008 8:59 PM
Subject: RE: [U2] [Employment Seeked] New York City Area or remote


 I'm not an English major, but shouldn't it be 'employment sought?'

 http://dictionary.reference.com/browse/sought

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Peter S.
 Goldberger
 Sent: Monday, September 29, 2008 16:46
 To: u2-users@listserver.u2ug.org
 Subject: [U2] [Employment Seeked] New York City Area or remote


 I have over 22 years of Senior programming experience with most flavors
 of Pick and I have directed IT departments for companies in the
 manufacturing, importing and distribution industries.

 I am willing to commute 1 to 1 1/2 hours from New York City or
 telecommute for full or short-term/part-time position.

 Contact me at [EMAIL PROTECTED] for resume and references.
 ---
 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] [UV] Editing Paired Value Marks - Victory

2008-08-15 Thread MAJ Programming
I'm surprised at the attention this thread caused.

Could the following have worked on UV or UD. Works everywhere else.

SELECT FILE WITH F1 = '[]'

where single quotes bound the double quote bounded by square brackets.

This has worked since day #1 over 30 years ago.

My [1] cent
Mark Johnson
- Original Message - 
From: Brutzman, Bill [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, August 13, 2008 2:04 PM
Subject: RE: [U2] [UV] Editing Paired Value Marks - Victory


 Thanks to those who responded.
 
 Using AE I was able to do a...
 
 1: C/Sales.Order.ID^253/Sales.Order.ID
 
 --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] Editing Paired Value Marks - Victory

2008-08-15 Thread MAJ Programming
shameless ad for Accuterm
Accuterm's WED shows 253's and 252's as regular editable characters.
/ad

Plus all non UV/UD original Pick EDitors allow Shift-] or Shift-\ or
Ctrl-shift-^ for 253, 252 and 254 respectively.

Again, since day #1.

My [1] cent
Mark Johnson
- Original Message -
From: Brutzman, Bill [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, August 13, 2008 2:04 PM
Subject: RE: [U2] [UV] Editing Paired Value Marks - Victory


 Thanks to those who responded.

 Using AE I was able to do a...

 1: C/Sales.Order.ID^253/Sales.Order.ID

 --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] UniData PROC tip: DB command

2008-08-02 Thread MAJ Programming
Martin: These are some holy grails that would be wonderful if found.

One client of mine that was on Results (Microdata) then Universe and is now
on D3, still has the original Results PQN procs.

Fortunately those procs did not use the extended , # and ! variable
nomenclature but use the % nomenclature very often. Their solution attacked
the MV command in this way:

Original:
MV %1 Mark
New:
HMV %1 Mark
P

whereby they had created a program called MV that would interpret the
request. It uses PROCREAD/WRITE. The downside is that this databasic program
could not interpet MV 1.4 %10 or MV #1 SORT MD as it had no access to
those buffers.

So one small step for mankind.

Regarding A correlatives to I Descriptors. One of my clients uses Media
Services Group's Advertising billing system and from the looks of the code,
it used to be on R90 then Universe then now on Unidata. All of the
dictionary items that used to be A correlatives had gone through a
conversion utility to create the I descriptors. That utility saved on line
10 the original 10 line R90 dict item using IIRC value marks. Thus, the
original dict item (for me to more easily understand) exists on the ignored
line 10.

I never got good at the interpreted version of I descriptors (NEQS, EQS and
the nested command structure) so I assumed that the conversion was okay. I
write CALL I descriptors if the dict item gets busy.

I will offer this though. As a straight programmer for individual clients
(not a VAR, reseller or employee at one location), it may not be worth it to
'fix what ain't broke' regarding replacing their working procs with all
data/basic.

But I think it would be a matter of uniformity and forward compliance for
those VAR, reseller or employee-level members of this forum to engage in the
project of replacing procs with programs. For the VAR's, it would be a
continued investment in their product. For the employees, it would remove
one of the legacy entities that may become harder to find younger
programmers who can (or want to) understand Procs beyond the bvious
jobstreams.

My 3 cents
Mark Johnson
- Original Message -
From: Martin Phillips [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, August 01, 2008 2:56 PM
Subject: Re: [U2] UniData PROC tip: DB command


 Hi,

  The man (person) who writes a PROC interpreter/conversion utility
  that can take a PROC and turn it into either Basic, or a PAragraph, will
  have a product to sell... esp. if it can decipher all the PROC nuances
and
  tricks that have been introduced over the years.

 Back in the days when I was working on the development of PI/open, I had a
 go at this. It is not difficult to produce Basic code that does the same
job
 as the Proc but producing good code rather than a simple step by step
 interpretation of the Proc is difficult. Also, there are some strange
 interactions between Procs and the underlying command environment that are
 different from how Basic programs work so you can never get a true
 replacement.

  Same goes for a tool to convert A correlatives to I-descriptors.

 This is relatively easy. If you think there is a market, we might even do
 it. We looked at this as part of the migration process for users moving to
 OpenQM but we chose to implement correlatives instead as it was easy. Ours
 are compiled (like an I-type) rather than interpretive for best
performance
 so actually the task of writing the convertor is probably little more than
 ripping apart our existing correlative compiler.

  But pity the wretch that is assigned the task of writing the tool to
  convert
  F correlatives.

 This is probably easier than A correlatives. Again, if there is a real
 market that would pay a sensible price for it, we might do it.


 Martin Phillips
 Ladybridge Systems Ltd
 17b Coldstream Lane, Hardingstone, Northampton, NN4 6DB
 +44-(0)1604-709200
 ---
 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] UniData PROC tip: DB command

2008-08-02 Thread MAJ Programming
In my decades of MV programming, the manuals have gotten more scarce. I
recall the original Microdata manuals being pretty good but not perfect
enough. Thus JES was borne with their 'Pocket Guides' and other training
periphery.

I have total dislike for the UV/UD manuals as they break up the commands by
their stolen names for the obvious. UniBasic, UniQuery and ECL etc clearly
have their roots as Data/Basic, English and TCL.

Plus many commands are somewhat ambiguous and until recently, you struggle
to determine which specific book to pick up to review its index to find the
topic.

MVBase is similar. At least the D3 manual had one single index so that
SYSTEM (as a file name) is right next to SYSTEM() as a basic function and
you can go from there.

Nowadays, it should be easier and kept up to date far more easily with
on-line docs.

In the big picture, programmer's documentation can't be that much of a
profit center so the principals may not want to invest too heavily there.

A lot of this stagnation helps me believe that there is no future
development on the database side, just rather keeping the flame and putting
out fires (bugs).

One could argue that since there is no real advancing of Proc (or other
areas in the MV database) that the last real documentation (circa 1992?) may
be all that we need. If you lived through it, as I and many have, then it's
burned in our brains. If one is a new person to Pick, then there's the rub
to rely on oldies like me or forums or other folklore.

In a 'chicken and egg' situation, we should rely on each other and the
forums for more real-world experience with the subtle nuances of these
systems. I would bet that the vars like IBM and Raining Data (I know, TL)
appreciate the relief of not having to spend $ on supporting the past.

My free cents,
Mark Johnson
- Original Message -
From: Susan Lynch [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Saturday, August 02, 2008 1:46 PM
Subject: Re: [U2] UniData PROC tip: DB command


 Mark,

 A simple alternative to the proc-to-Basic convertor would be manuals -
if
 IBM would publish Proc and Paragraph manuals with the same level of
 completeness that the Basic Reference manual has, there would be far less
 frustration for the inheriting programmers.  I 'grew up' on Microdatas and
 Ultimates and Fujitsus and Sequoias and GA boxes, and never worked with
 anyone who used Paragraphs until my current position.  Now, not only are
 there no Proc manuals (and procs behave somewhat differently than expected
 from my past experience), but the Paragraph documentation does not come
 anywhere near the level of complexity in the Paragraphs that I am
 supporting, and I find myself frequently wondering what patches of
Paragraph
 code is doing.  Why are we dependant on oral tradition (or threads like
 this) rather than manuals for coding tools that are still functional?

 Susan Lynch
 F.W. Davison  Company, Inc.
 - Original Message -
 From: MAJ Programming [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: 08/02/2008 12:57 PM
 Subject: Re: [U2] UniData PROC tip: DB command


  Martin: These are some holy grails that would be wonderful if found.
 
  One client of mine that was on Results (Microdata) then Universe and is
  now
  on D3, still has the original Results PQN procs.
 
  Fortunately those procs did not use the extended , # and ! variable
  nomenclature but use the % nomenclature very often. Their solution
  attacked
  the MV command in this way:
 
  Original:
  MV %1 Mark
  New:
  HMV %1 Mark
  P
 
  whereby they had created a program called MV that would interpret the
  request. It uses PROCREAD/WRITE. The downside is that this databasic
  program
  could not interpet MV 1.4 %10 or MV #1 SORT MD as it had no access to
  those buffers.
 
  So one small step for mankind.
 
  Regarding A correlatives to I Descriptors. One of my clients uses
Media
  Services Group's Advertising billing system and from the looks of the
  code,
  it used to be on R90 then Universe then now on Unidata. All of the
  dictionary items that used to be A correlatives had gone through a
  conversion utility to create the I descriptors. That utility saved on
line
  10 the original 10 line R90 dict item using IIRC value marks. Thus, the
  original dict item (for me to more easily understand) exists on the
  ignored
  line 10.
 
  I never got good at the interpreted version of I descriptors (NEQS, EQS
  and
  the nested command structure) so I assumed that the conversion was okay.
I
  write CALL I descriptors if the dict item gets busy.
 
  I will offer this though. As a straight programmer for individual
clients
  (not a VAR, reseller or employee at one location), it may not be worth
it
  to
  'fix what ain't broke' regarding replacing their working procs with all
  data/basic.
 
  But I think it would be a matter of uniformity and forward compliance
for
  those VAR, reseller or employee-level members of this forum to engage

Re: [U2] UniData PROC tip: DB command

2008-08-01 Thread MAJ Programming
I first ran into Execute on an Ultimate. If I recall correctly, it may have
been 1983?

I agree that Proc is dead and should be retired/replaced. But since it's
still there, it can't fully disappear.

I have been often labeled a PROCtologist by accidentally becoming very good
with Procs back in the day. Unfortunately there is no clear simple
replacement and/or 'replacement over time' that occurs when replacing F
corelatives with A's or retiring Batch processes.

Mark Johnson

- Original Message -
From: Clifton Oliver [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, August 01, 2008 12:05 AM
Subject: Re: [U2] UniData PROC tip: DB command


 Just as a point of history, EXECUTE was invented by the Devcom team
 who wrote what became Prime INFORMATION. Our in-house motto was
 PROCs are Crocks.


 Regards,

 Clif

 On Jul 31, 2008, at 8:22 PM, MAJ Programming wrote:

  Microdata advanced PQ proc to PQN while regular Pick was advancing
  with
  EXECUTE. IMHO, EXECUTE won and Microdata faded into the sunset.
  (They had a
  few other programming shortcomings that are clearly deficient by
  comparison
  today).
 ---
 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] UniData PROC tip: DB command

2008-07-31 Thread MAJ Programming
What is the point of this PROC dissertation. If it was for us die-hards,
then we already know this. If it's for the newbies, then it
would/should/could scare the hell out of them.

Since you brought it up, you forgot the ( command, the [ command, the GSUB
command, the RTN command, the '[] nnn' command, the concatenate with the MV
command, the multiple MV command, and the whole boatload of user-exits with
their cryptic syntax.

Also is pattern matching in IF commands, different IF commands, multiple
statement separators, multiple answer separators, ICONV and OCONV, IH, L and
the A5 command.

I use PQN proc (nee Microdata) every week with a true Microdata client and
often with a UD client with some Microdata switch turned on.

Microdata advanced PQ proc to PQN while regular Pick was advancing with
EXECUTE. IMHO, EXECUTE won and Microdata faded into the sunset. (They had a
few other programming shortcomings that are clearly deficient by comparison
today).

My %2 cents
Mark Johnson
- Original Message -
From: John Jenkins [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, July 31, 2008 7:27 PM
Subject: RE: [U2] UniData PROC tip: DB command


 And a few more PROC commands for the die-hards:
 (I love them ! (sorry Wally !!)
 (from memory - I think I got it OK)
 BTW:
 H = Hollerith
 O=Output literal display text that follows
 Sn -set input buffer position to n (no blanks allowed in most flavours - a
 bit like var-1=xx)
 IP: - Input (key data) at current input buffer position with a colon
prompt
 IP %1 input (key data) into input buffer position 1

 %n - input buffer position n
 #n - output buffer position n
 m.n - file buffer m, attribute n - attribute 0 is the ID
 !n - Select buffer n
 M - a mark cann be used to go FORWARD (G F) or BACKWARD (G B) to
previous
 or next mark (bad practice - but you can do it)
 C - a comment
 RI / RO - reset input or output buffer
 F-CLEAR n - clear file buffer n
 F-OPEN n - open file buffer n to the specified file - if the open fails
the
 next statement is executed otherwise it skips one statement
 F-READ n - reads specified record into file buffer n - if the read fails
the
 next statement is executed otherwise it skips one statement
 STON - stack on
 X - exit with message
 MV x y- move into buffer x as specified in y (buffer or literal)
 F;%1;C1;+;?%1 - example of RPN math - adding one to input buffer 1 in this
 example:
 e.g. PUSH %1; PUSH character 1; ADD top two stack entries - POPPING them
and
 PUSHING the result on the stack; Store the top stack entry in %1

 IF-  (test) - accepts one imperative and no ELSE. Multivalued lists of
 conditions and simple actions allowed
 T - (type a literal or buffer)  - he optional Sn displays n spaces, a B
 displays a BELL, a + inhibits CRLF at the end of a display, a comma is
 concatenate.

 PQN
 C Proc to test file pointers to see if they work and do count F and DIR
 pointers.
 C
 C %1 holds count of files selected, %2 holds count of good file pointers
 C %3 holds count of bad file pointers, %4 folds count of F pointers
 C %5 holds count of DIR pointers, %6 is a work variable for the current
file
 name being processed
 C
 C Not run to check - so please be gentle on typos etc - just an example of
 power
 C if you want you can count multi-level files as well and say how many
 sub-files in each one as an exercise (if you want to !)
 C
 T Starting file pointer verify at ,+
 HDATE
 P
 RI
 RO
 F-CLEAR 1
 F-OPEN 1 VOC
 XBad Account - can't open VOC file
 MV %1 0
 MV %2 0
 MV %3 0
 MV %4 0
 MV %5 0
 HSSELECT VOC WITH F1 = F f DIR dir
 STON
 HPQ-SELECT 1
 PH
 10 MV %6 !1
 IF # %6 G 30
 F-READ 1 %6
 G 20
 IF 2.1 = F^253f^253DIR^253dir  G 15^25315^25317^25317
 G F
 15 F;%4;C1;+;?%4
 G F
 17 F;%5;C1;+;?%5
 M
 F;%1;C1;+;?%1
 F-CLEAR 2
 F-OPEN 2 %6
 G 20
 F;%2;C1;+,?%2
 G 10
 20 F;%3,C1,+,?%3
 T File ,%6, failed to open !,B
 G 10
 30 T S1
 T Run complete at ,+
 HDATE
 P
 T Checked ,%1, files: ,%2, good pointers and , %3, bad pointers
 T %4, hashed files, ,%5, Directory files.

 Regards

 JayJay
 ---
 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] UniData PROC tip: DB command

2008-07-31 Thread MAJ Programming
R83 ain't gonna help too much if the Proc ventured into the PQN (versus PQ)
category.

Microdata and regular Pick (R80, 83, 90, AP, D3) were in sync with their PQ
commands during the Jurrasic Pick era. In 1979 MCD introduced PQN with its
extended features as shown in the earlier email. I was there at that
roll-out.

In fact, Microdata PQN procs could not call PQ procs and vice-versa. They
were 2 separate interpreters. There were some tricks around this.

Over the years the non-Microdata flavours stepped up their PQ-level procs (T
command comes to mind instead of U01A6) but focused more on the EXECUTE
command. This opened the door to making the English Commands available to
regular Data/Basic instead of trying to bump up Proc to behave more like
Data/Basic. Since Proc was still interpreted, non-indentable and cryptic, it
was relegated to being a Menu handler or jobstream handler like Batch Files
(Not to be confused with Batch Updating). Some jobstreams were so obvious
that the paragraph interpreter was created to save all of the H and P
command usage.

(Sidebar. MCD also created the A correlative and had the edge for a few
years on the other earlier native systems. They caught up eventually).

But the damage was done as virtually every system that was written pre-1990
had procs scattered throughout. Every one of my clients still has procs.
Unless there was a complete re-write, it will still retain this legacy code
and language.

I don't know about UV but UD has a setting that allows true-PQN proc
commands to exist.

There was an earlier Microdata language called RPL that I've not heard of in
almost 30 years. Then there was those programmers who could create assembler
programs and MLOAD them. These are probably long gone as well. All of that
PIB and control block stuff was fascinating but unless you came from a
useful BAL background, you didn't have a chance. Am I showing my age?

My 2 cents.
Mark Johnson
- Original Message -
From: Francis Bennett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, July 31, 2008 10:56 PM
Subject: Re: [U2] UniData PROC tip: DB command


 I have an original R83 manual (dark grey and red with white stripes) - if
 anyone has a major problem with PROC (or BASIC or anything else for that
 matter) I could look it up.

 Francis
   - Original Message -
   From: John Jenkins
   To: u2-users@listserver.u2ug.org
   Sent: Friday, August 01, 2008 9:27 AM
   Subject: RE: [U2] UniData PROC tip: DB command


   And a few more PROC commands for the die-hards:
   (I love them ! (sorry Wally !!)
   (from memory - I think I got it OK)
 ---
 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] Basic SORT() Function not avail in UniVerse?

2008-07-25 Thread MAJ Programming
Given my age, I've used many manual sort methods (including bubble) years
and years ago.

Ever since I could LOCATE with the optional sorting parameter, I've never
put a bubble sort in MV programs. VB and QB yes. MV, No.

My 2 cents.
Mark Johnson
- Original Message -
From: DAVID WADEMAN [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, July 22, 2008 12:59 PM
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


 This is a UniData subroutine, but should work 

 SUBROUTINE B42.SORT.ARRAY(SORTED,ARRAY)
 * Bubble sort the elements of a dynamic array
 * Created by: David Wademan
 * Creation Date: 01/05/05
 SORTED=
 VALUES = DCOUNT(ARRAY,@VM)
 LOOP
CHANGES = 0
FOR X = 2 TO VALUES
   * For each adjacent pair
   ELEMENT1 = ARRAY1,X-1
   ELEMENT2 = ARRAY1,X

   IF ELEMENT2  ELEMENT1 THEN
  * Swap if pair out of sequence
  ARRAY1,X = ELEMENT1
  ARRAY1,X-1 = ELEMENT2
  CHANGES = 1
   END
NEXT X
 WHILE CHANGES DO REPEAT
 SORTED=ARRAY
 RETURN

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
 Sent: Tuesday, July 22, 2008 10:51 AM
 To: 'u2-users@listserver.u2ug.org'
 Subject: [U2] Basic SORT() Function not avail in UniVerse?

 Hey,

 I'm needing to SORT a dynamic array and apparently UniVerse doesn't have
 this
 Function.

 Other MV implementations have this, such as D3 - The sort() function
 sorts an
 attribute or value mark delimited str.exp in ascending order. [from
 ePick]

 There was also a user exit u1072 that did the same thing.

 Does anyone have a work around or fast path to same thing  maybe I'm
 missing something but can't see this in UV docs.

 -Baker
 ---
 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] Basic SORT() Function not avail in UniVerse?

2008-07-25 Thread MAJ Programming
Sidebar:
If we're concerned for speed, then don't have the DCOUNT in the end value of
a FOR...NEXT loop. Set the variable once before the loop.

example:

LAST=DCOUNT(ITAB,@AM)
FOR X=1 TO LAST

Mark Johnson
- Original Message -
From: Dave Laansma [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, July 23, 2008 10:35 AM
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


 I'd suggest this subroutine.  Brief and to the point:

   SUBROUTINE HUB.SORT.B (ITAB)

   OTAB = 

   FOR X = 1 TO DCOUNT(ITAB,@AM)
 ELEM = ITABX
 LOCATE ELEM IN OTAB BY AL SETTING PLACE ELSE NULL
 OTAB = INSERT(OTAB,PLACE;ELEM)
   NEXT X

   ITAB = OTAB

 

   RETURN

   END

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

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Marcos
 Sent: Tuesday, July 22, 2008 7:35 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

 We had the same issue back in the 90's. So a clever guy (Ed) that worked
 with us wrote a small C program (on Unix) to do the sort. This also
 included controlling/dependants fields. Any universe program could call
 it, passing in the variables and returned the items sorted.

 Speed is incredible. To this day it's still used and blitzes any
 universe program methods in sorting large arrays.

 Regards,
 Jeff Marcos

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Allen E. Elwood
 Sent: Wednesday, 23 July 2008 6:59 AM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

 Hey, and don't forget to do a speed test.  You know, because LOCATE is
 coded
 as part of the OS it just *might* be faster than bubble or speed sort
 options.

 In fact, this was a topic on this list about 3 or 4 years ago and
 someone
 doing the speed test concluded LOCATE was in fact faster.

 And no I don't remember who it was, or have a link to the thread (sorry)

 :-)

 Allen

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Israel, John R.
 Sent: Tuesday, July 22, 2008 10:26
 To: 'u2-users@listserver.u2ug.org'
 Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


 Note that if the array is big, you would get much better performance by
 loading it into a DIM array, so the sort of sort below, then put the
 results
 back into a dynamic array.

 Dynamic arrays are much easier to use, but when used wisely, dimensioned
 arrays can be MUCH faster.  This is true for any application, esp.
 looping
 through multi-values.

 John Israel


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of DAVID WADEMAN
 Sent: Tuesday, July 22, 2008 1:00 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

 This is a UniData subroutine, but should work 

 SUBROUTINE B42.SORT.ARRAY(SORTED,ARRAY)
 * Bubble sort the elements of a dynamic array
 * Created by: David Wademan
 * Creation Date: 01/05/05
 SORTED=
 VALUES = DCOUNT(ARRAY,@VM)
 LOOP
CHANGES = 0
FOR X = 2 TO VALUES
   * For each adjacent pair
   ELEMENT1 = ARRAY1,X-1
   ELEMENT2 = ARRAY1,X

   IF ELEMENT2  ELEMENT1 THEN
  * Swap if pair out of sequence
  ARRAY1,X = ELEMENT1
  ARRAY1,X-1 = ELEMENT2
  CHANGES = 1
   END
NEXT X
 WHILE CHANGES DO REPEAT
 SORTED=ARRAY
 RETURN

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Baker Hughes
 Sent: Tuesday, July 22, 2008 10:51 AM
 To: 'u2-users@listserver.u2ug.org'
 Subject: [U2] Basic SORT() Function not avail in UniVerse?

 Hey,

 I'm needing to SORT a dynamic array and apparently UniVerse doesn't have
 this
 Function.

 Other MV implementations have this, such as D3 - The sort() function
 sorts an
 attribute or value mark delimited str.exp in ascending order. [from
 ePick]

 There was also a user exit u1072 that did the same thing.

 Does anyone have a work around or fast path to same thing  maybe I'm
 missing something but can't see this in UV docs.

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

 The information contained in this email and any attached files are
 strictly
 private and confidential. This email should be read by the intended
 addressee
 only.  If the 

Re: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-25 Thread MAJ Programming
This is a little catch-22. Years ago, there was a limit on the number of
'variables' a program had. This, since each element in a DIM array is a
variable, you could not DIM REC(10). Thus legacy code may have been
forced to use dynamic arrays on large items.

Nowadays, we may not be held to any limits (or they are very large). Us
programmers tend to stretch the limits of what's available at the time.

Thus, knowing all of the programming options (array types, REMOVE, LOCATE,
concatenation, work files etc), we can apply the best fit for the issue at
hand.

Mark Johnson
- Original Message -
From: Baakkonen, Rodney A (Rod) 46K [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, July 23, 2008 3:48 PM
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


 I guess my point was a little off topic, as I was really calling
 attention to performance issues with dynamic arrays in general and not
 about sorting keys. When dynamic arrays can out perform work files, we
 will use them.

  We have seen processes that used dynamic arrays run for a week. Even
 with doing REMOVE and using concatenation to build the array. Changing
 the logic to use a work file resulted in the same process finishing in
 hours.

 The other aspect is that a lot dynamic arrays in programs do more that
 just hold keys. Doing a locate on one array may result in multiple data
 elements being inserted into corresponding arrays. With this type of
 intermediate data, writing and sorting a work file will run circles
 around internal arrays.

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Rex Gozar
 Sent: Wednesday, July 23, 2008 1:50 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Basic SORT() Function not avail in UniVerse?

 I've done research on sorting in the past, working with 100,000 to
 1,000,000 element lists.

 Allen: LOCATE's are faster, but only when you're dealing with less than
 100 elements.  Because LOCATE's must start at the beginning of a string
 and traverse the entire length, they get slower and slower.  Bubble
 sorts are also useless when dealing with a large number of elements.

 Jeff: Yes, a C program is the fastest (at least it was at my last job
 where we used GCI to integrate it with the universe shell.)

 As for writing out ids to work files just to sort them, it adds
 unnecessary overhead to the whole process.

 I wish universe had an intrinsic sort() function.  Since they don't I
 wrote my own and posted it on PickWiki.  You could also use the
 QuickSort sample posted in this thread.  Once you standardize on a
 particular sorting program, you'll be amazed at the number of times it
 comes in handy.

 http://www.pickwiki.com/cgi-bin/wiki.pl?Sorting
 http://www.pickwiki.com/cgi-bin/wiki.pl?ShellSort
 http://www.pickwiki.com/cgi-bin/wiki.pl?QuickSort

 Another handy function is to be able to flip fields to values and vice
 versa.  See http://www.pickwiki.com/cgi-bin/wiki.pl?Row2Col and again
 it's optimized for a large number of elements.

 rex
 ---
 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] Basic SORT() Function not avail in UniVerse?

2008-07-25 Thread MAJ Programming
I don't think that the sort/extract function alone is justification for
choosing dim arrays over dynamic arrays in programs.

Sure, for large array concepts/projects, DIM will prevail. But IMHO, for
data READ/WRITE, dynamic appears just as fast as DIM.

Maybe this doesn't apply to large systems with 100's of users. But I recall
when the  replaced the EXTRACT family of commands that typingly incouraged
programmers to use MATREAD instead of READ.

I've also run into problems with legacy systems where the data in a file
exceeds a nominal maximum number of fields and I've spent (wasted) clients
time/money changing DIM REC(100) to DIM REC(200). Who knows, in 20 years
I'll be the errant programmer when 200 needs to go to 300.

If there is a file defining INCLUDE that has the DIM, then it's an easy
repair to move forward. If they're DIM'd separately in each program (with
differing names), then it's a nightmare and bound to omit one.

My 2 cents
Mark Johnson
- Original Message -
From: Baakkonen, Rodney A (Rod) 46K [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, July 23, 2008 1:24 PM
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


 That is why we discourage developers from using dynamic arrays in
 programs. Once they get to a certain size, performance goes out the
 window. We have them store all intermediate program data in work files
 that sort quickly when well sized.

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Dave Laansma
 Sent: Wednesday, July 23, 2008 10:42 AM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

 I've been experimenting and discovered something.  Instead of waiting
 until you have all (say) 100,000 elements to sort at once, why not sort
 them in blocks of (say) 5,000.  So I wrote this little subroutine that
 takes two parameters, a relatively small un-sorted table and the larger
 sorted table and sorts the un-sorted into the sorted table.

 The calling program accumulates the unsorted ITAB and when it reaches a
 certain watermark, say 5,000 elements, this subroutine is called and
 those 5,000 get inserted into the master sorted OTAB, which initially is
 null.

 My experimentation discovered this method to run extremely quickly
 compared to waiting for the entire 100,000 element table to be built
 before starting the sort.  Try it out!

   SUBROUTINE HUB.SORT.B (ITAB,OTAB)

   X2= DCOUNT(ITAB,@AM)

   FOR X = 1 TO X2
 ELEM = ITABX
 LOCATE ELEM IN OTAB BY AL SETTING PLACE ELSE NULL
 OTAB = INSERT(OTAB,PLACE;ELEM)
   NEXT X

 

   RETURN

   END

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


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Marcos
 Sent: Tuesday, July 22, 2008 7:35 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

 We had the same issue back in the 90's. So a clever guy (Ed) that worked
 with us wrote a small C program (on Unix) to do the sort. This also
 included controlling/dependants fields. Any universe program could call
 it, passing in the variables and returned the items sorted.

 Speed is incredible. To this day it's still used and blitzes any
 universe program methods in sorting large arrays.

 Regards,
 Jeff Marcos

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Allen E. Elwood
 Sent: Wednesday, 23 July 2008 6:59 AM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?

 Hey, and don't forget to do a speed test.  You know, because LOCATE is
 coded
 as part of the OS it just *might* be faster than bubble or speed sort
 options.

 In fact, this was a topic on this list about 3 or 4 years ago and
 someone
 doing the speed test concluded LOCATE was in fact faster.

 And no I don't remember who it was, or have a link to the thread (sorry)

 :-)

 Allen

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Israel, John R.
 Sent: Tuesday, July 22, 2008 10:26
 To: 'u2-users@listserver.u2ug.org'
 Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


 Note that if the array is big, you would get much better performance by
 loading it into a DIM array, so the sort of sort below, then put the
 results
 back into a dynamic array.

 Dynamic arrays are much easier to use, but when used wisely, dimensioned
 arrays can be MUCH faster.  This is true for any application, esp.
 looping
 through multi-values.

 John Israel


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of DAVID WADEMAN
 Sent: Tuesday, July 22, 2008 1:00 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Basic SORT() Function not avail in 

Re: [U2] Basic SORT() Function not avail in UniVerse?

2008-07-25 Thread MAJ Programming
For those managing D3 as well, you can write the array to ANY file-item and
use

SORT-LIST FILENAME ITEMNAME

instead of the Pointer-File.
Mark Johnson
- Original Message -
From: Dave Laansma [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, July 24, 2008 10:49 AM
Subject: RE: [U2] Basic SORT() Function not avail in UniVerse?


 I think I like this one better than the Unix sort.  It is really quick
 too.  However I'd suggest using the SORT.LIST instead of the
 GET.LIST/MERGE.LIST:

SUBROUTINE HUB.SORT.C (ITAB)

SORT.KEY= tmpsortfile
SORT.KEY2 = @UID
SORT.KEY3 = @USERNO
SORT.KEY4 = TIME()
SWAP @AM WITH _ IN SORT.KEY

WRITELIST ITAB ON SORT.KEY

CMD = SORT.LIST :SORT.KEY
EXECUTE CMD CAPTURING MSG RETURNING ERR

READLIST ITAB FROM SORT.KEY ELSE ITAB = 

  

RETURN

END

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


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Rex Gozar
 Sent: Thursday, July 24, 2008 8:15 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Basic SORT() Function not avail in UniVerse?

 And since no one has mentioned it yet, MERGE.LIST takes advantage of
 Universe's built-in (a.k.a C) sorting ability.

 SUBROUTINE SORT.ITEM(ITEM)
 WRITELIST ITEM ON MYLIST
 STMT = 
 STMT-1 = GET.LIST MYLIST
 STMT-1 = MERGE.LIST 0 UNION 0
 STMT-1 = SAVE.LIST MYLIST
 READLIST ITEM FROM MYLIST ELSE ABORTM IMPOSSIBLE!
 DELETELIST MYLIST
 RETURN
 END

 Of course, this still adds the i/o overhead of reading and writing, but
 is still faster than LOCATE's on 1000+ element items.

 [Another] aspect is that a lot dynamic arrays in programs do more than
 just hold keys...  which is why I wrote ROW2COL and QUICKSORT as
 complimentary subroutines (both on PickWiki).  ROW2COL will flip
 associated multivalues sideways so QUICKSORT can sort and subsort on
 values in the corresponding rows; then I use ROW2COL to flip them
 back.  Ideally, Universe should provide similar built-in functionality.

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

2008-07-11 Thread MAJ Programming
I believe Accuterm's WED (Windows EDitor) keeps an archive on the PC for
unplanned disconnections. There may be a toggle to make it more useful.

My 1 cent
Mark Johnson
- Original Message -
From: Doug Chanco [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, July 11, 2008 7:56 AM
Subject: RE: [U2] ouch


 One thing to note as well, subversion (version control) is free and it
 only took me a few days to write wrappers to the SVN commands in pick
 (and get them to work the way I wanted).  So far it's working out pretty
 well!

 Dougc

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Symeon Breen
 Sent: Thursday, July 10, 2008 8:27 AM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] ouch

 Worth noting if you use wintegrate editor, or unidebugger editor
 (probably
 others as well) they keep a copy of the last edit on your PC's disk for
 you
 as well.



 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Roger Glenfield
 Sent: 10 July 2008 12:24
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] ouch

 Great answer to prevent future problems, such as
 I didn't really want to do that.
 thanks for reminding me about some really old options.  ;)
 Roger
 Louie Bergsagel wrote:
  A former co-worker of mine had a nifty paragraph he wrote which would
 edit,
  compile, catalog and run a program in one fell swoop.
 
  Because I detest wasting time with repetitive tasks, I've written a
 similar
  program which also copies the current version of a program to a backup
 file
  in case I trash it, or want to revert to a previous version.
 
  EDBP [program.name] does the following:
  1. Copies [program.name] to a backup directory (e.g. LOUIEB.BP) with a
 name
  of program.name:_:date():_:time():_.bak
  2. Executes ED LOUIEB.BP program.name
  3. Executes BASIC and CATALOG commands unless I say no to a prompt.
  4. Executes the cataloged command unless I say no to a prompt.
 
  This is the poor dude's version control program.
 
  -- Louie In Seattle
  ---
  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 - http://www.avg.com
 Version: 8.0.138 / Virus Database: 270.4.7/1543 - Release Date: 7/9/2008
 6:32 PM
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/

 --
 This message has been scanned for viruses and
 dangerous content by SecureMail, and is
 believed to be clean.
 ---
 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] Calling on AccuTerm users who are using the GUI designer

2008-07-03 Thread MAJ Programming
I have pretty extensive GED/WED experience.

GUI programs behave just the same as a regular program or as a subroutine.
You can use the @COMMAND if you wish to pass paramaters to a RUN program or
you can create the entire GED item as a called subroutine.

WHat Glen means by bail-outs are that the ATGUISHUTDOWN command must be
executed and at the end of the GUI session. You can have a green screen RUN
or CALL a GED/WED item and the SHUTDOWN will close the new window when done.

If you are calling one GUI sub from another GUI program, the sub needs to
know that you are NOT going to SHUTDOWN in the sub, just handle as an
ACTIVATE or ENABLE/DISABLE. (Actual code escapes me at this time.)

The real trick of GED/WED programming is understanding how Accuterm uses the
PC as the form(s) handler and maintaining all of the environment variables
properly GUISTATE, GUIERRORS and GUIEVT.

My 2 cents,
Mark Johnson
- Original Message -
From: Glen B [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, July 03, 2008 7:07 PM
Subject: RE: [U2] Calling on AccuTerm users who are using the GUI designer


   If you built it as a stand alone GUI app then you can wrap the main
 section of the code in a subroutine/return block and use it like any other
 subroutine call. I do that for search pop-up windows currently. Just make
 sure that bail-outs are handled correctly.

 GlenB

  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] Behalf Of Brenda Price
  Sent: Thursday, July 03, 2008 4:54 PM
  To: u2-users@listserver.u2ug.org
  Subject: [U2] Calling on AccuTerm users who are using the GUI designer
 
 
  OK, I'm just starting out with this.
 
 
 
  I have an existing program that has over lots of options from it that
  each call a subroutine.  The record id is passed to the calling
  subroutine.
 
 
 
  I need to add a new option and I want to create a AccuTerm GUI program
  for it but I still need to pass in the record id.  I went through the
  AccuTerm Tutorial and built the screen the way I want it, then found
  oops, it doesn't look like I can call that routine and pass in the
  record id, actually I need to pass in 3 variables.  I thought I'd ask
  the list before I scrap this and go back to the normal green screen
  application.
 
 
 
  Brenda Price
 
  Affiliated Acceptance Corporation
 
  Sunrise Beach, MO
  ---
  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] terminal emulator

2008-06-28 Thread MAJ Programming
Yo no habla citrix but I can strongly endorse Accuterm. Once you get past
all of the expected emulator stuff you WILL fall in love with the GUI
designer for creating VB-style forms on top of any MV database. It's a whole
new world of programming accomplishments with putting many separate
green-screen business concepts on one place that becomes more intuitive.

Shameless endorsement,
Mark Johnson
- Original Message -
From: Ross Ferris [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Cc: Andy Stenning [EMAIL PROTECTED]
Sent: Friday, June 27, 2008 9:19 AM
Subject: RE: [U2] terminal emulator


 We have had clients use accuterm with citrix with no problems I can
 recall

 Ross Ferris
 Stamina Software
 Visage  Better by Design!


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:owner-u2-
 [EMAIL PROTECTED] On Behalf Of Bob Witney
 Sent: Friday, 27 June 2008 9:09 PM
 To: u2-users@listserver.u2ug.org
 Cc: Andy Stenning
 Subject: [U2] terminal emulator
 
 We are using PowerTerm Lite as our terminal emulator
 
 
 
 Works fine from a PC but sadly won't work through Citrix
 
 
 
 Is anyone using a terminal emulator via Citrix (we have MAC's that need
 to come across that way)
 
 
 
 Thanks
 
 
 
 Bob Witney
 
 IT Senior
 
 Explore Worldwide
 
 Nelson House
 
 55 Victoria Road
 
 Farnborough
 
 Hants
 
 GU14 7PA
 
 
 
 
 Confidentiality Notice:  This e-mail and any attachments are intended
 solely
 for the addressee and may contain confidential or privileged
 information.
 If you are not the named addressee, or the person responsible for
 delivering
 the message to the named addressee, please notify the sender as soon as
 possible and delete the material from your computer.  This message will
 be
 protected by copyright.  If it has come to you in error, you must not
 take any
 action based on its contents nor must you copy or show the message to
 any
 person other than the intended recipient.
 _
 This email has been scanned by the MessageLabs Email Security System.
 For more information please visit http://www.messagelabs.com/email
 __
 ---
 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] multi-valued extraction

2008-05-20 Thread MAJ Programming
Brian:

Your use of the F style of correlative begs a question. Did you venture
into A correlatives? I'm sure you did but I wonder why you offer up an F
style here. Perhaps a speed consideration?

I first learned F style in the Jurrasic Pick era and for 98% of the time,
use A types today. There are a few F methods that don't appear in A
styles.

The F style disuaded people from continung with dict items as it was of
the Reverse Polish Notation (RPN) style and harder to visualize. Not so many
people understood 'stack-style' processing. This is similar to the way HP
calculators worked. 4 enter 5 plus instead of 4 plus 5 equal sign.
Hp calcuators didn't have an equal sign nor parenthesis.

The A style was more readable and was more Data/Basic in readability. Thus
it could be more easily maintained.

BTW, I've never had any problems with any type of correlative on line 008
regardless of there being an A or S on line 1. In fact, again I only
have one real reason to use an S instead of an A when creating a new
dict item.

Here's the A correlative in case anyone cares:

008 A;(1[1,4])(Totherfile;X;1;1)

Finally, Tony's suggestion causes the output to be sorted by the [1,4]
extraction but display the (Totherfile;X;1;1) value. Not that it's wrong in
any way, but using 007  008 allows you to break it up in internal (sorted,
008) format then display (converted 007) format. Doing it on a single line,
either F or A style or as an I descriptor doesn't offer the chance to
sort by the [1,4] before displaying the translation. Otherwise it sorts by
the translation.

Just a curiosity.
Thanks
Mark Johnson


- Original Message -
From: Brian Leach [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, May 20, 2008 4:01 AM
Subject: RE: [U2] multi-valued extraction


 Tony

 A. FYI the ^253 is the representation of a value mark in the UniVerse
 editor. So the first example will work correctly.

 B. If I were forced to use a hideous Pick style dictionary rather than a
 nice I-descriptor (grin) I would probably use the following, which will
also
 work successfully:

 F;1;C1;C4;[];(Totherfile;X;1;1)

 But then you get what deserve using A/S types!

 Brian




  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Tony G
  Sent: 20 May 2008 06:19
  To: u2-users@listserver.u2ug.org
  Subject: RE: [U2] multi-valued extraction
 
  Please have a look at my blog entry:
  remove.pleaseNebula-RnD.com/blog/tech/mv/2007/01/dict-items01.htm
  l
  I explained there how Pick dict items work, where conversions
  and correlatives are processed in a very specific order.  I'm
  not familiar enough with the nuances of the Prime influences
  on U2, but this may help a number of us to learn.  Aside from
  common documentation, can anyone provide insight into nuances
  about exactly how the U2 platforms (and I really hate to lump
  them together for this) might process descriptors like this?
 
  In D3, one way I'd solve this problem is to use the dict
  attributes as follows:
 
  001 S
  002 1
  007 Tfile;x;;99
  008 T1,4
 
  Richard, note that your first example of T1,4^TOther.File
  will not work because of the way the dict items are
  processed, as described in my blog.  I'm also guessing the
  253 in there was just a typo.  The second and third
  examples are fine for output only, but would be different
  depending on how you'd want the data sorted and selected.
  Again, understanding this for U2 types would be very helpful.
 
  Thanks.
 
  Tony Gravagno
  Nebula Research and Development
  TG@ remove.pleaseNebula-RnD.com
 
 
   From: Richard Lewis
   In a Pick-style dictionary, a correlative like this should
  work:
  
   T1,4^253TOTHER.FILE;X;;99
   or:
   A1(T1,4)(TOTHER.FILE;X;;99)
   or:
   F;1;(T1,4);(TOTHER.FILE;X;;99)
  
   or as an I-descriptor expression:
  
   TRANS(OTHER.FILE,SUBSTRINGS(F1,1,4),99,'X')
  ---
  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] Press any k

2008-05-06 Thread MAJ Programming
That's the trouble. It CANNOT be used 'all over the place'. Surely you have
names and addresses who's lengths are often not their maximum. Even dates
can have today as 5/6 instead of 05/06/08. Money values also cannot be
dependent upon consistent lengths.

Thus, even though every 6 digit PN can be consistent, that's only for one of
dozens of other entries which is my original point. The users would have to
memorize those that requre enter and those that don't. Plus, how can you
cause the errant enter for the answering following the INPUT PN,6 to NOT
welcome the enter alone. OR what if enter alone were a valid choice but
not the intended choice.

It's hard to compare the savings of keystrokes to the 'back-up' concepts of
wrong following answers.

So in this divided topic, I choose to always require a enter even if it's
a Y/N answer.

Respectfully,
Mark Johnson
- Original Message -
From: Brutzman, Bill [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, May 02, 2008 10:07 AM
Subject: RE: [U2] Press any k


 We have 6-digit part numbers here.  With input PN, 6... I have
 single-handedly saved the company millions of keystrokes per year.

 Also... it is not inconsistent if it is used all over the place.

 Q: Are we not men?
 A: We are the DevoTees.

 -Bill

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of MAJ Programming
 Sent: Thursday, May 01, 2008 7:53 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Press any key to continue...


 IMHO I find the mixed use of INPUT statements with some not requiring an
 enter keystroke while most requiring the enter to be incredibly
 distracting.

 I've long heard the argument that saving the user the single pathetic
 keystroke has value but not when things go wrong. In the big picture it's
a
 function of who is programming whom.

 While it can be argued that some Y/N questions don't require the enter,
it
 creates an inconsistent interface, removing the opportunity should they
 press Y when they wanted N. I've seen 3, 4 and even date answers of
the
 form INPUT ANS,8: where the enter is implied upon the entry of the 8th
 character.

 Then the enter answer could accidentally apply to the next question and
 then more inconsistency ensues.

 Just an opinion,
 Mark Johnson
 - Original Message -
 From: Brutzman, Bill [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Wednesday, April 30, 2008 10:50 AM
 Subject: RE: [U2] Press any key to continue...


  On a lot of screens here , I force end-users to type 'x' to exit (per
the
  following code) so that they do not bypass an error message screen.
 
  I also use square brackets [#] on a single-character prompts and
 triangular
  brackets on multi-character prompts # so that end-users know what to
  expect.
 
  --Bill
 
  *
  Error.Prompt:
 
crt @(-1)
 
crt @(10,10) : ' Descriptive Error Message ' :
crt @(10,11) : ' [X] :
 
input Ans.Error, 1
  Ans.Error = upcase(Ans.Error)
 
begin case
  case Ans.Error = 'X'  ;  null
  case 1;  call *BEEP.BEEP.AND.SLEEP.R0  ;  go
  Error.Prompt
end   case
 
  return to Main.Screen
 
  *-
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Press any k

2008-05-06 Thread MAJ Programming
If your environment has promoted a consistent interface across all programs,
then congratulations on the {} and  prompting.

Unfortunately within all of my client's systems, there rarely appears a
consistent interface, thus my perspective on this topic. Even within one set
of programs from the same menu, some prompts for Enter Company use the
automatic enter and some do not. Oddly enough, this example does a R%3
to the answer so even if it is INPUT A,3 then the users either type
1enter or END without. Doesn't paint a good picture.

Also, part of my perspective is that virtually all of my client's systems
are a strong mix of procs and programs and procs don't support the automatic
enter (at least I haven't seen it). So that's another inconsistency that I
deal with.

Thanks
Mark Johnson
- Original Message -
From: Brutzman, Bill [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, May 06, 2008 10:15 AM
Subject: RE: [U2] Press any k


 It is handled via the prompts... using [square] brackets for standard
 numbers of digits and triangular brackets for variable length entries.
 For most users, this takes approx one day to get acclimated.

 InCorrect entries lead to an error screen with a Beep.Beep.And.Sleep.

 In all, this method is a fast way to validate entered data.

 --Bill

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of MAJ Programming
 Sent: Tuesday, May 06, 2008 2:00 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Press any k


 That's the trouble. It CANNOT be used 'all over the place'. Surely you
have
 names and addresses who's lengths are often not their maximum. Even dates
 can have today as 5/6 instead of 05/06/08. Money values also cannot be
 dependent upon consistent lengths.

 Thus, even though every 6 digit PN can be consistent, that's only for one
of
 dozens of other entries which is my original point. The users would have
to
 memorize those that requre enter and those that don't. Plus, how can you
 cause the errant enter for the answering following the INPUT PN,6 to NOT
 welcome the enter alone. OR what if enter alone were a valid choice
but
 not the intended choice.

 It's hard to compare the savings of keystrokes to the 'back-up' concepts
of
 wrong following answers.

 So in this divided topic, I choose to always require a enter even if
it's
 a Y/N answer.

 Respectfully,
 Mark Johnson
 ---
 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] Press any key to continue...

2008-05-01 Thread MAJ Programming
IMHO I find the mixed use of INPUT statements with some not requiring an
enter keystroke while most requiring the enter to be incredibly
distracting.

I've long heard the argument that saving the user the single pathetic
keystroke has value but not when things go wrong. In the big picture it's a
function of who is programming whom.

While it can be argued that some Y/N questions don't require the enter, it
creates an inconsistent interface, removing the opportunity should they
press Y when they wanted N. I've seen 3, 4 and even date answers of the
form INPUT ANS,8: where the enter is implied upon the entry of the 8th
character.

Then the enter answer could accidentally apply to the next question and
then more inconsistency ensues.

Just an opinion,
Mark Johnson
- Original Message -
From: Brutzman, Bill [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, April 30, 2008 10:50 AM
Subject: RE: [U2] Press any key to continue...


 On a lot of screens here , I force end-users to type 'x' to exit (per the
 following code) so that they do not bypass an error message screen.

 I also use square brackets [#] on a single-character prompts and
triangular
 brackets on multi-character prompts # so that end-users know what to
 expect.

 --Bill

 *
 Error.Prompt:

   crt @(-1)

   crt @(10,10) : ' Descriptive Error Message ' :
   crt @(10,11) : ' [X] :

   input Ans.Error, 1
 Ans.Error = upcase(Ans.Error)

   begin case
 case Ans.Error = 'X'  ;  null
 case 1;  call *BEEP.BEEP.AND.SLEEP.R0  ;  go
 Error.Prompt
   end   case

 return to Main.Screen

 *-
 ---
 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] Maximum size of the record lock table

2008-04-15 Thread MAJ Programming
I wish there were some way to guage the experience factor with questions
like these. The question was the number of the locks. Many of the answers
seem to be applicable in general, like a tutorial on related topic, but miss
the primary question.

So how could there be a measure so if a newbie asks the question, then the
related items are helpful. But if an experienced person asks, the related
items are clutter.

Granted, many read the forums. It just appears that the slightest hint of a
topic brings a wide variety of responses.

My 1 cent
Mark Johnson
- Original Message -
From: Tom Dodds [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, April 15, 2008 7:47 PM
Subject: RE: [U2] Maximum size of the record lock table


 Everyone seems to have missed the question.  Steve knew the problem and
what
 was required to fix it.  What he wanted was

 Can someone tell me what the maximum of locks allowed is, or what the
size
 of the lock table is?

 Tom Dodds
 [EMAIL PROTECTED]
 630.235.2975


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Allen Egerton
 Sent: Tuesday, April 15, 2008 3:57 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Maximum size of the record lock table

 Steve Ferries wrote:
  Hi All,
 
  We had some excitement today when we ran a program with READU, with the
  associated WRITE commented out. In no time at all (these RS6000s are
  fast!), the system froze.  I had a login and some UniVerse commands
  worked, but others did not. LIST.READU showed one user with thousands of
  locks and that is how we identified the program.

 snip

 Directly underneath the commented out WRITE, add a RELEASE statement.

 In such circumstances, I typically code something like:
 *DBG   WRITE PEOPLE.REC ON PEOPLE.FILE, PEOPLE.ID
 RELEASE PEOPLE.FILE, PEOPLE.ID;*  DBG

 And when I'm finished debugging, I just uncomment the write, and comment
 the release.




 --
 Allen Egerton
 aegerton at pobox dot 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/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Difference between Universe and Unidata

2008-04-12 Thread MAJ Programming
For what it's worth, here's my 2 cents.

I have and have had UV and UD clients as well as MvBase, D3 and a whole
bunch of Wintel native and proprietary variants. I typically inherit the
environment although I prefer to migrate all the native clients to D3 for
simplicity when the time comes. Except for Microdata which is a tough fit
for D3.

Regarding my UV/UD clients, I tend to prefer the more native feel of UD
although many argue that UV is a more natural upgrade path. In my humble
experiences, UV behaved more differently when compared to UD from a native
conversion perspective. Personally, I like UD more than UV from the keyboard
perspective.

For the Microdatas, of which I still have a few, I appreciate that UD can
accommodate true PQN proc so the conversion will be easier.

Oddly enough, here in NY/NJ there seems to be a higher degree of UV than UD.
I'm looking to hire a MV person for a client and UV shows up way more than
UD. The client's site is D3 though so there will be a learning curve.

All of my UV/UD clients maintain a noticably higher degree of stability than
the D3 clients. But under unix, most client's of mine with UV/UD have
trained their IT guys under some unix maint whereas the D3's (mostly all
W2K) are easily maintained with the IT guys using traditional W2K skills.

Mark Johnson
- Original Message -
From: George Land [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Saturday, April 12, 2008 4:25 AM
Subject: Re: [U2] Difference between Universe and Unidata


 Fundamentally the two databases deliver the same thing, we may each have
 personal preferences either way but they will both very competently run
your
 application on Windows, Unix or Linux up to several thousand users.

 Where the choice does make a difference is in some of the more complex
 facilities.  So if you need native language support because you want to
sell
 in to China, for example, then you need UniVerse.  If you want full high
 availability/disaster recovery then, arguably, you would be better off
with
 UniData - similarly if you want EDA to store you data in DB2 then you want
 UniData.  But unless you need these more advanced/obscure facilities it
 isn't going to make a great deal of difference which you use.

 George Land
 www.u2uk.com


 On 11/04/2008 22:33, waivic [EMAIL PROTECTED] wrote:

  This is more like a marking question. I go through the introductions of
  Universe and Undiata in IBM WebSite. I still have no idea about the
  difference of these two products execept they are both multivaleue
  databases. Could anyone give a better explanation about the fundamental
  difference bewteen Universe and Unidata?
 


 **
 This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If you have received this email in error please notify us immediately on +44
(01952) 214000 or at [EMAIL PROTECTED] . Please delete and
destroy any copies in any format of this email you may have received in
error. The recipient should note that the views contained or expressed
within this correspondence do not necessarily reflect those of APT Solutions
Limited , it subsidiaries, affiliates or associates. This email and any
attachments are not guaranteed to be free from so-called computer viruses
and it is recommended that you check for such viruses before down-loading it
to your computer equipment. It is the responsibility of the recipient to
ensure that the onward transmission, opening or use of this message or any
attachments will not adversely affect their systems or data.

 Registered Office:- Stratum House, Stafford Park 10, Telford, Shropshire,
TF3 3AB

 Registration Number:- 2228445

 Place of Registration: England  Wales
 **
 ---
 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] Uppercase

2008-04-10 Thread MAJ Programming
Don't forget that Accuterm has a very sweet suite of GUI programming tools.
- Original Message -
From: Dennis Bartlett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, April 08, 2008 1:28 PM
Subject: [U2] Uppercase


 This system wont allow me to compile code written in any form of lowercase
 or with blank lines in the source...

 Does anyone know how to change this?

 I've found some software which looks really promising called FlashGUI
which
 effectivly creates a windows looking GUI using pickbasic commands
 (www.infotools.ru) which won't compile on this machine.
 ---
 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] blank lines in code / mixed case

2008-03-16 Thread MAJ Programming
I too took typing in 9th grade (1972) and had peaked at around 75 words per
minute properly using all 9 fingers. I feel that as a programmer we typists
can type faster as we are typing a lot of the same words over and over. But
perhaps that's slowed down by more punctuation characters being typed.

I also had an old Underwood typewriter since I was 4 and always enjoyed
typing. I was one of those nerds who typed everything except math homework
in high school as I could actually type faster (and neater) than printing or
writing. I even had one of the first home versions of an electric typewriter
as my father had a home office with a secretary.

My opinion on the mixed casing touches on something not yet touched on:
Intelligent editors. Now I know that many on this forum are in other
languages and can add my reasons for preferring upper case.

1. 99% of my client's code is long-term (legacy) that is written in
exclusively upper case as lower case probably didn't work.
2. I've been reading upper case Pick code for over 29 years and it looks
funny in mixed casing.
3. Even when I present a code example to this or the Raining Data forum, I
tend to change the typeface to Courier. Seeing code in proportional spacing
and mixed casing looks doubly strange.
4. I don't know about external editors for MV systems, but there's no real
link between the editor environment and the compiler.

The last comment comes from my limited use in VB. There, since I cannot use
a period as my 'word delimiter' in a variable, ie CUST.REC, and I don't care
for the underscore and truly dislike the $ as a delimiter, VB suggests that
you declare variables in a Constants Module.

In that module, you can DIM CustName as String and everywhere you type
CUSTNAME or custname or CuStNaMe it will convert it to CustName. That kind
of magic is missing in MV and as someone suggested, CustName could possibly
not be the same as CUSTNAME.

With that threat of working on this inherited MV code, I prefer upper case.
That seems to serve me well as I straddle U2 systems as well as D3 and even
older native and Microdata clients. Those older ones don't even allow lower
case. In fact, early Microdata keyboards didn't have lower case letters, you
had to use char(95) etc.

My 2 Cents
Mark Johnson

PS. My kids (18  21) both use 2 finger typing and I beat them every time.
On the other hand, they kill me with the T9 phone typing especially using
all of the acronyms. As programmers, I've seen many 2 finger persons who
just don't look as on the ball as they should. Not intellectually, just the
slower rate of conveying their thoughts to the computer. Despite mousing,
that's still our most prevelant form of coding.
- Original Message -
From: Eric Armstrong [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, March 10, 2008 3:15 PM
Subject: RE: [U2] blank lines in code / mixed case


 Along with Robert I also took Typing (along with football, tennis, soccer)
 in High School and am glad I did.

 Eric


 -Original Message-
 From: Robert Houben [mailto:[EMAIL PROTECTED]
 Sent: Monday, March 10, 2008 10:24 AM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] blank lines in code / mixed case


 BTW, to the comment about straight guys not taking typing:  I know that
they
 didn't usually, but when I was in high school back in the plasticine epoch
 (right after the Pleistocene epoch), a bunch of my friends and I took
typing
 because we thought it would be an easy course (and there were girls in
it!)
 Given my career, it was one of the most useful courses I took in High
School
 - one of the few, in fact, where I can say that I still clearly reap the
 benefits of it every day!
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/





 LOBEL FINANCIAL PRIVACY NOTICE:
 This communication may contain confidential company information that is
protected by federal law. Federal regulations prohibit the disclosure (or
re-disclosure) of confidential information without the written consent of
the person(s) to whom it pertains. Additionally, the views or opinions
presented in this email are solely those of the author and do not
necessarily represent those of the company.
 ---
 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] D3 Position Open

2008-02-29 Thread MAJ Programming
A client of mine is looking for a junior-medium MV person for their 36 user
D3/W2K shop. Full-time and mostly support and problem chasing with minor
development. Great opportunity to learn another platform as well as many
programming techniques and Acuterm GUI.

To not clog the forum with replies, you may reply directly to me at
[EMAIL PROTECTED]

Location is in North New Jersey. Results experience would be great.

Principals only at this time.

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


Re: [U2] Excel downloads

2008-02-14 Thread MAJ Programming
I'll try this method. I do beaucoups of downloads.
Thanks
- Original Message -
From: Symeon Breen [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, February 13, 2008 10:42 AM
Subject: RE: [U2] Excel downloads


 Instead of 07748,012345,000123   have =07748,=012345,=000123
??

 -Original Message-
 From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of MAJ Programming
 Sent: 13 February 2008 14:05
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Excel downloads

 On this topic, I have a request for a solution.

 In New Jersey, all the zip codes start with '0'. Add product codes like
 012345 and order numbers like 000123 etc and you'll see the leading zeros.

 When creating and exporting a CSV to eventually be used by Excel, those
 columns lose their leading zeros as Excel thinks they are numeric.

 I know that the users can format column and choose Custom etc.

 I've converted the same CSV into a HTML boxed record and the zeros remain
as
 expected.

 I've tried prepending the values with an astrophe (single quote) to no
 avail.

 The true data (as viewed in Notepad) is exactly as I sent it:
 07748,012345,000123

 So, any tricks in having Excel leave the zeros alone when clicking on the
 CSV in WIndows Explorer. Meaning, that the person opening the CSV in excel
 doesn't have to convert anything.

 Thanks in advance
 Mark Johnson
 - Original Message -
 From: David Murray [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Tuesday, February 12, 2008 4:40 PM
 Subject: RE: [U2] Excel downloads


  Laurie,
 
  For simple totals, it is possible to add an EXCEL formula into a cell by
  starting the cell/formula with an '=' sign. This also works with CSV
  structured files, which EXCEL will load and convert on the fly.
 
  Create a virtual/correlative field which will simply output the formula
as
  text and add it to the CSV file e.g. =SUM(An).
 
  Cheers,
 
  David Murray
 
 
  .learn and do
  .excel and share
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of IT-Laure Hansen
  Sent: Tuesday, February 12, 2008 12:10 PM
  To: u2-users@listserver.u2ug.org
  Subject: [U2] Excel downloads
 
  Hello,
 
  We are looking for a simple way to drop aggregate totals type reports
  out of Universe into Excel. Our users are using AccuTerm and we also
  have MITS Reports installed. But, neither one does the trick for
  summarized reports that use the DET-SUP option. Having the detail and
  forcing the users to do their own grouping/sub-totals in Excel is simply
  not an acceptable option here.
 
  UV 10.2.3 on Win2003 server; AccuTerm 2K2 re. 5.1. We also would be
  happy to develop a simple (key word...) VB.Net executable that works
  smoothly regardless of the version of Excel, as our users work on
  anything from Office 2000 and above.
 
  Any suggestions welcome.
 
  TIA,
  Laure Hansen,
  City of Redwood City
  Information Technology
  1017 Middlefield Road
  Redwood City, CA 94063
  Tel 650-780-7087
  Cell 650-207-3235
  Fax 650-556-9204
  [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 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] Excel downloads

2008-02-14 Thread MAJ Programming
In response to Karen:

It's not an import option issue. A CSV is a member of the Excel class of
data files and when double clicking in explorer, Excel opens it and sSays
Welcome home with no import wizard.

My request is to not have any intervention of the user. They can adjust the
columns as necessary themselves as CSV's don't convey column widths although
an earlier response gave me the =0123 suggestion.

I'm a little hesitant of putting a formula in front of the data but on the
other hand it would only be for those values that are numeric and start with
0. I would not have to use =Fred as Fred is okay.

Thanks
- Original Message -
From: Bessel, Karen [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, February 13, 2008 11:43 AM
Subject: RE: [U2] Excel downloads


 I have had similar problems with Excel in the past.

 Have you tried importing the column as text?

 Sometimes that works  sometimes it doesn't. Excel is a very peculiar
 animal indeed.

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of MAJ Programming
 Sent: Wednesday, February 13, 2008 8:05 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Excel downloads

 On this topic, I have a request for a solution.

 In New Jersey, all the zip codes start with '0'. Add product codes like
 012345 and order numbers like 000123 etc and you'll see the leading
 zeros.

 When creating and exporting a CSV to eventually be used by Excel, those
 columns lose their leading zeros as Excel thinks they are numeric.

 I know that the users can format column and choose Custom etc.

 I've converted the same CSV into a HTML boxed record and the zeros
 remain as
 expected.

 I've tried prepending the values with an astrophe (single quote) to no
 avail.

 The true data (as viewed in Notepad) is exactly as I sent it:
 07748,012345,000123

 So, any tricks in having Excel leave the zeros alone when clicking on
 the
 CSV in WIndows Explorer. Meaning, that the person opening the CSV in
 excel
 doesn't have to convert anything.

 Thanks in advance
 Mark Johnson
 - Original Message -
 From: David Murray [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Tuesday, February 12, 2008 4:40 PM
 Subject: RE: [U2] Excel downloads


  Laurie,
 
  For simple totals, it is possible to add an EXCEL formula into a cell
 by
  starting the cell/formula with an '=' sign. This also works with CSV
  structured files, which EXCEL will load and convert on the fly.
 
  Create a virtual/correlative field which will simply output the
 formula as
  text and add it to the CSV file e.g. =SUM(An).
 
  Cheers,
 
  David Murray
 
 
  .learn and do
  .excel and share
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of IT-Laure
 Hansen
  Sent: Tuesday, February 12, 2008 12:10 PM
  To: u2-users@listserver.u2ug.org
  Subject: [U2] Excel downloads
 
  Hello,
 
  We are looking for a simple way to drop aggregate totals type reports
  out of Universe into Excel. Our users are using AccuTerm and we also
  have MITS Reports installed. But, neither one does the trick for
  summarized reports that use the DET-SUP option. Having the detail and
  forcing the users to do their own grouping/sub-totals in Excel is
 simply
  not an acceptable option here.
 
  UV 10.2.3 on Win2003 server; AccuTerm 2K2 re. 5.1. We also would be
  happy to develop a simple (key word...) VB.Net executable that works
  smoothly regardless of the version of Excel, as our users work on
  anything from Office 2000 and above.
 
  Any suggestions welcome.
 
  TIA,
  Laure Hansen,
  City of Redwood City
  Information Technology
  1017 Middlefield Road
  Redwood City, CA 94063
  Tel 650-780-7087
  Cell 650-207-3235
  Fax 650-556-9204
  [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 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] CSV output

2008-02-14 Thread MAJ Programming
An indirect answer would be to send an appropriate ESC sequence to the
screen's status row with the account/branch you are on.

I like accuterm where I can change the caption of the session. I usually put
the Account and Port number as many process use ported work files.

My 1 cent.
Mark Johnson
- Original Message -
From: Dennis Bartlett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, February 14, 2008 10:20 AM
Subject: RE: [U2] CSV output


 Hi

 Is there any way to change the  prompt to something like BR299?

 It would really help to know where I am, whilst hopping from branch to
 branch.

 Thanks
 ---
 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] Excel downloads

2008-02-14 Thread MAJ Programming
I have a subroutine on Basic called LINE.TO.CSV that accomodates data values
having either single or double quotes. It alternates the delimiting quote
character when necessary and if both are present, it replaces the single one
with an accent. It's usually a text field anyway.

I also have its opposite subroutine called CSV.TO.REC that takes a CSV and
returns it as a attributeXvalue from RowsXColumns. It strips out the bounded
quotes if they're not data. The standard CONVERT would not work as it would
take embedded commas and use 253's.

Unfortunately it has to process each row into an attribute and parse each
line, pairing the quotes.

I also agree that Tabs went out a long time ago. My personal disappointment
is opening a tabbed record in Notepad then saving and the tabs reverted to
spaces. Thus, I avoid tabs.

My 1 cent
Mark Johnson
- Original Message -
From: IT-Laure Hansen [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, February 13, 2008 12:00 PM
Subject: RE: [U2] Excel downloads


 Comma delimited fields are always a bit of an issue in this case. The
 correct way to program CSVs is to place quotes around the fields, to
 account for just this - but then: what if you have quotes in your
 fields? Tab is usually a safer delimiter for the simple reason that it
 is rarely stored as such in data files, but Excel does not handle a
 tab-delimited file quite as well as a CSV file. You can of course use
 I-descriptors that convert quotes to blanks first, or any other
 transformation.

 Thus my original question asking for help and tricks: I know what it
 takes to get me to where I want to be, but I am looking for the miracle
 tool that will work for all types of data extractions with minimal data
 massaging and scripting from me.

 Thanks,

 Laure Hansen,
 City of Redwood City
 Information Technology
 1017 Middlefield Road
 Redwood City, CA 94063
 Tel 650-780-7087
 Cell 650-207-3235
 Fax 650-556-9204
 [EMAIL PROTECTED]

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Dave Davis
 Sent: Wednesday, February 13, 2008 7:36 AM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Excel downloads

 What if the data fields contain quotes or double-quotes themselves?
 Does this handle that situation?

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Dennis Bartlett
 Sent: Wednesday, February 13, 2008 4:00 AM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Excel downloads

 Laure

 Then it sounds like you could do the option described in these posts



 For those who are lazy to write fancy routines to create CSV files, I've
 created two dict items, namely COMMA and QUOTE, as follows:

 COMMA
 001:  I
 002:  ,
 003:
 004:  ,
 005:  1T


 QUOTE
 001:  I
 002:  ''
 003:
 004:  
 005: 1T


 To create a CSV file of _ANY_ file data, these dict items either need to
 be in the DICT of every file, OR once off in the DICT.DICT (I think -
 correct me anyone?)



  csv imports don't mind excessive spaces...

 LIST DFQ COMMA DFQ.ID COMMA ACCOUNT COMMA DATEOP COMMA 21:47:38
 07-02-08

 DFQUOTE.FILE.  ,  QUOTE NO.  ,  ACCOUNT...  ,  DATEOP  ,
 208-015646-01  ,  208-015646-01  ,  208-015646  ,  04/05/2007  ,
 205-011887-AH  ,  205-011887-AH  ,  205-011887  ,  10/11/2000  ,
 202-012637-AH  ,  202-012637-AH  ,  202-012637  ,  16/02/2005  ,




  to handle numeric fields simply quote them

 LIST DFQ COMMA QUOTE DFQ.ID QUOTE COMMA QUOTE ACCOUNT QUOTE 21:50:36
 07-02

 DFQUOTE.FILE. ,'QUOTE NO.','ACCOUNT...
 '
 '208-015646-01,'208-015646-01','208-015646
 '
 '205-011887-AH,'205-011887-AH','205-011887
 '
 '202-012637-AH,'202-012637-AH','202-012637
 '
 '202-014954-01,'202-014954-01','202-014954
 '




 And here is where I used it

 0001: PA
 0002: DISPLAY Saving output as AAQ
 0003: SP-ASSIGN HS
 0004: SETPTR 0,300,,0,0,3,BRIEF,NFMT, BANNER AAQ
 0005: SORT DFQ _
 0006:  WITH INVOICE   _
 0007:  BY ACCOUNT _
 0008:  BY DATEOP _
 0009:  COMMA DFQ.ID _
 0010:  COMMA ACCOUNT _
 0011:  COMMA DATEOP _
 0012:  COMMA _
 0013:  COMMA DFQ.HPHONE _
 0014:  COMMA HPM.HOMEPHONE _
 0015:  COMMA _
 0016:  COMMA DFQ.WPHONE _
 0017:  COMMA HPM.WORKPHONE _
 0018:  COMMA _
 0019:  COMMA DFQ.CELL _
 0020:  COMMA HPM.CELLPHONE _
 0021:  COMMA _
 0022:  COMMA DFQ.SPWORKNO _
 0023:  COMMA HPM.SPWORKPHONE _
 0024:  COMMA _
 0025:  COMMA DFQ.SPCELL _
 0026:  COMMA HPM.SPCELLPHONE _
 0027:  LPTR NOPAGE HDR.SUP ID.SUP



 And subsequently modified by Kevin

 For what it's worth,

 I do something similar, but I use TAB.  My Dict item looks like:

 0001: I

 0002:  

 0003:

 0004: TAB

 0005: 1L

 0006: S


 Line two is actually ^009, but it shows  .

 Excel handles tab delimited well and I never worry about whether the
 field is numeric.

 My output line would be:

 VAL1 TAB VAL2 TAB VAL3 TAB VAL4

 

Re: [U2] Excel downloads

2008-02-13 Thread MAJ Programming
On this topic, I have a request for a solution.

In New Jersey, all the zip codes start with '0'. Add product codes like
012345 and order numbers like 000123 etc and you'll see the leading zeros.

When creating and exporting a CSV to eventually be used by Excel, those
columns lose their leading zeros as Excel thinks they are numeric.

I know that the users can format column and choose Custom etc.

I've converted the same CSV into a HTML boxed record and the zeros remain as
expected.

I've tried prepending the values with an astrophe (single quote) to no
avail.

The true data (as viewed in Notepad) is exactly as I sent it:
07748,012345,000123

So, any tricks in having Excel leave the zeros alone when clicking on the
CSV in WIndows Explorer. Meaning, that the person opening the CSV in excel
doesn't have to convert anything.

Thanks in advance
Mark Johnson
- Original Message -
From: David Murray [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, February 12, 2008 4:40 PM
Subject: RE: [U2] Excel downloads


 Laurie,

 For simple totals, it is possible to add an EXCEL formula into a cell by
 starting the cell/formula with an '=' sign. This also works with CSV
 structured files, which EXCEL will load and convert on the fly.

 Create a virtual/correlative field which will simply output the formula as
 text and add it to the CSV file e.g. =SUM(An).

 Cheers,

 David Murray


 .learn and do
 .excel and share

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of IT-Laure Hansen
 Sent: Tuesday, February 12, 2008 12:10 PM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Excel downloads

 Hello,

 We are looking for a simple way to drop aggregate totals type reports
 out of Universe into Excel. Our users are using AccuTerm and we also
 have MITS Reports installed. But, neither one does the trick for
 summarized reports that use the DET-SUP option. Having the detail and
 forcing the users to do their own grouping/sub-totals in Excel is simply
 not an acceptable option here.

 UV 10.2.3 on Win2003 server; AccuTerm 2K2 re. 5.1. We also would be
 happy to develop a simple (key word...) VB.Net executable that works
 smoothly regardless of the version of Excel, as our users work on
 anything from Office 2000 and above.

 Any suggestions welcome.

 TIA,
 Laure Hansen,
 City of Redwood City
 Information Technology
 1017 Middlefield Road
 Redwood City, CA 94063
 Tel 650-780-7087
 Cell 650-207-3235
 Fax 650-556-9204
 [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Excel downloads

2008-02-12 Thread MAJ Programming
What about writing a standard BASIC report that would prepare CSV lines for
the subtotals (DET-SUPP).

Many reports I create offer S=Screen, P=Printer and/or D=Download output
choices. Same lines, different destination.

I'll re-iterate one of TonyG's suggestions with creating and eventually
exporting a CSV. Unless you are using WRITESEQ, having a large CSV  'record'
inside a program may encroach on some speed and/or handling problems.

Tony's suggestion was to have PRINTER ON and under the Hold and Suppress
option, 'print' each row instead of X-1 appending.

When you are complete, manage the HOLD record accordingly.

I use this method when the resulting CSV (or EDI as well) record may be over
100,000 rows. Otherwise X-1 works acceptably. Actual mileage may differ.

My 1 cent
Mark Johnson

- Original Message -
From: IT-Laure Hansen [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, February 12, 2008 7:32 PM
Subject: RE: [U2] Excel downloads


 Hi Louie,

 You are correct, it does - however I am dealing among others with a set
 of files that contain about 85000 individual records: too much for Excel
 in the first place, and also, updating the MITS data source takes simply
 too much time, especially when adding break/sort fields. A simple
 Universe report using DET-SUP takes a couple of minutes to run. The
 equivalent using MITS Reports with a data source update to grab the
 latest data literally takes hours. So, I am looking for a solution that
 allows me to do the equivalent of a LIST DET-SUP in Universe, and
 convert the output into true Excel.

 Thanks,

 Laure Hansen,
 City of Redwood City
 Information Technology
 1017 Middlefield Road
 Redwood City, CA 94063
 Tel 650-780-7087
 Cell 650-207-3235
 Fax 650-556-9204
 [EMAIL PROTECTED]

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Louie Bergsagel
 Sent: Tuesday, February 12, 2008 3:36 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Excel downloads

 Laure,

 MITS Reports does export detail-suppressed information to an Excel
 spreadsheet.
 Just

- click on column heading, then
- click Display Totals, then
- add a break on the field you want totaled.
- click the Suppress Details tab
- export to Excel


 Louie Bergsagel
 North Coast Electric
 ---
 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] RE: Switching from D3 to U2

2008-02-05 Thread MAJ Programming
Actually, what was the VAR's reason for switching.

One of my client's VAR's forced a switch from UV to UD around 9 years ago
when they went from a green-screen app to having rewritten their package
with SB. Not SB GUI but regular SB. SB GUI came later for those newer
clients.

Thanks
Mark Johnson
- Original Message -
From: Norman Morgan [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, February 04, 2008 10:13 AM
Subject: RE: [U2] RE: Switching from D3 to U2


  -Original Message-
  From: MAJ
   So what's the number one reason for switching from D3 to U2?
   Not to create an onslaught of replies, but I've worked on many MV
   platforms and have my opinions on each.

 Because our VAR told use they wouldn't support their product on D3 any
 longer. grin

 ===
 Norman Morgan  [EMAIL PROTECTED]  http://www.brake.com
 ===
 Real programmers don't document. Documentation is for simps
 who can't read the listings or the object deck.
 ===
 ---
 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] Re: PCL: command

2008-02-04 Thread MAJ Programming
I'm surprised someone in any MV hasn't submitted a comprehensive PCL.INCLUDE
that would help many of these requests.

I have one that I use for 60% of what I need (pitch, orientation, typefaces,
some line graphics and other simple functions) but I'm sure there could be a
greatest hits INCLUDE that has the advanced stuff as well.

My 1 cent
Mark Johnson
- Original Message -
From: david yu [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, February 04, 2008 9:12 PM
Subject: [U2] Re: PCL: command


 hello,

 how do you write multiple PCL command in one program,
 I have a program that I need to write a compress 8pt
 arial narrow and another font within the same letter.

 Right now I am using esc(s20H and the printout
 compress it but the height stayed so I have a visible
 space between lines.

 any ideas would be greatly appreciated.

 thanks!






 Never miss a thing.  Make Yahoo your home page.
 http://www.yahoo.com/r/hs
 ---
 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] RE: Switching from D3 to U2

2008-02-04 Thread MAJ Programming
Doesn't sound like a real useful reason for the rest of us.
Thanks
Mark Johnson
- Original Message - 
From: Norman Morgan [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, February 04, 2008 10:13 AM
Subject: RE: [U2] RE: Switching from D3 to U2


  -Original Message-
  From: MAJ
   So what's the number one reason for switching from D3 to U2?
   Not to create an onslaught of replies, but I've worked on many MV 
   platforms and have my opinions on each.
 
 Because our VAR told use they wouldn't support their product on D3 any
 longer. grin
 
 ===
 Norman Morgan  [EMAIL PROTECTED]  http://www.brake.com
 ===
 Real programmers don't document. Documentation is for simps
 who can't read the listings or the object deck.
 ===
 ---
 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] RE: Switching from D3 to U2

2008-02-01 Thread MAJ Programming
So what's the number one reason for switching from D3 to U2?

Not to create an onslaught of replies, but I've worked on many MV platforms
and have my opinions on each.

Thanks
Mark Johnson
- Original Message -
From: George Land [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, February 01, 2008 12:22 PM
Subject: Re: [U2] RE: Switching from D3 to U2


 I have had a number of responses directly as well as to the group, I'll be
 putting together a document on it and will look at publishing it.  But if
 anyone specifically wants a copy please let me know and I'll email it when
I
 have it.

 george.land@ (remove) u2uk.com

 George Land
 APT Solutions Limited
 IBM U2 UK Distributor
 www.u2uk.com




 On 01/02/2008 00:26, MAJ Programming [EMAIL PROTECTED] wrote:

  I too am interested in this comparison.
 
  The majority of my clients are D3 yet I have 1 or 2 UV and UD clients,
hence
  the straddling.
 
  I know that U2 products have many more technical features but I would
like
  to see where it gets admin heavy versus D3.
 
  Thanks
  Mark Johnson
  - Original Message -
  From: Janet Bond [EMAIL PROTECTED]
  To: u2-users@listserver.u2ug.org
  Sent: Wednesday, January 30, 2008 12:26 PM
  Subject: [U2] RE: Switching from D3 to U2
 
 
  Hello George,
 
  We created a report comparing D3 and the U2 products along with other
  available MultiValue databases for one of our customers.
 
  Please email me directly and I can provide this content to you.
 
  Thanks
 
  Janet Bond
  FusionWare Corporation
  IBM Premier Business Partner
  Microsoft Gold Partner
  www.fusionware.net
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of George Land
  Sent: Wednesday, January 30, 2008 5:30 AM
  To: u2-users@listserver.u2ug.org
  Subject: [U2] Switching from D3 to U2
 
  I am in the process of putting together a document to support the case
for
  switching an application from D3 to U2 but my knowledge of D3 is a
little
  old and hazy.  Has anyone any product or technical justifications for
  switching over that they would be willing to share?
 
  Thanks
 
  George Land
  APT Solutions Limited
  IBM U2 UK Distributor
  www.u2uk.com
 
  **
  This email and any files transmitted with it are confidential and
intended
  solely for the use of the individual or entity to whom they are
addressed.
  If you have received this email in error please notify us immediately on
+44
  (01952) 214000 or at [EMAIL PROTECTED] . Please delete
and
  destroy any copies in any format of this email you may have received in
  error. The recipient should note that the views contained or expressed
  within this correspondence do not necessarily reflect those of APT
Solutions
  Limited , it subsidiaries, affiliates or associates. This email and any
  attachments are not guaranteed to be free from so-called computer
viruses
  and it is recommended that you check for such viruses before
down-loading it
  to your computer equipment. It is the responsibility of the recipient to
  ensure that the onward transmission, opening or use of this message or
any
  attachments will not adversely affect their systems or data.
 
  Registered Office:- Stratum House, Stafford Park 10, Telford,
Shropshire,
  TF3 3AB
 
  Registration Number:- 2228445
 
  Place of Registration: England  Wales
  **
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] RE: Switching from D3 to U2

2008-01-31 Thread MAJ Programming
I too am interested in this comparison.

The majority of my clients are D3 yet I have 1 or 2 UV and UD clients, hence
the straddling.

I know that U2 products have many more technical features but I would like
to see where it gets admin heavy versus D3.

Thanks
Mark Johnson
- Original Message -
From: Janet Bond [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, January 30, 2008 12:26 PM
Subject: [U2] RE: Switching from D3 to U2


 Hello George,

 We created a report comparing D3 and the U2 products along with other
available MultiValue databases for one of our customers.

 Please email me directly and I can provide this content to you.

 Thanks

 Janet Bond
 FusionWare Corporation
 IBM Premier Business Partner
 Microsoft Gold Partner
 www.fusionware.net

 -Original Message-
 From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of George Land
 Sent: Wednesday, January 30, 2008 5:30 AM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Switching from D3 to U2

 I am in the process of putting together a document to support the case for
 switching an application from D3 to U2 but my knowledge of D3 is a little
 old and hazy.  Has anyone any product or technical justifications for
 switching over that they would be willing to share?

 Thanks

 George Land
 APT Solutions Limited
 IBM U2 UK Distributor
 www.u2uk.com

 **
 This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If you have received this email in error please notify us immediately on +44
(01952) 214000 or at [EMAIL PROTECTED] . Please delete and
destroy any copies in any format of this email you may have received in
error. The recipient should note that the views contained or expressed
within this correspondence do not necessarily reflect those of APT Solutions
Limited , it subsidiaries, affiliates or associates. This email and any
attachments are not guaranteed to be free from so-called computer viruses
and it is recommended that you check for such viruses before down-loading it
to your computer equipment. It is the responsibility of the recipient to
ensure that the onward transmission, opening or use of this message or any
attachments will not adversely affect their systems or data.

 Registered Office:- Stratum House, Stafford Park 10, Telford, Shropshire,
TF3 3AB

 Registration Number:- 2228445

 Place of Registration: England  Wales
 **
 ---
 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] WITH Clause

2008-01-25 Thread MAJ Programming
Sidebar solution for broader MV systems.

You can create a single dict item representing each pair and AND them. Many
MV systems do not support parenthesis in the TCL statement as they typically
indicate options.

My (1) cent
Mark Johnson
- Original Message -
From: Martin Phillips [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, January 24, 2008 3:21 AM
Subject: Re: [U2] WITH Clause


 Hi Charles,

  Can parenthesis be used to group WITH statements?  I am modifying a
  humongous SORT statement with many WITH clauses and would like to group
  them.  If so, what are the rules?
 
  WITH (COND1 OR COND2) AND WITH (COND3 OR COND4) ?
 
  (WITH COND1 OR WITH COND2) AND (WITH COND3 OR WITH COND4) ?

 Preferably, omit the repeated WITH so that the second example above
becomes
WITH (COND1 OR COND2) AND (COND3 OR COND4)

 The semantics of multiple WITH clauses is different depending on the
 UniVerse flavour in use.


 Martin Phillips
 Ladybridge Systems Ltd
 17b Coldstream Lane, Hardingstone, Northampton, NN4 6DB
 +44-(0)1604-709200
 ---
 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] list vs. email

2008-01-03 Thread MAJ Programming
If they can block hotmail, yahoo and myspace, then they can allow
www.rainingdata.com and www.ibm.com. The barriers people present aren't
technical, but overall corporate policies meant to inhibit Suzy in
accounting from wasting time.

My 1 cent
Mark Johnson
- Original Message -
From: Jerry Banker [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, January 02, 2008 10:27 AM
Subject: [U2] list vs. email


 Maybe you didn't get my last message. It doesn't matter around here if a
 forum is better or not, the PHB's will not allow the users to surf the
 net even to get email. At one time I was registered on this list as my
 personal hotmail account but I had to stop using it because they blocked
 access to hotmail. I also have accounts at yahoo and my space but those
 are or were blocked so I have to use my business email account to keep
 from having it blocked. The only other way would be to only look at the
 questions and responses from home afterhours; in that case I would be an
 observer and not a participant. Personally I like to think on occasion I
 have helped someone on this list instead of just gathering the knowledge
 of these fine people without giving anything back.

 Jerry Banker
 Sr Programmer Analyst
 Affiliated Acceptance Corp
 Sunrise Beach, MO
 1-800-233-8483
 www.affiliated.org
  -Original Message-
  From: Symeon Breen [mailto:[EMAIL PROTECTED]
  Sent: Wednesday, January 02, 2008 4:00 AM
  To: u2-users@listserver.u2ug.org
  Subject: RE: [U2] testing
 
  I donbt understand how reading a forum is any different to reading an
 email ?? -
  except that the date/time order is always correct and it does not clog
 your mail, and
  you get dozens of forum style benefits which of course you do not have
 to take as it
  then implies spending time on that darn web thing ?  - Infact it takes
 me longer with
  the email list as I have to do my own housekeeping and setup my mail
 client to place
  all the mails in a separate folder and then go through and delete the
 emails etc. On a
  forum I just go to it, look at what has changed since I last logged in
 and come away
  again all happy and relaxed.
 
  The reason why we all use the list is because everyone is on here, I
 use the forum as
  well but no one is on there so it is pointless. The point is if we all
 used a forum (the
  existing one or a new one) we would get certain things that people
 complain about
  fixed like the time lag - which gets me on virtually every post.
 
 
  Rgds
  Symeon.
 
 
 
 
  -Original Message-
  From: [EMAIL PROTECTED] [mailto:owner-u2-
  [EMAIL PROTECTED] On Behalf Of Anthony W. Youngman
  Sent: 30 December 2007 23:34
  To: u2-users@listserver.u2ug.org
  Subject: Re: [U2] testing
 
  In message [EMAIL PROTECTED], Bill Haskett
  [EMAIL PROTECTED] writes
  Wol:
  
  I just don't get this attitude.  Why is it necessary to pick up our
 toys and go home?
  To say, if you don't do things my way I'm quitting the team?  There
 are too many
  postings that forswear any solution that doesn't result in a
 complicated mess of
  things.
 
  I don't use forums. I read this mailing list in my spare time, or
 snatch
  moments at work. I find forums time-consuming, and a pain, and I have
  better things to do with my time (like working :-)
 
  At the end of the day, all too often I find that the web is a solution
  in search of a problem. It's the wrong tool for many jobs, and imho
 this
  is one of those situations.
 
  I rest my case with the fact that other people have pointed out -
 there
  ARE fora out there, including those on u2ug. Why are the fora unused
  while the mailing list carries on regardless? I put it to you - the
  reason is that most people worth listening to prefer a mailing list.
 
  Cheers,
  Wol
  --
  Anthony W. Youngman [EMAIL PROTECTED]
  'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking
 the
  thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny.
 The man
  lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998
  Visit the MaVerick web-site - http://www.maverick-dbms.org Open
 Source Pick
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] testing

2008-01-01 Thread MAJ Programming
I don't know what's special about me, MAJ. I guess I'm lucky in having a
great group of clients that appreciate what I do for their MV systems
(Uv/Ud/D3/Mcd/GA and native) and am not caught up with internal company
policies.

Not that I have an exclusive on being a good MV person nor a good business
person. I do thank my lucky stars that I've grown my business with my
clients and the solutions I deliver, despite some criticisms from those more
technically as advanced than I.

In fact, I just uncovered a $90,000 billing error for one client whereby
another mv programmer had overlooked a basic premise and I caught it during
a year-end analysis that piqued my curiosity. The client had no idea and
when I showed them the error, my next mission became very clearly defined.

I don't work on commission but $90,000 won't be forgotten for a long time. I
guess when my skills go beyond MV programming and venture into standard
business practices then my value to my clients grow. Nothing says that I
can't be good at both.

Hopefully that helps.
Mark Johnson


- Original Message -
From: Tom Dodds [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, December 31, 2007 12:33 PM
Subject: RE: [U2] testing


 That has been my experience, but then I am not MAJ. :-)

 Tom Dodds
 [EMAIL PROTECTED]
 630.235.2975


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Jerry Banker
 Sent: Monday, December 31, 2007 10:10 AM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] testing

 We have no discrimination around here, if a site is blocked for one it
 is blocked for all, including the person blocking it. If you came in
 here on a contract you would be treated the same way. Since you would be
 on contract I would be surprised if you had any internet access at all.

 Jerry Banker
 Sr Programmer Analyst
 Affiliated Acceptance Corp
 Sunrise Beach, MO
 1-800-233-8483
 www.affiliated.org

  -Original Message-
  From: MAJ Programming [mailto:[EMAIL PROTECTED]
  Sent: Monday, December 31, 2007 9:48 AM
  To: u2-users@listserver.u2ug.org
  Subject: Re: [U2] testing
 
  Anthony:
 
  Then I must not understand what a 'forum' is.
 
  I use the Raining Data forum http://forums.rainingdata.com/ all the
 time
  (some say too much).
 
  This page has the RD 'products' (D3 NT, D3 Aix, D3 Linux, MvBase etc)
 neatly
  illustrated like a table of contents and shows the latest posting.
 
  Clicking on a 'product' will give you a listing of the topics within.
 It
  also shows you the technical announcements and any other top-down
  information.
 
  Within the topics themselves, you can see the different topics with
 the
  originator, number of views and replies and the time/date of the
 latest
  reply.
 
  This forum is spared a bunch of the static that an email forum offers.
 There
  are no redundant posts, no comments about trimming extraneous email
 content,
  no 'Fred is out of the office problems, etc. The topics may take a
  non-related tangent but not as pervasive as on the U2 one.
 
  By seeing the latest date for each thread, you can quickly see if the
 thread
  interests you and if the reply is considered 'new'.
 
  As one who participates on both, the RD one more organized. Ask TonyG.
 He's
  quite visible on both as well.
 
  While this forum is web-based and an email forum is not, I don't buy
 the
  argument that employers (clients) prevent internet access by their
 employees
  as a reason to not participate.
 
  Many of my clients have baracuda or other content blocking firewalls
 etc
  that I simply am not restricted with. I am considered middle to upper
  management by all of my clients as well as many 'employee' programmers
  should be. We are not the low man on the office totem pole.
 
  I've got some clients that sharpen their pencil more than most that
 allow me
  full access to the internet despite instituting strong-armed policies
 about
  employees mis-using the internet on company time. It's a trust thing.
 I'm a
  huge ebay participant and would not dare be caught doing ANYTHING with
 ebay
  at a client's site on their dime.
 
  My 1 cent
  Mark Johnson
  - Original Message -
  From: Anthony W. Youngman [EMAIL PROTECTED]
  To: u2-users@listserver.u2ug.org
  Sent: Sunday, December 30, 2007 6:33 PM
  Subject: Re: [U2] testing
 
 
   In message [EMAIL PROTECTED], Bill Haskett
   [EMAIL PROTECTED] writes
   Wol:
   
   I just don't get this attitude.  Why is it necessary to pick up our
 toys
  and go home?
   To say, if you don't do things my way I'm quitting the team?
 There are
  too many
   postings that forswear any solution that doesn't result in a
 complicated
  mess of
   things.
  
   I don't use forums. I read this mailing list in my spare time, or
 snatch
   moments at work. I find forums time-consuming, and a pain, and I
 have
   better things to do with my time (like working :-)
  
   At the end of the day, all too often I find that the web

Re: [U2] testing

2007-12-31 Thread MAJ Programming
Anthony:

Then I must not understand what a 'forum' is.

I use the Raining Data forum http://forums.rainingdata.com/ all the time
(some say too much).

This page has the RD 'products' (D3 NT, D3 Aix, D3 Linux, MvBase etc) neatly
illustrated like a table of contents and shows the latest posting.

Clicking on a 'product' will give you a listing of the topics within. It
also shows you the technical announcements and any other top-down
information.

Within the topics themselves, you can see the different topics with the
originator, number of views and replies and the time/date of the latest
reply.

This forum is spared a bunch of the static that an email forum offers. There
are no redundant posts, no comments about trimming extraneous email content,
no 'Fred is out of the office problems, etc. The topics may take a
non-related tangent but not as pervasive as on the U2 one.

By seeing the latest date for each thread, you can quickly see if the thread
interests you and if the reply is considered 'new'.

As one who participates on both, the RD one more organized. Ask TonyG. He's
quite visible on both as well.

While this forum is web-based and an email forum is not, I don't buy the
argument that employers (clients) prevent internet access by their employees
as a reason to not participate.

Many of my clients have baracuda or other content blocking firewalls etc
that I simply am not restricted with. I am considered middle to upper
management by all of my clients as well as many 'employee' programmers
should be. We are not the low man on the office totem pole.

I've got some clients that sharpen their pencil more than most that allow me
full access to the internet despite instituting strong-armed policies about
employees mis-using the internet on company time. It's a trust thing. I'm a
huge ebay participant and would not dare be caught doing ANYTHING with ebay
at a client's site on their dime.

My 1 cent
Mark Johnson
- Original Message -
From: Anthony W. Youngman [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, December 30, 2007 6:33 PM
Subject: Re: [U2] testing


 In message [EMAIL PROTECTED], Bill Haskett
 [EMAIL PROTECTED] writes
 Wol:
 
 I just don't get this attitude.  Why is it necessary to pick up our toys
and go home?
 To say, if you don't do things my way I'm quitting the team?  There are
too many
 postings that forswear any solution that doesn't result in a complicated
mess of
 things.

 I don't use forums. I read this mailing list in my spare time, or snatch
 moments at work. I find forums time-consuming, and a pain, and I have
 better things to do with my time (like working :-)

 At the end of the day, all too often I find that the web is a solution
 in search of a problem. It's the wrong tool for many jobs, and imho this
 is one of those situations.

 I rest my case with the fact that other people have pointed out - there
 ARE fora out there, including those on u2ug. Why are the fora unused
 while the mailing list carries on regardless? I put it to you - the
 reason is that most people worth listening to prefer a mailing list.

 Cheers,
 Wol
 --
 Anthony W. Youngman [EMAIL PROTECTED]
 'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the
 thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The
man
 lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998
 Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source
Pick
 ---
 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] testing

2007-12-31 Thread MAJ Programming
If the company is blocking www.rainingdata.com or www.ibm.com or
www.sunsystems.com or any other business-only then there's a bigger problem.
I have successfully insisted that I have access to these sites and more as
they help me do my jobs for the clients.

I seriously doubt that www.ibm.com would be blocked. We're talking about
sites that legimately help in one's job functions, not offer a distraction.
If I want some fun, I ain't clicking on www.ibm.com.

Also, I'm not engaged as a pure programmer only. Sure, that opens the door,
but my additional business knowledge (not mv nor even IT related) is
exercised many times during every week with my many clients. My mv/IT skills
often implement the business designs and policies that I help create.

Mark Johnson
- Original Message -
From: Jerry Banker [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, December 31, 2007 11:10 AM
Subject: RE: [U2] testing


 We have no discrimination around here, if a site is blocked for one it
 is blocked for all, including the person blocking it. If you came in
 here on a contract you would be treated the same way. Since you would be
 on contract I would be surprised if you had any internet access at all.

 Jerry Banker
 Sr Programmer Analyst
 Affiliated Acceptance Corp
 Sunrise Beach, MO
 1-800-233-8483
 www.affiliated.org

  -Original Message-
  From: MAJ Programming [mailto:[EMAIL PROTECTED]
  Sent: Monday, December 31, 2007 9:48 AM
  To: u2-users@listserver.u2ug.org
  Subject: Re: [U2] testing
 
  Anthony:
 
  Then I must not understand what a 'forum' is.
 
  I use the Raining Data forum http://forums.rainingdata.com/ all the
 time
  (some say too much).
 
  This page has the RD 'products' (D3 NT, D3 Aix, D3 Linux, MvBase etc)
 neatly
  illustrated like a table of contents and shows the latest posting.
 
  Clicking on a 'product' will give you a listing of the topics within.
 It
  also shows you the technical announcements and any other top-down
  information.
 
  Within the topics themselves, you can see the different topics with
 the
  originator, number of views and replies and the time/date of the
 latest
  reply.
 
  This forum is spared a bunch of the static that an email forum offers.
 There
  are no redundant posts, no comments about trimming extraneous email
 content,
  no 'Fred is out of the office problems, etc. The topics may take a
  non-related tangent but not as pervasive as on the U2 one.
 
  By seeing the latest date for each thread, you can quickly see if the
 thread
  interests you and if the reply is considered 'new'.
 
  As one who participates on both, the RD one more organized. Ask TonyG.
 He's
  quite visible on both as well.
 
  While this forum is web-based and an email forum is not, I don't buy
 the
  argument that employers (clients) prevent internet access by their
 employees
  as a reason to not participate.
 
  Many of my clients have baracuda or other content blocking firewalls
 etc
  that I simply am not restricted with. I am considered middle to upper
  management by all of my clients as well as many 'employee' programmers
  should be. We are not the low man on the office totem pole.
 
  I've got some clients that sharpen their pencil more than most that
 allow me
  full access to the internet despite instituting strong-armed policies
 about
  employees mis-using the internet on company time. It's a trust thing.
 I'm a
  huge ebay participant and would not dare be caught doing ANYTHING with
 ebay
  at a client's site on their dime.
 
  My 1 cent
  Mark Johnson
  - Original Message -
  From: Anthony W. Youngman [EMAIL PROTECTED]
  To: u2-users@listserver.u2ug.org
  Sent: Sunday, December 30, 2007 6:33 PM
  Subject: Re: [U2] testing
 
 
   In message [EMAIL PROTECTED], Bill Haskett
   [EMAIL PROTECTED] writes
   Wol:
   
   I just don't get this attitude.  Why is it necessary to pick up our
 toys
  and go home?
   To say, if you don't do things my way I'm quitting the team?
 There are
  too many
   postings that forswear any solution that doesn't result in a
 complicated
  mess of
   things.
  
   I don't use forums. I read this mailing list in my spare time, or
 snatch
   moments at work. I find forums time-consuming, and a pain, and I
 have
   better things to do with my time (like working :-)
  
   At the end of the day, all too often I find that the web is a
 solution
   in search of a problem. It's the wrong tool for many jobs, and imho
 this
   is one of those situations.
  
   I rest my case with the fact that other people have pointed out -
 there
   ARE fora out there, including those on u2ug. Why are the fora unused
   while the mailing list carries on regardless? I put it to you - the
   reason is that most people worth listening to prefer a mailing list.
  
   Cheers,
   Wol
   --
   Anthony W. Youngman [EMAIL PROTECTED]
   'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking
 the
   thimble. 'What *is* he?' said Magrat

Re: [U2] testing

2007-12-29 Thread MAJ Programming
Which DJ forum. I'm pretty involved in that biz.
Thanks
Mark Johnson
- Original Message -
From: Symeon Breen [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Saturday, December 29, 2007 2:37 PM
Subject: RE: [U2] testing


 I frequent the forum as well but it is so sparsely populated as everyone
is on here - TBH it drives me nuts when I go away for a week and then get
400 mails coming through that I aint gonna read. Every other technology I
use I am in a forum for - .net, designbais, redhat, MS office, a DJ one, hey
even a diy one. This is the only email list I am on - they are pretty rare
these days it seems

 -Original Message-
 From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Anthony W. Youngman
 Sent: 28 December 2007 20:44
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] testing

 In message [EMAIL PROTECTED], Symeon Breen
 [EMAIL PROTECTED] writes
 Which brings me round to my pet hate again - this is an amail list -
 why is it an email list, forums are just so much easier all round.
 
 Horses for courses ... if you prefer a forum, why aren't you using the
 forum on u2ug? My preference is for email, which is why I'm here, not
 there! (and if this became a forum, you'd probably lose me.)

 (Oh - and as for the multiple replies, it ought to be well known that
 the mail server is throttled. So there's a good chance that when I see
 the what's 1+1 post, chances are there are several answers on the
 server that haven't been sent to me. Tough - that's the way the system
 works, unfortunately.)

 Cheers,
 Wol
 --
 Anthony W. Youngman [EMAIL PROTECTED]
 'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the
 thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The
man
 lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998
 Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source
Pick
 ---
 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: Re[2]: [U2] testing

2007-12-27 Thread MAJ Programming
Like many on this forum, I get around 80 emails a day. They are sorted by
date/time and if I read a u2-post on the email at 2:00 pm that says What is
1+1?, I may react and reply to it without reading the answer on the 3:00pm
email (and 3:05 and 3:10 and 3:15 etc). I may have gotten some ebay emails
at 2:05, some enhancement emails at 2:10, an offer to help a rich African
dignatary at 2:15, etc etc.

Part of the volume are the excessive answers. On the D3 forum (available
anywhere and not just on an email client), you can see the date of the last
post to a thread. Plus, you will see the complete thread's content, no more,
no less.

So when someone earlier replies to the question What is 1+1, you can see
if someone else responded with 2.

My 1+1 cents
Mark Johnson
- Original Message -
From: David Tod Sigafoos [EMAIL PROTECTED]
To: MAJ Programming u2-users@listserver.u2ug.org
Sent: Thursday, December 27, 2007 11:36 AM
Subject: Re[2]: [U2] testing


 MAJ,

 Of course a simpler method would to be for users to use a email client
 that can perform threading .. even may web based ones can do that

 Of course if people don't read first nothing can help

 DSig

 Monday, December 24, 2007, 10:28:42 AM, you wrote:

 MP Perhaps this is why this forum may like a single thread  method (like
 MP Raining Data's D3, Mvbase etc).

 MP 5 of the responses were identical to the Phantom on Universe question
and
 MP PH answer.

 MP Had the first reply said PH, the other four would have already seen
PH
 MP and not bothered. This ain't a quiz and with everyone complainig about
 MP bandwidth, cycles and extraneous email clutter, this would be a great
step
 MP in the reduction of all

 MP Have a Merry Christmas.

 MP My 1 cent
 MP Mark Johnson
 MP - Original Message -
 MP From: Perry Taylor [EMAIL PROTECTED]
 MP To: u2-users@listserver.u2ug.org
 MP Sent: Monday, December 24, 2007 12:56 PM
 MP Subject: Re: [U2] testing


  Output is saved to the PH file. Include the SQUAWK keyword in your
 MP PHANTOM
  command to get the specific item I'd
 
  Perry
 
  - Original Message -
  From: [EMAIL PROTECTED]
 MP [EMAIL PROTECTED]
  To: u2-users@listserver.u2ug.org u2-users@listserver.u2ug.org
  Sent: Mon Dec 24 11:39:00 2007
  Subject: RE: [U2] testing
 
  A wonderous and happy holidays to all!
 
  If anyone happens to be reading this list , I do have one universe
  phantom question
 
  Is there anyway to see what a phantom did?  At my last job there was a
  way to see phantom output (it wrote to a phantom log file, if you
  started the phantom with logging)
 
  Hopefully there is something similar in universe (10.1)
 
  Thanks,
 
  Dougc
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of gerry-u2ug
  Sent: Monday, December 24, 2007 10:34 AM
  To: u2-users@listserver.u2ug.org
  Subject: [U2] testing
 
  hohoho
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 
  --
  This message has been scanned for viruses and
  dangerous content by SecureMail, and is
  believed to be clean.
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 
  CONFIDENTIALITY NOTICE: This e-mail message, including any attachments,
is
 MP for
  the sole use of the intended recipient(s) and may contain confidential
and
  privileged information.  Any unauthorized review, use, disclosure or
  distribution is prohibited. ZirMed, Inc. has strict policies regarding
the
  content of e-mail communications, specifically Protected Health
 MP Information,
  any communications containing such material will be returned to the
  originating party with such advisement noted. If you are not the
intended
  recipient, please contact the sender by reply e-mail and destroy all
 MP copies of
  the original message.
  ---



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

 Nearly all men can stand adversity, but if you want to test a man's
character, give him power. -- Abraham Lincoln(1809-1865)
 ---
 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] testing

2007-12-24 Thread MAJ Programming
Perhaps this is why this forum may like a single thread  method (like
Raining Data's D3, Mvbase etc).

5 of the responses were identical to the Phantom on Universe question and
PH answer.

Had the first reply said PH, the other four would have already seen PH
and not bothered. This ain't a quiz and with everyone complainig about
bandwidth, cycles and extraneous email clutter, this would be a great step
in the reduction of all

Have a Merry Christmas.

My 1 cent
Mark Johnson
- Original Message -
From: Perry Taylor [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, December 24, 2007 12:56 PM
Subject: Re: [U2] testing


 Output is saved to the PH file. Include the SQUAWK keyword in your
PHANTOM
 command to get the specific item I'd

 Perry

 - Original Message -
 From: [EMAIL PROTECTED]
[EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org u2-users@listserver.u2ug.org
 Sent: Mon Dec 24 11:39:00 2007
 Subject: RE: [U2] testing

 A wonderous and happy holidays to all!

 If anyone happens to be reading this list , I do have one universe
 phantom question

 Is there anyway to see what a phantom did?  At my last job there was a
 way to see phantom output (it wrote to a phantom log file, if you
 started the phantom with logging)

 Hopefully there is something similar in universe (10.1)

 Thanks,

 Dougc

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of gerry-u2ug
 Sent: Monday, December 24, 2007 10:34 AM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] testing

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

 --
 This message has been scanned for viruses and
 dangerous content by SecureMail, and is
 believed to be clean.
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/

 CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is
for
 the sole use of the intended recipient(s) and may contain confidential and
 privileged information.  Any unauthorized review, use, disclosure or
 distribution is prohibited. ZirMed, Inc. has strict policies regarding the
 content of e-mail communications, specifically Protected Health
Information,
 any communications containing such material will be returned to the
 originating party with such advisement noted. If you are not the intended
 recipient, please contact the sender by reply e-mail and destroy all
copies of
 the original message.
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 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] RE: testing

2007-12-24 Thread MAJ Programming
I get it, front burner. Ha, Ha, Ha.

Don't laugh. Some of my client's MV systems still run on coal. I'm working
on one right now.

Mark Johnson
- Original Message -
From: [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, December 24, 2007 1:15 PM
Subject: RE: [U2] RE: testing


 I agree. I'd like some more, please...

 I think he knows what it is because of the annoying coal mine disaster
 that could/should have been avoided here in Utah this past fall. That put
 coal on the front burner once again.

 Karl

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


 --
 Karl Pearson
 Director of I.T.
 ATS Industrial Supply, Inc.
 [EMAIL PROTECTED]
 http://www.atsindustrial.com
 800-789-9300 x29
 Local: 801-978-4429
 Fax: 801-972-3888

 To mess up your Linux PC, you have to really work at it;
  to mess up a microsoft PC you just have to work on it.
 ---
 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] Deep and long indentations vs multiple exit points - AD NAUSEUM

2007-12-03 Thread MAJ Programming
Couple of thoughts.
1. Yes, the 'style' debates tend to be self-serving.
2. I do end up with either feeling good about my techniques or finding out
another good technique.
3. By expressing my preferred techniques, others may may experience #2
above.

By keeping an open mind, each of us knows how these techniques, both new to
us and our own favorites, can weave into our own environments.

Many participants seem to manage large shops with 100's of users so every
cycle counts. But I'm sure others manage 10-20 users shops. Some have
4GL-style systems with implied rules and requirements. Others may have
home-grown systems from the Jurrasic Pick era.

Without comparisons, we all function in a vacuum.

My 1 cent
Mark Johnson
- Original Message -
From: Clifton Oliver [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, December 02, 2007 10:55 PM
Subject: Re: [U2] Deep and long indentations vs multiple exit points - AD
NAUSEUM


 Perhaps you might want to expand your search criteria to include the
 last ten years and examine the use of Guard Clauses.

 Does anyone else on the list find these discussions of style, good
 practice, etc. to be both out-of-date and an exercise in wasted
 bandwidth (not to mention having too much time on one's hands)?

 People being what they are, these discussions always boil down to,
 I'm going to do it my way because I'm right and you are wrong.

 Wouldn't the time be best spent retesting that A/R modification you
 plan to push to Production tomorrow night?


 --

 Regards,

 Clif

 On Dec 2, 2007, at 5:12 PM, Boydell, Stuart wrote:

  I'm in complete agreement with the one way in/out (OWI-OWO )
  rule. Out
  of interest, I have searched the net and of the many articles I found
  which cited OWI-OWO, all cited it in the scope of being good
  practice. I
  found one which cites one way in, multiple|many ways out with a
  scathing comment.
 ---
 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] Deep and long indentations vs multiple exit points

2007-12-02 Thread MAJ Programming
Ken:

I guess I'm a product of how I've fixed the programs I've inherited.

Virtually all of my client's systems pre-exist me and 90% of them are
home-grown code instead of being a Package. Thus, I've inherited a great
diversity of styles and techniques.

Day after day as I sift through this code to derive its purpose, I can see
things that help and those that don't. Mind you, 99% of the prior code
doesn't have any intermediate comments, barely a blurb at the top of the
program regarding date, person and purpose and often has ambiguous names as
BREAK.II or CRT SHL.FNDG or the like. Sometimes the only clue is the compile
date.

Maybe I'm surviving servicing the one-off clients that no-one else wants to
deal with due to the inconsistencies. That might explain where I'm coming
from.

Thanks
Mark Johnson
- Original Message -
From: Ken Wallis [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, December 02, 2007 5:58 AM
Subject: RE: [U2] Deep and long indentations vs multiple exit points


 I realise that I've largely been a lurker of late - making a living
working
 with jBASE pretty much full time now - but I'm afraid I can't let all
these
 apologists for our spaghetti inheritance slide by unchallenged.



 My view on code structure is very simple:



 One way in, one way out.  Any block of code, no exceptions.  Deal with it.



 I understand the point about deep indentations making code unreadable -
 especially in the ubiquitous line editors that some people still insist on
 using - but you can still code single entry/single exit point without
 nesting anything especially deeply.  That's what GOSUB and CALL are for.



 The poster who talked here about modern languages encouraging the throwing
 of exceptions, and suggested that multiple exit point code in BASIC
emulated
 this missed the point that those languages provide exception handling
 mechanisms such that you can always engineer a single exit point for each
 block, and if you don't, then the language effectively creates one -
perhaps
 slightly further away - for you.  MV BASIC on the other hand provides
 absolutely no exception handling other than what is explicitly coded.
 Indeed, if you want single exit point code in BASIC you have to work hard
 for it, and many of the posters here clearly can't be bothered to.  Not
that
 they're alone - pretty much every poxy 'C' example code segment you read
in
 an article or text book leaks like a sieve, carrying a weak disclaimer
about
 error handling code being omitted for the sake of simplicity or clarity -
 and I've seen plenty of that sort of 'C' code distributed into production.
 Don't worry, I'd have them up against the wall too, come the revolution.
It
 wouldn't just be the spaghetti BASIC merchants facing the wrong end of a
 firing squad when I took over the world!



 Meanwhile, Mark, whose posts are almost guaranteed to stir me up, but who
I
 almost always manage to calm down and ignore, actually brushed up against
an
 important point during this thread - that the implicit top down evaluation
 of CASE statements can sometimes hide the logic that is being coded and
 cause grief to future programmers.  Don't get me wrong - I'm a firm
believer
 in CASE statements, but I do think that coders sometimes actively use the
 top down evaluation within them to achieve a purpose they don't document,
 and that sometimes they just get lucky.  In either of these situations,
the
 maintenance programmer who follows behind can make a simple alteration and
 spend days working out what they've broken.



 That's my 2 cents worth, and I've got my flame suit buttoned up tight ;^)



 Cheers,



 Ken



 -Original Message-
 From: Marco Manyevere
 Sent: Thursday, 29 November 2007 3:18 AM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Deep and long indentations vs multiple exit points



 There has been a lot said recently about styles, standards and good
practice

 and I wonder what your take is on deeply indented routines with a common
 exit

 point versus unindented routines but with multiple exit points
 ---
 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] Deep and long indentations vs multiple exit points

2007-12-02 Thread MAJ Programming
Count me in against unnecessary indenting. With the advent of CONTINUE, that
typically saves one indentation in a repeating update routine.

At the extreme I've seen code that EVERYTHING is indented, regardless of the
extent of the purpose. For example:

IF X=1 THEN
GOSUB 10
END
or
IF X=1 THEN
Y=2
END

Not for nuthin' but is there some taught technique that discourages keeping
these smallest of indents as one line. Besides the tired reason what if you
want to add more.

My 1 cent
Mark Johnson


- Original Message -
From: Keith Johnson (DSLWN) [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, December 02, 2007 6:58 PM
Subject: RE: [U2] Deep and long indentations vs multiple exit points


 Dave Barret gave this code as an example:

 GOSUB OPERATION.1
 IF (NOT(ERROR)) THEN
   GOSUB OPERATION.2
   IF (NOT(ERROR)) THEN
 GOSUB OPERATION.3
 IF (NOT(ERROR)) THEN
   GOSUB OPEARTION.4
 END
   END
 END

 What about this version?

 GOSUB OPERATION.1
 IF ERROR ELSE GOSUB OPERATION.2
 IF ERROR ELSE GOSUB OPERATION.4
 IF ERROR ELSE GOSUB OPERATION.5

 or, more acceptably:

 GOSUB OPERATION.1
 IF GOOD THEN GOSUB OPERATION.2
 IF GOOD THEN GOSUB OPERATION.4
 IF GOOD THEN GOSUB OPERATION.5

 Which I personally find far more readable than the indented code.

 Regards, Keith De gustibus non est disputandum Johnson
 ---
 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] Deep and long indentations vs multiple exit points

2007-12-02 Thread MAJ Programming
I am a proponent for ON GOSUB's as I use them very often with maintenance
programs. For new records, I control the sequence of entered fields, For
existing records I use them to cycle through the displayed fields and
finally at the bottom line prompt to change a field.

SInce I use numbered labels for each field, ie label 100 corresponds to
field 1 etc, then it reads pretty easily.

Since there could be 10-20 or more fields, it 'looks pretty' with the
numbers and you can easily view those fields skipped per each segment.

If they were alphanumeric, all of the aforementioned helpers would
disappear. Plus, it would be that much more 'wordy' and hard to read
quickly.

My 1 cent
Mark Johnson
- Original Message -
From: Trey Miller [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, December 02, 2007 8:43 PM
Subject: RE: [U2] Deep and long indentations vs multiple exit points


 This typically sticks in the craw of those who feel ON GOSUB is anathema:

 ERROR = 0
 OPERATION = 0
 *
 LOOP
 BEGIN CASE
   CASE ERROR ; EXIT
   CASE 1
 OPERATION += 1
 ON OPERATION GOSUB 1000, 2000, 3000, 4000, 5000, 6000
 END CASE
 REPEAT

 Personally, I feel alphanumeric subroutine names are anathema; ON/GOSUB is
 merely an interesting stylistic decision.

 Harold (Trey) Miller
 Ph: (763)-300-8703

 MaverickSoft, Inc.
 16430 Birch Briar Trail
 Plymouth, Minnesota 55447

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Keith Johnson
 (DSLWN)
 Sent: Sunday, December 02, 2007 5:59 PM
 To: u2-users@listserver.u2ug.org
 Subject: RE: [U2] Deep and long indentations vs multiple exit points

 Dave Barret gave this code as an example:

 GOSUB OPERATION.1
 IF (NOT(ERROR)) THEN
   GOSUB OPERATION.2
   IF (NOT(ERROR)) THEN
 GOSUB OPERATION.3
 IF (NOT(ERROR)) THEN
   GOSUB OPEARTION.4
 END
   END
 END

 What about this version?

 GOSUB OPERATION.1
 IF ERROR ELSE GOSUB OPERATION.2
 IF ERROR ELSE GOSUB OPERATION.4
 IF ERROR ELSE GOSUB OPERATION.5

 or, more acceptably:

 GOSUB OPERATION.1
 IF GOOD THEN GOSUB OPERATION.2
 IF GOOD THEN GOSUB OPERATION.4
 IF GOOD THEN GOSUB OPERATION.5

 Which I personally find far more readable than the indented code.

 Regards, Keith De gustibus non est disputandum Johnson
 ---
 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] Deep and long indentations vs multiple exit points

2007-11-30 Thread MAJ Programming
Yes, but the example had only 3 tested conditions. Changing the number to
suit a method invalidates the original comparison. It's like 5+5 versus
5+5+5+5+5+5+5+5+5+5+5 whereby you change your method from adding to
multiplying.

If it's argued that every IF statement 'could' grow to a 'huge' number' then
throw away the IF alltogether and your program looks like this:

BEGIN CASE
CASE X=1
GOSUB 100
END CASE

Certainly compilable but distracting.

I agree, in the case of a long string of parsing, CASE is preferred. I write
tons of EDI parsers and they all case CASE.

In the big picture, especially in the example we are both working on, IF
statements generally conclude on one OR the other condition. If there's 3 or
more, and only one should prevail, then CASE wins.

My 3 cents.
Mark Johnson

- Original Message -
From: Dianne Ackerman [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, November 30, 2007 10:38 AM
Subject: Re: [U2] Deep and long indentations vs multiple exit points


 Mark,
 Although I usually agree with you, this time I have to disagree.  Using
 a CASE statement in this way seems a very clear way to handle something,
 especially when you're checking for a huge number of reasons to
 disqualify something from happening.  Have you ever programmed the
 Federal Financial Aid calculations?  They have tons of things to check
 for before allowing a calculation.  In my opinion, something like

 BEGIN CASE
   CASE FIRST.DISQUAL.CHECK; NULL
   CASE SECOND.DISQUAL.CHECK; NULL
 ...
 ...
   CASE TWENTIETH.DISQUAL.CHECK; NULL
   CASE 1
DO MONSTROUS CALC
 END CASE

 is much cleaner and easier to read (and modify every single year) than a
 huge IF-THEN statement!
 -Dianne

 MAJ Programming wrote:

 IMHO, using CASE as a replacement for IF's is extraneous. Meaning a
harder
 alternate than what should be the simpler form. CASE statements resolve
to
 being IF statements when compiled anyway.
 
 CASE statements are best used for their original purpose. That is to
 evaluate multiple conditions and only accept the first valid one and
provide
 an easy way to not consider the latter tests. Thus, each separate CASE
 statement should have the thought process of individually being used
instead
 of just cascading all the negatives.
 ---
 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] Deep and long indentations vs multiple exit points

2007-11-30 Thread MAJ Programming
I agree. On the few cases that I've run into RETURN TO, I've unprogrammed
it.

Part of the purpose of RETURN TO is that MV doesn't have the POP command
whereby you can remove one of the GOSUB stack references and 'return to' the
prior GOSUB statement.

Being one who can use GOTO properly and can mix it with GOSUB and CALL for
readable code, I don't use RETURN TO.

My 1 cent
Mark Johnson
- Original Message -
From: Susan Lynch [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, November 30, 2007 11:38 AM
Subject: Re: [U2] Deep and long indentations vs multiple exit points


 Ray, at the risk of another 'holy war', please don't encourage the use of
 RETURN TO - particularly with large complex groups of programs with lots
 of subroutines, this can lead to return stack overflow scenarios that
are
 extremely hard to debug (having cleaned up a lot of these as the 'next
 programmer' on site, I cringed when I read that).  I am not an anti-GOTO
 Nazi, if used sparingly and with good reason, but RETURN TO is, in my
 experience, a debugging nightmare waiting to happen.

 Susan M. Lynch
 F.W. Davison  Company, Inc.
 10 Cordage Park Circle, Suite 200
 Plymouth, MA 02360-7318
 (508) 747-7261

 - Original Message -
 From: Ray Wurlod [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Thursday, November 29, 2007 5:11 PM
 Subject: Re: [U2] Deep and long indentations vs multiple exit points


 A third possibility is to allow GOTO ERROREXIT (single exit point) - or
 even RETURN TO ERROREXIT - in error handling code.  This substantially
 reduces the number of levels of indentation required.
  ---
  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] Deep and long indentations vs multiple exit points

2007-11-30 Thread MAJ Programming
IMHO, using CASE as a replacement for IF's is extraneous. Meaning a harder
alternate than what should be the simpler form. CASE statements resolve to
being IF statements when compiled anyway.

CASE statements are best used for their original purpose. That is to
evaluate multiple conditions and only accept the first valid one and provide
an easy way to not consider the latter tests. Thus, each separate CASE
statement should have the thought process of individually being used instead
of just cascading all the negatives.

I believe the AND's in the IF statement are doing exactly what they are
intended to do. By expanding it into a CASE sequence distracts the reader.

BTW, one of my pet peeves with CASE statements is the blind addition of
these lines at the end: CASE 1 ; NULL.

While there are debates surrounding the use and value of NULL, adding CASE 1
; NULL for no purpose than to look pretty is, as some say, a waste of
cycles. It also distracts the programmer from considering that there is a
final catch all scenario when there really isn't any. It's like IF X=1 THEN
GOSUB 100 ELSE NULL. Not necessary.

My 2 cents.
Mark Johnson

BTW2. The use of END IF indicates someone coming from another non-MV
environment as END IF isn't MV required. I don't even know if it compiles.
- Original Message -
From: Colin Jennings [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, November 30, 2007 9:36 AM
Subject: Re: [U2] Deep and long indentations vs multiple exit points


  You could do this.
 
  PROCESS.REC:
  
 
  READ RECORD FROM FILE,ID THEN
IF RECORDFLD.1 EQ COND1 AND RECORDFLD.2 EQ COND2 AND RECORDFLD.3
  EQ COND3 THEN
   RECORDFLD.4 = 'PROCESSED'
   WRITE RECORD TO FILE, ID
END IF
  END IF
 
  RETURN


 Or, you could try:

 READ RECORD FROM FILE,ID THEN
BEGIN CASE
CASE RECORDFLD,1 NE COND1
CASE RECORDFLD,2 NE COND2
CASE RECORDFLD,3 NE COND3
CASE 1
   RECORDFLD,4 = PROCESSED
   WRITE RECORD ON FILE, ID
END CASE
 END

 For my money, the CASE statement, sensibly used, is much better than
 multiple IF statements

 Colin.
 ---
 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] Totally different topic

2007-11-28 Thread MAJ Programming
A client going through a conversion has a GA Mentor. One of the 8-way serial
external boards crapped out.

If anyone has an ADDS 8 way (systech model HPS-7082) with the BNC and parallel
connections for sale or donation please reply.

Thanks in advance.
Mark Johnson

PS. No flames or lectures. Thanks.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Good Practice?

2007-11-27 Thread MAJ Programming
Again, the email timing issue.
I was responding to the simple index with F200 not bounded. I've used
bounding earlier and detected what you were doing.

Regarding the extra variable/effort by the SETTING and SET'd variable. I
don't care for the argument of counting cycles. Granted, not wasting gross
amounts of time is one thing. But who cares about the few alleged cycles
that LOCATE would involve. That becomes a sticky debatable point that wastes
more time talking about it than it actually does.

Given today's extremely fast systems and the tame data requirements of any
MV system, poorly written or not, we're not taxing the 4 CPU 3.0 Ghz servers
as much as we think. Think about it. Today's RAM is hundreds of times larger
than many of our earlier hard drives. Cycles, Schmycles.

My 2 cents.
Mark Johnson
- Original Message -
From: Keith Johnson (DSLWN) [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, November 26, 2007 9:46 PM
Subject: RE: [U2] Good Practice?


 Hi Mark,

 Just a couple of points.

 First, the value of F200.SCHEME.CODE of CK *cannot* trigger a false
 positive.

   TEST = '\AF1\CK1\CK2\H\LHC\MP\NU1\NU2\TK1\TK2\'
   IF INDEX(TEST,'\':F200.SCHEME.CODE:'\',1) THEN THAT = @FALSE

 is fairly bulletproof because of the backslashes around both the string
 and the substring.

 Second, I wasn't concerned about LOCATE adding a cycle or two.  It's
 just that one has to provide the SETTING variable which is then ignored.
 INDEX involves a string, a substring, and a start count - there's
 virtually nothing redundant.  Using LOCATE involves a string, a
 substring, the position found as well as (possibly) a start position and
 a search sequence; so it can be regarded as a more complex function.
 Also, one can choose from three forms of LOCATE - Pick, Ideal/Reality,
 or Information.  Then, to avoid the long setup string, one has to use
 CONVERT (or SWAP or CHANGE).

 Regards, Keith

 PS Good surname - mine's Norwegian in origin... great grandad jumped
 ship in Auckland.
 ---
 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] Time Travel

2007-11-27 Thread MAJ Programming
If a donation could be made with Pay-Pal, I've got some extra $. If it makes
a difference.
Thanks
Mark Johnson
- Original Message -
From: Clifton Oliver [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, November 27, 2007 2:34 AM
Subject: Re: [U2] Time Travel


 For the group's edification, at sending out 60,000+ e-mails on some
 days (more than that when people had nothing better to do at work
 than flame each other about coding styles), this was one of the
 problems I had when I hosted the lists.

 Larry is also being polite and not mentioning that he is footing the
 bill for this service and bandwidth. So when some people start in on
 this needs to be corrected, the list has to be faster, and so
 forth, I would suggest you show him the money.

 Not meaning to put words in your mouth, Larry. Most of us really
 (really, really!) appreciate your donation of time and money in
 support of these lists.

 Clif.button.push()


 On Nov 26, 2007, at 9:48 PM, Larry Hiscock wrote:

   b) I don't want to be blacklisted as a
  spammer.
 ---
 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] Standards [was:OCONV Extraction Question - Good Practice]

2007-11-27 Thread MAJ Programming
Standards vs Styles.

I think Standards are top-down delivered entities in the language from the
database providers, ie IBM, Raining Data etc. It's the syntax of commands.

Styles are the localized adaptations of the commands, combined for a
consistency. They should not extend beyond the horizon of the programs that
the 'stylists' have control over.

Thus, we can share 'styles' and even vote on them. But we all can choose to
pick and choose which ones we feel are better suited for use within our own
horizons.

IBM and RD give us programmers the same box of crayons respectively. It's up
to us to draw with them.

Mark Johnson
- Original Message -
From: Boydell, Stuart [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, November 27, 2007 9:27 PM
Subject: RE: [U2] Standards [was:OCONV Extraction Question - Good Practice]


 Colin,
 excuse my top-posting - I'm using Outlook.

 Lol. Well it was supposed to be rhetorical and I wasn't expecting a
 response but since you have; may I cast an opinion that boiling down a
 definition of good code to being efficient and maintainable and
 calling it a standard is an oversimplification and well, plain
 dangerous.

 Of course code should try to exhibit both qualities but, as you point
 out, they're value calls and aren't measurable by themselves. Standards
 should always be concrete. Possibly like: Always use a matching 'END'
 clause after an 'IF/THEN' construct regardless of the number of
 statements (eg no single-line IF/THEN conditionals). It's a concrete
 rule and it can be justified because it makes code 'look' consistent and
 that's something which helps errors to stand out. It's also no less
 efficient at runtime to use IF/THEN/END than a single line IF/THEN for a
 condition with only one statement to be performed. (Whether a shop would
 actually choose that as a real standard is not the point in this
 example).

 Among other qualities of 'good' code, I would say - Does it also perform
 its function? Obvious to say but does code always handle potential
 errors? something which I see very little of in certain areas of
 standard pick code. This can make code quite convoluted... using
 READU/LOCKED/ON ERROR/ELSE, BEGIN/END TRANSACTION etc. Possibly
 overengineered, inefficient, even ugly. But is a program performing its
 function if say, an update gets a ledger out of balance because it
 doesn't handle a lock, or an out of sync update anomaly correctly. There
 is the real risk of costly repercussions to the business. I'm sure
 everyone has seen examples of programs that only blind luck keeps
 running in production.

 On the no need to look in a manual therefore it must be maintainable
 mantra. A hypothetical if you will: You're in a U2 only shop working on
 a testing the values of a dynamic array variable. Would you a) use a
 DCOUNT(), FOR/NEXT construct and call IF/THEN multiple times or b) use a
 single IFS() vector function? (leaving aside REMOVE() for the moment)
 can you tell me which construct you'd use measured against efficient
 and maintainable?

 I'd look at it in light of the efficient and maintainable standard
 and say: The single IFS() function is an order of magnitude simpler and
 quanta more efficient than the DCOUNT/FOR/IF/THEN/NEXT. In my mind
 something which is a simple, single statement is more maintainable than
 a multi line/multi statement construct. So for my money, it's a lay
 down misere I'd use the IFS().

 However, IFS() isn't used very often in code I've seen. Do you still
 give in to your standard and use the IFS()? You could make an assumption
 about the maintenance programmer coming after you. Will they look at
 IFS(), suddenly go very pale, panic, run screaming out of the room
 crying 'heresy' and never code again? Or do you give them a smidgeon of
 credit, that though they have never seen IFS() before, they can open one
 of the dusty, paper manuals that's been propping up a shelf for the past
 20 years and read the explanation of IFS() and work it out (Of course,
 they could then refactor it back to a FOR/IF/THEN/NEXT construct because
 they're being paid by the hour).

 It's a curly path and I reckon that unless you have concrete statement
 which says - never use or always use vector functions - it's a
 guideline not a standard.

 Cheers,
 Stuart


 -Original Message-
  Good code. What (TF) is that and how does that relate to a
 statements
  inclusion in a manual or not?
  Explain yourself and - the rules for you are - don't peek in a
  dictionary or use an electronic grammar or spell checker. ;-)
  Stuart Boydell
 
 
 Hi Stuart.
 
 Ignoring all dictionary and thesaurus explanations available I have a
 simple
 definition of good code - is it efficient and can it be easily
 maintained
 by someone else?  I appreciate that this is an arbitary and difficult
 to
 measure standard, but it's my standard nonetheless  :-)
 
 We have a language that invariably allows a solution to be written in a
 number of 

Re: [U2] Good Practice?

2007-11-26 Thread MAJ Programming
Again, your response is out of sequence as so is mine. I see the back
slashes today but replied yesterday.
Maybe the forum is a better idea.
Mark Johnson
- Original Message -
From: Jerry Banker [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, November 26, 2007 8:40 AM
Subject: RE: [U2] Good Practice?


 In the case he used it will not show a false positive because he
 enclosed the F200.SCHEME.CODE in \.

  -Original Message-
  From: MAJ Programming [mailto:[EMAIL PROTECTED]
  Sent: Sunday, November 25, 2007 10:03 PM
  To: u2-users@listserver.u2ug.org
  Subject: Re: [U2] Good Practice?
 
  I find this kind of evolved junk a lot. There's one caveat that you
 should
  include:
 
  TEST = '\AF1\CK1\CK2\H\LHC\MP\NU1\NU2\TK1\TK2\'
  CONVERT \ TO CHAR(254) IN TEST
  LOCATE F200.SCHEME.CODE IN TEST SETTING FOUND THEN ELSE
 
  While actual mileage may differ, when having a lookup table and using
 INDEX,
  the value of F200.SCHEME.CODE of CK will trigger a false positive.
 
  I like to boil down complex boolean expressions into readable words as
 well.
  Somehow causes clarity, especially with very verbose variable names.
 
  MJ
  - Original Message -
  From: Keith Johnson (DSLWN) [EMAIL PROTECTED]
  To: u2-users@listserver.u2ug.org
  Sent: Sunday, November 25, 2007 3:52 PM
  Subject: [U2] Good Practice?
 
 
   Here's an example of how I rewrote some code.
  
   Old version
   284: * IF F200.SCHEME.CODE = CK1 OR F200.SCHEME.CODE =
 CK2
   OR F200.SCHEME.CODE = NU1 OR F200.SCHEME.CODE = NU2 OR
   F200.SCHEME.CODE = TK1 OR F200.SCHEME.CODE = TK2 OR
  F200.SCHEME.CODE
   = GS1 OR F200.SCHEME.CODE = JM OR F200.SCHEME.CODE = MP3 OR
   F200.SCHEME.CODE = LHC OR F200.CALC.CODE = H OR
  F500.S91.ANNUITY.SEQ
   + 0 = 2 OR F500.S48.ANNUITY.SEQ + 0 = 2 OR F200.SCHEME.CODE =
 AF1
  OR
   F200.SCHEME.CODE = MP THEN; *002
   285:  IF F200.SCHEME.CODE = CK1 OR F200.SCHEME.CODE =
 CK2 OR
   F200.SCHEME.CODE = NU1 OR F200.SCHEME.CODE = NU2 OR
  F200.SCHEME.CODE
   = TK1 OR F200.SCHEME.CODE = TK2 OR F200.SCHEME.CODE = LHC OR
   F200.CALC.CODE = H OR F500.S91.ANNUITY.SEQ + 0 = 2 OR
   F500.S48.ANNUITY.SEQ + 0 = 2 OR F200.SCHEME.CODE = MP OR
   F200.SCHEME.CODE = AF1 THEN ; *002*003
  
   New version
   261:  THAT = @TRUE
   262: *TEST =
  '\AF1\CK1\CK2\GS1\H\JM\LHC\MP\MP3\NU1\NU2\TK1\TK2\'
   263:  TEST = '\AF1\CK1\CK2\H\LHC\MP\NU1\NU2\TK1\TK2\'
   264:  IF INDEX(TEST,'\':F200.SCHEME.CODE:'\',1) THEN THAT =
   @FALSE
   265:
   266:  IF F500.S91.ANNUITY.SEQ + 0 GE 2 THEN THAT = @FALSE
   267:  IF F500.S48.ANNUITY.SEQ + 0 GE 2 THEN THAT = @FALSE
  
   I think the new version is easier to maintain (well I would say
 that),
   but the code itself is more complex; which is rather interesting.
  
  
   Regards, Keith
   ---
   u2-users mailing list
   u2-users@listserver.u2ug.org
   To unsubscribe please visit http://listserver.u2ug.org/
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Re: U2 Users Digest V1 #1968

2007-11-25 Thread MAJ Programming
Funny how I remember 3.5b being of long duration in the 1980's but I don't
recall the earlier ones. I worked for MCD from Nov 1978 thru Sept 1979. I do
recall the rainbow manuals though.

thanks
- Original Message -
From: Clifton Oliver [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, November 25, 2007 2:29 PM
Subject: Re: [U2] Re: U2 Users Digest V1 #1968


 It was required on the early Microdata Reality, also, at least prior
 to R80. I think R80 dropped that requirement, but that was too many
 years ago to remember.


 --

 Regards,

 Clif

 On Nov 25, 2007, at 9:29 AM, Kevin King wrote:

  On Nov 23, 2007 1:04 PM, MAJ Programming
  [EMAIL PROTECTED] wrote:
  Anyone who still uses OPEN ,CUSTOMER... meaning the null dict
  reference
  should get his head out of the sand. It's never been required, at
  least not
  by the truly earlier MV flavors (MCD, ULT, MENTOR, R80 etc). If it
  was
  required by Prime (spawning UV/UD), then it's not required by U2
  today.
 
  MCD Reality 5.1 did in fact require the  in the OPEN.  It's the last
  platform I ever saw that did, though I think early Rev did as well.
  ---
  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] Re: U2 Users Digest V1 #1968

2007-11-25 Thread MAJ Programming
Don't forget that OPEN DICT MYFILE to MYFILE.DV also works accross all
platforms mentioned earlier. It's putting the DICT and MYFILE in the same
quotes.
MJ
- Original Message -
From: Bill Haskett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, November 25, 2007 2:52 PM
Subject: RE: [U2] Re: U2 Users Digest V1 #1968


 Secondly, for those of us who remember MCD and have a style that likes
things
 similar, I often find myself doing:

 FileErr = ''
 OPEN 'DICT', 'MYFILE'   TO MYFILE.DV   ELSE FileErr := ' Dict MYFILE'
 OPEN 'DICT', 'YOURFILE' TO YOURFILE.DV ELSE FileErr := ' Dict YOURFILE'
 OPEN '', 'MYFILE'   TO MYFILE.FV   ELSE FileErr := ' MYFILE'
 OPEN '', 'YOURFILE' TO YOURFILE.FV ELSE FileErr := ' YOURFILE'
 IF FileErr NE '' THEN ...

 I don't see this lack of style as a principle of MV programming.  So, for
those of us
 who have, or had, teenagers living at home, one has to pick their battles.
:-)

 Personally, I'd prefer not to characterize others style as a violation of
principle,
 but would prefer to work on producing, and agreeing on, those basic
principles of MV
 programming.  Everybody's style can be published as just that...style.
:-)

 Bill

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Kevin King
 Sent: Sunday, November 25, 2007 9:29 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Re: U2 Users Digest V1 #1968
 
 On Nov 23, 2007 1:04 PM, MAJ Programming
 [EMAIL PROTECTED] wrote:
  Anyone who still uses OPEN ,CUSTOMER... meaning the null dict
reference
  should get his head out of the sand. It's never been required, at least
not
  by the truly earlier MV flavors (MCD, ULT, MENTOR, R80 etc). If it was
  required by Prime (spawning UV/UD), then it's not required by U2 today.
 
 MCD Reality 5.1 did in fact require the  in the OPEN.  It's the last
 platform I ever saw that did, though I think early Rev did as well.
 ---
 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] Re: U2 Users Digest V1 #1968

2007-11-25 Thread MAJ Programming
I definitely have program listings from 1982 indicating OPEN PRODUCT
without the . That was at least pre-3.5b which was the most prevelant
release during the 1980's. I can't imagine them going backwards on release
5.1 when 3.5b didn't need it.

Then again, MCD kinda splintered into the Spirit and Sequel flavors although
I've got first hand experience on all 4 (Royale, Reality, Spirit  Sequel)
and still recall being at 4 Gary Rd and seeing what happened if I omitted
the , for DICT and it worked.

If I missed that release then I still maintain that it is not needed in any
way now. I've got current UV, UD, MVbase, MCD, Mentor, GA, D3 clients and I
know that they don't need it.

Thanks
Mark Johnson.
- Original Message -
From: Kevin King [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, November 25, 2007 12:29 PM
Subject: Re: [U2] Re: U2 Users Digest V1 #1968


 On Nov 23, 2007 1:04 PM, MAJ Programming [EMAIL PROTECTED]
wrote:
  Anyone who still uses OPEN ,CUSTOMER... meaning the null dict
reference
  should get his head out of the sand. It's never been required, at least
not
  by the truly earlier MV flavors (MCD, ULT, MENTOR, R80 etc). If it was
  required by Prime (spawning UV/UD), then it's not required by U2 today.

 MCD Reality 5.1 did in fact require the  in the OPEN.  It's the last
 platform I ever saw that did, though I think early Rev did as well.
 ---
 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 Practice?

2007-11-25 Thread MAJ Programming
I find this kind of evolved junk a lot. There's one caveat that you should
include:

TEST = '\AF1\CK1\CK2\H\LHC\MP\NU1\NU2\TK1\TK2\'
CONVERT \ TO CHAR(254) IN TEST
LOCATE F200.SCHEME.CODE IN TEST SETTING FOUND THEN ELSE

While actual mileage may differ, when having a lookup table and using INDEX,
the value of F200.SCHEME.CODE of CK will trigger a false positive.

I like to boil down complex boolean expressions into readable words as well.
Somehow causes clarity, especially with very verbose variable names.

MJ
- Original Message -
From: Keith Johnson (DSLWN) [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, November 25, 2007 3:52 PM
Subject: [U2] Good Practice?


 Here's an example of how I rewrote some code.

 Old version
 284: * IF F200.SCHEME.CODE = CK1 OR F200.SCHEME.CODE = CK2
 OR F200.SCHEME.CODE = NU1 OR F200.SCHEME.CODE = NU2 OR
 F200.SCHEME.CODE = TK1 OR F200.SCHEME.CODE = TK2 OR F200.SCHEME.CODE
 = GS1 OR F200.SCHEME.CODE = JM OR F200.SCHEME.CODE = MP3 OR
 F200.SCHEME.CODE = LHC OR F200.CALC.CODE = H OR F500.S91.ANNUITY.SEQ
 + 0 = 2 OR F500.S48.ANNUITY.SEQ + 0 = 2 OR F200.SCHEME.CODE = AF1 OR
 F200.SCHEME.CODE = MP THEN; *002
 285:  IF F200.SCHEME.CODE = CK1 OR F200.SCHEME.CODE = CK2 OR
 F200.SCHEME.CODE = NU1 OR F200.SCHEME.CODE = NU2 OR F200.SCHEME.CODE
 = TK1 OR F200.SCHEME.CODE = TK2 OR F200.SCHEME.CODE = LHC OR
 F200.CALC.CODE = H OR F500.S91.ANNUITY.SEQ + 0 = 2 OR
 F500.S48.ANNUITY.SEQ + 0 = 2 OR F200.SCHEME.CODE = MP OR
 F200.SCHEME.CODE = AF1 THEN ; *002*003

 New version
 261:  THAT = @TRUE
 262: *TEST = '\AF1\CK1\CK2\GS1\H\JM\LHC\MP\MP3\NU1\NU2\TK1\TK2\'
 263:  TEST = '\AF1\CK1\CK2\H\LHC\MP\NU1\NU2\TK1\TK2\'
 264:  IF INDEX(TEST,'\':F200.SCHEME.CODE:'\',1) THEN THAT =
 @FALSE
 265:
 266:  IF F500.S91.ANNUITY.SEQ + 0 GE 2 THEN THAT = @FALSE
 267:  IF F500.S48.ANNUITY.SEQ + 0 GE 2 THEN THAT = @FALSE

 I think the new version is easier to maintain (well I would say that),
 but the code itself is more complex; which is rather interesting.


 Regards, Keith
 ---
 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] Forum Responses

2007-11-25 Thread MAJ Programming
To all, especially the moderator.

I just replied twice or 3 times to the same thread only to find out that later
in my inbox someone else had earlier posted most all of the same responses. (I
did have one new thing to add).

Anyway, I can sense that this wastes a lot of everyone's time as when the
original posting is How much is one plus one?, some of us may read the
question first, reply only to read later emails that someone else had
submitted TWO. Thus all the other TWO's are redundant.

Raining Data uses an internet based forum (similar credentials) with a single
thread for each topic. You can monitor the topics and have email alerts for
the different activity. But, when you are reading the thread, you are reading
the entire thread so you won't post TWO if someone else has already done
so.

Plus, as many have mentioned, the replied and replied and replied emails don't
grow so long that someone complains about the redundancy.

I enjoy the RD forums as they keep the threads around forever (while still
alive) and rarely are there more than one submission of TWO.

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


Re: [U2] Good Practice?

2007-11-25 Thread MAJ Programming
While that is an expression of combining statements, it will grow out of
hand. Here's the extension of my suggestion.

TEST=A.B.C.D.E  ;* FIRST SET, JAN 2005
TEST-1=F.G.H.I.J.K.L ;* SECOND SET. ADDED DEC 2006
TEST-1=M.N.O.P.Q.R ;* SALES DEPT NEEDS MORE. APR 2007
TEST-1=S.T.U.V.W.X.Y.Z ;* ACCOUNTING WANTS SOME. NOV 07.
CONVERT . TO CHAR(254) IN TEST
LOCATE SOUGHT IN TEST SETTING FOUND THEN ELSE.

Now, we need not convert this exercise into saying Why not use an external
table. That's not the point. The point is having a hard coded table within
a program.

This method allows the TEST set to grow in a nicely visible way without
stretching a very long variable. Plus, for most programmers without a
windows-like editor, the chance of messing up when appending to a long
wrapped-around string is high as well.

My 1 cent.
Mark Johnson

PS. The argument that LOCATE adds a cycle or two with the SETTING clause is
weak. Given the verbose programming we all have seen, the SETTING clause
ain't going to break anything.

- Original Message -
From: Kate Stanton [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, November 25, 2007 10:01 PM
Subject: Re: [U2] Good Practice?


 How about: TEST =
 CHANGE('AF1,CK1,CK2,GS1,H,J,LHC,MP,MP3,NU1,NU2,TK1,TK2',',',@FM)

 - Original Message -
 From: Keith Johnson (DSLWN) [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Monday, November 26, 2007 1:50 PM
 Subject: [U2] Good Practice?


  Neil suggested using LOCATE rather than INDEX in my example.
 
  I'm not sure I agree that would be any less complex as far as the code
  is concerned.  INDEX and LOCATE are both 'complex' compared with the IF
  statement, and since LOCATE needs its SETTING variable, it's arguably
  the more complex statement.  There are three different forms of LOCATE,
  so that can cause problems. Lastly, the variable TEST has to be set up
  with attribute marks either by multiple lines or by the very long line
  below; which, I have to say, I don't find very readable at all.
 
  TEST =
  'AF1':@AM:'CK1':@AM:'CK2':@AM:'GS1':@AM:'H':@AM:'JM':@AM:'LHC':@AM:'MP':
  @AM:'MP3':@AM:'NU1':@AM:'NU2':@AM:'TK1':@AM:'TK2'
 
 SNIP
 ---
 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 Practice?

2007-11-25 Thread MAJ Programming
Using attribute variables (@am or AM or CHAR(254)) in the string is a waste
of typing. Try this:

TEST=A.B.C.D.E.F.G.H.I.J.K.L.M.N
CONVERT . TO CHAR(254) IN TEST.

I do this zillions of times with no downside. Again, using LOCATE will
eliminate false positives.

MJ
- Original Message -
From: Keith Johnson (DSLWN) [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, November 25, 2007 7:50 PM
Subject: [U2] Good Practice?


 Neil suggested using LOCATE rather than INDEX in my example.

 I'm not sure I agree that would be any less complex as far as the code
 is concerned.  INDEX and LOCATE are both 'complex' compared with the IF
 statement, and since LOCATE needs its SETTING variable, it's arguably
 the more complex statement.  There are three different forms of LOCATE,
 so that can cause problems. Lastly, the variable TEST has to be set up
 with attribute marks either by multiple lines or by the very long line
 below; which, I have to say, I don't find very readable at all.

 TEST =
 'AF1':@AM:'CK1':@AM:'CK2':@AM:'GS1':@AM:'H':@AM:'JM':@AM:'LHC':@AM:'MP':
 @AM:'MP3':@AM:'NU1':@AM:'NU2':@AM:'TK1':@AM:'TK2'

 There may be a slight speed benefit in restricting the scan by using
 'AL'; but this is not material (or possibly even detectable?) in strings
 of this length.  There is also an ongoing  maintenance risk because the
 next programmer might not notice the codes were sorted, and may just add
 a new one to the end of the string.
 Regards, Keith.
 ---
 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] Re: U2 Users Digest V1 #1968

2007-11-23 Thread MAJ Programming
Another great point of contention.

For over 35 years (including pre-MV of the PDP-8 era), I typed FOR I=1 TO 10
and not FOR I = 1 TO 10.

Meaning, my 'habit' (not style or standard) does not use Xspace=space1
but X=1.

I don't use spaces as separators when using the colon (contatenation)
function. Thus I use PRINT XL#10:YL#10.

I do use spaces when putting multiple statements on the same line, X=1 ; Y=2
; Z=3. I know that will ruffle a few feathers as there's a large camp
condemning more than one statement on a line.

I do use spaces with CALLed sub parameter strings, aka CALL SUB(A, B, C, D,
E). In fact, I make a conscious effort to add the spaces as many programmers
before me jam punctuationed parameters in the parameter area that makes it
hard to discern, aka CALL SUB(TRK.MFT,SHP.RPT,F.FILE,
D.FILE,F.TRK.DFR,USER_ANS1,USER_ANS2,RET_VAL). When printing, especially on
non-laser printers, the commas and periods look too similar.

I add a space after the commas in any read/write commands.

Might I digress on file handling:
I hate the non-filehandle option on production programs. It's acceptable
only for single use, 'programmer's' programs.

We can get into a whole dissertation on the nomenclature for file-handles.

I believe I have the best practice for the OPEN statement. In fact I had it
published by Spectrum years ago.

Anyone who still uses OPEN ,CUSTOMER... meaning the null dict reference
should get his head out of the sand. It's never been required, at least not
by the truly earlier MV flavors (MCD, ULT, MENTOR, R80 etc). If it was
required by Prime (spawning UV/UD), then it's not required by U2 today.

My 4 cents
Mark Johnson


- Original Message -
From: Bill Haskett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, November 22, 2007 1:25 PM
Subject: RE: [U2] Re: U2 Users Digest V1 #1968


 Mark:

 I always thought a principle of languages was to separate words.  In this
sentence,

... programs ago that PRINT X/100R2,#10 ...

 you've separated each word, within the sentence, with a space, but not the
BASIC
 code.  Why not BASIC?

 PRINT (X/100) R2,(#10)
or
 X = (4 + 5) * 7

 I believe you're correct when you talk about principles and inherited
code.
 Sometimes principles go out the window.  However, when writing new code
certain
 principles should be followed and one is left to themselves, or others,
to devise
 their own style.

 Bill


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of MAJ
 Programming
 Sent: Thursday, November 22, 2007 9:43 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Re: U2 Users Digest V1 #1968
 
 Thanks David. I feel less alone.
 
 As far as the order of processing, it's an acquired taste. We all recall
 learning the order of calculations between +, -, / and *. Despite it
 compiling without parenthesis and coming up with the right answer, I too
 like to make it more obvious with using parens. X=4+5*7 vs X=4+(5*7) or
 X=(4+5)*7. You know the story.
 
 With that in mind, I've proven thousands of programs ago that PRINT
 X/100R2,#10 works as expected without fearing that it may come up as
 X/(100R2,#10). Only by testing did I gain the confidence to omit the
 parens.

 [snipped]

 
 My 3 cents
 Mark Johnson
 ---
 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] OCONV Extraction Question - Good Practice

2007-11-23 Thread MAJ Programming
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Re: U2 Users Digest V1 #1968

2007-11-22 Thread MAJ Programming
Thanks David. I feel less alone.

As far as the order of processing, it's an acquired taste. We all recall
learning the order of calculations between +, -, / and *. Despite it
compiling without parenthesis and coming up with the right answer, I too
like to make it more obvious with using parens. X=4+5*7 vs X=4+(5*7) or
X=(4+5)*7. You know the story.

With that in mind, I've proven thousands of programs ago that PRINT
X/100R2,#10 works as expected without fearing that it may come up as
X/(100R2,#10). Only by testing did I gain the confidence to omit the
parens.

In the Jurrasic Pick era, people got tired of typing EXTRACT (et al) and
started using DIM arrays or other FIELD etc methods to save keystrokes. I
too retired the letters OCONV() when I gained that confidence. I know that I
can use DATE()d2/ and the numeric expressions earlier. I also know that I
cannot use TIME()MTHS so I revert to OCONV().

I also know that if a date value may be empty in a formatted line, I don't
trust XD2/L#10 so I use (XD2/)L#10.

Bottom line is what's comfortable and what environment you are working with.
Like David, I've been around the block a bunch and have seen horrible code
that I can cognitively omit using. One clients' system has this style of
dynamic array handling embedded everywhere and I dare not change it without
a whole lot of finger crossing:

Z=CHAR(254) ; ZZ=CHAR(253)

REC=NAME:Z:ADD:Z:CITY:Z:STATE:Z:ZIP:Z:Z:Z:STR(Z,15):PHONE1:ZZ:PHONE2:Z:SALES
MAN
WRITE REC ON CUSTOMER, CUSTNO

Quick, which attribute are the phone numbers on?

When you inherit this kind of garbage and have your hands tied on justifying
its improvement, then you can get an appreciation for the diversity of MV
programming and don't get too caught up with tweaking the few best commands.
I won't offend the FMT/OCONV crowd but I will defend against those who stand
on their soapbox and offend simpler coding.

My 3 cents
Mark Johnson
- Original Message -
From: David A Barrett [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, November 22, 2007 9:47 AM
Subject: [U2] Re: U2 Users Digest V1 #1968


 There was this:

  Speaking of mis-used commands and side-stepping some of the given code
  craziness...
 
  It is better practice to atomize the code into discrete elements such
  as...

   Var1.F = oconv(Var1, 'MD0')
   Var2.F = oconv(Var2, 'MD2')
   Var3.F = oconv(Var3, 'MD4')

   Crt.Str  = Var1.F 'R#6
   Crt.Str := Var2.R 'R#12'
   Crt.Str := Var3.F 'R#14'
   crt Crt.Str


  rather than to try to kill two birds with one stone by including an
  oconv statement inside a crt statement such as...
 
crt oconv(Var1, 'MD0')
 
  --Bill

 And this:

  Womack, Adrian wrote:
   IMO, the only thing wrong with your example is the use of the
 trailing
   format strings - everyone (and I mean everyone) should be using the
 FMT
   function, making your example:
  
   CRT FMT(OCONV(VAR1,MD0),R#6 ):FMT(OCONV(VAR2,MD2),R#10
   ):FMT(OCONV(VAR3,MD4),R#14)

 Yikes!

 As someone who has spent the last 25 years of my life looking
 at/fixing/changing code that someone else wrote I have to say that I value
 terseness over everything else.  Create a variable just to hold the
 formatted version of some other variable to avoid embedding OCONV's in a
 PRINT/CRT/DISPLAY statement?   Just looking at code like that would have
me
 drawing a warm bath and getting out the razor blades.  Never mind having
to
 write code like that.

 Personally, I find the trailing D2/ a little too subtle, and prefer the
 use of OCONV statements just to make the conversion jump out a little more
 when someone takes a quick glance at the code.  Justification and fill via
 R%6 and so on works just fine for me, and the extra space taken up with
 FMT function calls only serves to make the code harder to read.

 As to a disaster waiting to happen.  I've never seen, never even heard
of
 it happening.  Doubt that I ever will.  Programmers make typos all the
 time, keeping the code terse and clean is the absolute best way to make
 them easier to spot, easier to avoid and easier to fix.

 I don't like:

PRINT ABC/100L%6

 because I'm never quite trust the order of operations or my rememberance
of
 them.  I'd use:

   PRINT (ABC/100)L%6

 I never saw a line of code that wouldn't be improved by adding some
 parenthesis. :)

 And I'd never use:

   X = (ABC/100)L%6

 or

   X = OCONV(ABC,MD2,)

 Unless there was some extraordinary reason to have a variable floating
 around with formatted data in it.  I consider it a best practice to keep
 all variables as internal, unformatted data and apply the formats in the
 output commands themselves.


 Dave Barrett,
 Lawyers' Professional Indemnity Company
 ---
 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 

Re: [U2] OCONV Extraction Question - Good Practice

2007-11-22 Thread MAJ Programming
That's what the compiler is for. After all, it has the final word on the
sourse code and any 'pre-compilers'.

I'm having a similar dialog with someone on the D3 forum about their
insistence upon 'changing' the syntax of data/basic statements as he feels
that their syntax is not 'natural'. So he spends a lot of time developing
his own pre-compiler that allows his new expressions to work for him yet get
converted to the eventual data/basic compiler.

I'm glad that you recognize that you're in a closed shop and don't have to
worry about outside considerations. Given the vast amount of $OPTIONS that
can be set in U2 systems, then you can customize your environment to exactly
the one you like and go from there.

Your two examples are just that, examples. I'm not going to stand on a
soapbox and imply that you don't test. Not at all. But this kind of stuff
comes up in the testing cycle of the project and if unexpected results
occur, as in your 2 examples, then the testing has done its job in
identifying a problem.

Has EVERY instance of my typing VAL/100R2#10 been perfect. Of course not,
just as every example of your typing FMT(OCONV didn't work every time
either. Whether yours gets caught in a pre-compiler, the regular compiler or
the testing cycle, it will eventually get caught and repaired.

Being in a closed shop is almost a luxury. You have a forced 'style' (the
word 'standard' is too global) that allows your entire application to
maintain a cohesive feel, look and, most importantly, programmability and
maintainability. That's a luxury that I don't have at any of my clients.
Zero.

I am the current cook in the kitchen and based on the styles and date stamps
of prior programmers, I can detect an average of 5-6 different thought
processes in the code that all come together for each client's application.
There's no reverse-implying a single standard (sorry, 'style').

Many on this forum have this luxury. And I'm sure many do not.

Thanks
Mark Johnson
- Original Message -
From: Womack, Adrian [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, November 22, 2007 1:56 AM
Subject: RE: [U2] OCONV Extraction Question - Good Practice


 Using FMT forces correct syntax use. Having the trailing formatting
 characters, can cause all kinds of issues with small typos in the code
 (especially when the compiler just takes it all in it's stride).

 Look at these two examples:

 * Accidentally inserting a space into a numeric constant
 A = 123 4
 CRT A
 * displays 123.

 * missing out a colon or a comma
 CRT XYZ ABC
 * Displays ABC

 We use a syntax checking program which throws both of these out as bad
 syntax, so the code never gets anywhere near production. IMO the
 compiler shouldn't accept this type of formatting (or perhaps there
 should be a compiler $option). Although, we are a closed shop and work
 exclusively in PI/Open flavour, so portability isn't an issue for us.

 AdrianW

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of MAJ Programming
 Sent: Thursday, 22 November 2007 2:54 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] OCONV Extraction Question - Good Practice

 I gotta ask. How is it a disaster waiting to happen.

 This 'best practices' exercise may die an early death with such
 unauthorized conclusions. How are you judging the CRT example as
 'disasterous'.

 Mark Johnson

 BTW, the FMT expression may not play well with other MV flavours. Thus,
 I tend to program continouosly to cover all of my client's needs.


 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/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] OCONV Extraction Question - Good Practice

2007-11-21 Thread MAJ Programming
Considering the garbage I've inherited, I feel that I've made many previous
expressions more concise and direct.

Oh yeah, what Certification ? If any exists, I haven't stumbled upon it.

Mark Johnson
- Original Message -
From: Jerry Banker [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, November 20, 2007 10:00 AM
Subject: RE: [U2] OCONV Extraction Question - Good Practice


 I don't like it. I've been in the language for over 25 years and have
 passed the certification a couple of times and when I looked at this I
 was scratching my head for a while. Obviously you know what you are
 doing but what is going to happen with the next programmer when you
 retire.

 -Original Message-
 From: MAJ Programming [mailto:[EMAIL PROTECTED]
 Sent: Monday, November 19, 2007 11:12 PM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] OCONV Extraction Question - Good Practice

 Oddly enough, to make things more interesting, I would have coded it
 this
 way:

 CRT VAR1R0#6: :VAR2/100R2#10: :VAR3/1R4#14

 Less typing. For output, the only time I use OCONV is a MTx time
 conversion or if the value isn't justified and I want the all the
 decimals.
 I use DATE()D2/ beaucoups of times.
 ---
 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] OCONV Extraction Question - Good Practice

2007-11-21 Thread MAJ Programming
Exactly why is

CRT VAR1/100R2#10

such a challenge to those who want to use

CRT FMT(OCONV(VAR1,MD2)R2#10)

?
I've concluded that method years ago and haven't looked back. Surely by now
if there was some hidden problem I would have run into it by now.

Mark Johnson
- Original Message -
From: Susan Lynch [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, November 20, 2007 3:56 PM
Subject: Re: [U2] OCONV Extraction Question - Good Practice


 Also, according to the UniBasic Reference Manual, The FMT function can
 produce different results based on the BASICTYPE setting.  So, if we are
 going to discuss programming standards, do we have to discuss them for
each
 BASICTYPE flavor?  The manual documents what happens with BASICTYPE U, but
 those of us who are in SB shops are required to use BASICTYPE P, where the
 documentation does not often specify what the variations will be.

 Susan M. Lynch
 F.W. Davison  Company, Inc.

 - Original Message -
 From: Bill Haskett [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Tuesday, November 20, 2007 3:14 PM
 Subject: RE: [U2] OCONV Extraction Question - Good Practice


  Adrian:
 
  I'm not sure about the disaster part.  We've moved from D3 to Unidata (a
  trying
  experience) and the string handling seems to work fine.  We have code
  like:
 
  CRT OCONV(VAR1, 'MD0') R(#06) :
  CRT OCONV(VAR2, 'MD2') R(#10) :
  CRT OCONV(VAR3, 'MD4') R(#14)   ; ** end of output line
 
  ...and it works perfectly.  So, since FMT isn't (or at least hasn't
been)
  as portable
  as the string formating code (FMT wasn't part of the Adds, GA, R83,
  AdvPick, D3 line
  of MV), I'd say using FMT violates the guideline of make it portable.
 
  Just a thought...
 
  Bill
 
 Womack, Adrian wrote:
  IMO, the only thing wrong with your example is the use of the trailing
  format strings - everyone (and I mean everyone) should be using the
FMT
  function, making your example:
 
  CRT FMT(OCONV(VAR1,MD0),R#6 ):FMT(OCONV(VAR2,MD2),R#10
  ):FMT(OCONV(VAR3,MD4),R#14)
 
  The old method is a disaster waiting to happen.
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of MAJ
Programming
  Sent: Tuesday, 20 November 2007 2:12 PM
  To: u2-users@listserver.u2ug.org
  Subject: Re: [U2] OCONV Extraction Question - Good Practice
 
  Here begins the voting for differences.
 
  I actually do not care for the inclusion of the extra Var1.F variables
  as, mentioned earlier, is that variable used elsewhere? Plus, it
implies
  that it maybe part of a calculation instead of an upcoming, disposable
  CRT statement.
 
  Will I rot as I use this CRT statement?
 
  CRT OCONV(VAR1,MD0)R#6': :OCONV(VAR2,MD2)R#10:
  :OCONV(VAR3,MD4)R#14.
  ---
  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] OCONV Extraction Question - Best Practises

2007-11-19 Thread MAJ Programming
I would be in favor of chapterizing the various coding concepts into a
greatest hits collection.

As I have transversed perhaps 35 different MV systems during my career, I
have had the chance to view many practices, both good and bad. I add the
good ones to my collection (always willing to learn) and scratch my head at
some of the crazy ones.

I do give the benefit of the doubt in some cases as I can 'age' the programs
and personally recall the available thought processes at the time. But also
having been around since almost the beginning, I can see when some commands
were used when the better ones were certainly available. Thus, those fall
into the 'bad' category.

Example of a bad technique that has no reason for its use:

WHOLE.NAME=MARK JOHNSON
II=INDEX(WHOLE.NAME, ,1)
FIRST.NAME=WHOLE.NAME[1,II-1]

ain't that called the FIELD command.

Things like that.

My 2 cents
Mark Johnson
- Original Message -
From: Baker Hughes [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, November 19, 2007 10:17 AM
Subject: RE: [U2] OCONV Extraction Question - Best Practises


 It's JUST a preference, presently

 I know we all reach for a good balance between brevity and clarity.

 I have some preferences too which I think are ideal, which seem less
 than ideal to others.

 ... but rather than mount my own hobby horse I have a suggestion /
 question that could put these types of exchanges to rest:

 WHAT IF - the U2UG took it as a future project to compile a Best
 Practices coding guideline document for our language?

 There's always helpful 'How to' stuff exchanged here. ...but style
 question sometimes spiral downward.

 As someone pointed out recently, we have the blessing and curse of using
 a rather free style language.
 Not much Structure-Style is not imposed by the construct of the language
 itself, like some others.

 Is it time to codify some best practices relating to structure,
 modularity, reuse, length of internal subs, etc?

 I may not like some of the resulting definitions myself but it would
 build cohesion and greater respect for the MV space.
 Another thing it would do is chart a clearer path for those coming
 behind us - we need new blood if the VARs in this space are going to
 continue to sell/support embedded MV apps.

 I would personally find it fascinating to see some of our venerable
 coders get together and see what they produced along this line.  I have
 some names in mind but I'll wait for the nominations to officially open.

 Happy Thanksgiving.

 -Baker

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of MAJ Programming
 Sent: Saturday, November 17, 2007 12:58 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] OCONV Extraction Question

 According to who?

 I know there are some pluses and minuses but where is this decided or is
 it just a preference.

 Thanks
 Mark Johnson
 - Original Message -
 From: Brutzman, Bill [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Friday, November 16, 2007 11:30 AM
 Subject: RE: [U2] OCONV Extraction Question


  Speaking of mis-used commands and side-stepping some of the given code

  craziness...
 
  It is better practice to atomize the code into discrete elements such
 as...
 
Var1.F = oconv(Var1, 'MD0')
crt Var1.F 'R#11'
 
  rather than to try to kill two birds with one stone by including an
  oconv statement inside a crt statement such as...
 
crt oconv(Var1, 'MD0')
 
  --Bill
 
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] Behalf Of MAJ
  Programming
  Sent: Friday, November 16, 2007 12:48 AM
  To: u2-users@listserver.u2ug.org
  Subject: Re: [U2] OCONV Extraction Question
 
 
  This is real smart, making things harder than they should be. Just use
 .
 
  Mark Johnson
  - Original Message -
  From: [EMAIL PROTECTED]
  To: u2-users@listserver.u2ug.org
  Sent: Wednesday, November 14, 2007 5:23 PM
  Subject: RE: [U2] OCONV Extraction Question
 
 
   Didn't work for me either. It may not fit what you need, but SWAP
   can
 make
   it work.
  
   VAR1 = 'SAM':@VM:'TRUDY'
   SWAP @VM WITH '*' IN VAR1
   FMTSTR = 'G*1'
   CRT OCONV(VAR1,FMTSTR)
  
   Brad
  
  
   U.S. BANCORP made the following annotations
   
   - Electronic Privacy Notice. This e-mail, and any attachments,
   contains
  information that is, or may be, covered by electronic communications
 privacy
  laws, and is also confidential and proprietary in nature. If you are
  not
 the
  intended recipient, please be advised that you are legally prohibited
  from retaining, using, copying, distributing, or otherwise disclosing
  this information in any manner. Instead, please reply to the sender
  that you
 have
  received this communication in error, and then immediately delete it.
 Thank
  you in advance for your cooperation

Re: [U2] OCONV Extraction Question - Good Practice

2007-11-19 Thread MAJ Programming
Here begins the voting for differences.

I actually do not care for the inclusion of the extra Var1.F variables as,
mentioned earlier, is that variable used elsewhere? Plus, it implies that it
maybe part of a calculation instead of an upcoming, disposable CRT
statement.

Will I rot as I use this CRT statement?

CRT OCONV(VAR1,MD0)R#6': :OCONV(VAR2,MD2)R#10:
:OCONV(VAR3,MD4)R#14.

If so, I wonder how much company I'll have.

My 1 cent.

Oddly enough, to make things more interesting, I would have coded it this
way:

CRT VAR1R0#6: :VAR2/100R2#10: :VAR3/1R4#14

Less typing. For output, the only time I use OCONV is a MTx time
conversion or if the value isn't justified and I want the all the decimals.
I use DATE()D2/ beaucoups of times.


- Original Message -
From: Brutzman, Bill [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, November 19, 2007 2:41 PM
Subject: RE: [U2] OCONV Extraction Question - Good Practice


 The problem of printing non-atomic data gets worse when doing reports with
 tables, that is, long lines with several variables.  Consider the
following
 remedy.  The alternative is a nightmare.

 --Bill

  Speaking of mis-used commands and side-stepping some of the given code
  craziness...
 
  It is better practice to atomize the code into discrete elements such
  as...

   Var1.F = oconv(Var1, 'MD0')
   Var2.F = oconv(Var2, 'MD2')
   Var3.F = oconv(Var3, 'MD4')

   Crt.Str  = Var1.F 'R#6
   Crt.Str := Var2.R 'R#12'
   Crt.Str := Var3.F 'R#14'
   crt Crt.Str


  rather than to try to kill two birds with one stone by including an
  oconv statement inside a crt statement such as...
 
crt oconv(Var1, 'MD0')
 
  --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] OCONV Extraction Question - Best Practises

2007-11-19 Thread MAJ Programming
I'm all for exposing my personal techniques and watching the flames come.
Granted, there will be some holy wars but in the end, many ambiguous
conditions may be solved one way or another.

I have exposed my personal techniques for many years on these forums and
will defend them as I understand the offenders. I am also smart enough to
change a technique if I see a better one.

It doesn't have to be voted unanimously to be my favorite. We all can tell
what techniques will fit comfortably with our existing skills. I, for one,
do not care for the EQU CUST.NAME to CUSTOMER(1) style of coding. I do not
like using attr 99 for calculated dictionary items (sorry, that's another
forum). I have my own preferred way of opening files, file handle names, and
even constructively mixing numeric with alphabetic labels.

While there will be no winners, everyone will be a winner as we all will
become exposed to other techniques that many of us may not have had the
luxury of reviewing many different systems.

I can't wait.
Mark Johnson

PS. Hopefully this doesn't become an artistic expression of grandeur.
Meaning, if the chapter was the best way to multiply 2 numbers together,
A=B*C must win. If someone submits A=e^(ln(B)+ln(C)) then that misses the
point.
- Original Message -
From: Kevin King [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, November 19, 2007 12:07 PM
Subject: Re: [U2] OCONV Extraction Question - Best Practises


 I'd play on that field, Chuck.  Not looking for a flame war, but I
 know there are a lot of people with some great ideas and there's much
 to be gained by keeping the lines of communication open.  Then again,
 topics like alpha vs. numeric labels could turn out to be massively
 polarizing.
 ---
 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] OCONV Extraction Question - Best Practises

2007-11-19 Thread MAJ Programming
I am living that mess of the 'future maintainer' right now. I've inherited 2
systems due to the prior programmer leaving town and while that programmer
was very smart and had a good memory for the 10+ years of code he wrote, he
barely commented anything, has ambiguous program and file names and, due to
working 80% with The Programmer's Helper, everything is inconsistently
abbreviated.

So I figure that 10-15% of what I'm typing is not code but comments. I put
comments in programs declaring why I am reviewing it in the first place and
what it's attached to. I have a DICT README record in every data file for
its nominal purpose and other commentary. I wrote a FIND.ALL program to
review every BP file, Proc and MD in these multi-account systems to see if
program FIX.RECORD-3 is used anywhere or a one-shot 'programmer's program. I
have programs that sniff out OPEN attempted files that STOP upon failure to
consider archiving the program out of the mainline BP files.

All of this exposure of bad techiques will help many people develop their
own Best Practices.

MJ
- Original Message -
From: Kevin King [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, November 19, 2007 1:17 PM
Subject: Re: [U2] OCONV Extraction Question - Best Practises


 In response to Susan's mention of the criteria for evaluating code, I
 submit that I personally verify code against three criteria:

 1) Is it accurate?  Does it fulfill its designed mission?  Often times
 code misses this mark simply because of the shifting sands of
 requirements, and what might have been accurate six months ago may no
 longer be so.

 2) Does it perform as well as it could?  This is where the multiple
 READV/WRITEV thing falls down, as it may not be the most efficient way
 of achieving a given objective.

 3) Is it maintainable?  This goes far beyond readable to include
 elements to strengthen comprehension of the context and intended
 objective and how the source code interprets the implementation of
 that objective.  This includes standardized code fragments and
 structures, predictable and consistent variable naming conventions,
 intentional use and avoidance of certain language elements (such as GE
 verses = for comparison) and commenting styles and standards.

 Too often, as Susan has pointed out, programmers write code to make
 today's problem go away because there are a dozen or more projects
 lined up behind it, instead of writing the code thinking of the guy
 who will be reading the code several months from now.   I submit that
 we should always keep the future maintainer in mind, assuming that
 they know nothing of the context, little of the problem, and less time
 than needed to achieve their objective.  If we don't set the stage for
 that person's success, we shouldn't be surprised when they don't
 describe our work in the most complimentary of terms.
 ---
 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] OCONV Extraction Question

2007-11-16 Thread MAJ Programming
This is real smart, making things harder than they should be. Just use .

Mark Johnson
- Original Message -
From: [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, November 14, 2007 5:23 PM
Subject: RE: [U2] OCONV Extraction Question


 Didn't work for me either. It may not fit what you need, but SWAP can make
 it work.

 VAR1 = 'SAM':@VM:'TRUDY'
 SWAP @VM WITH '*' IN VAR1
 FMTSTR = 'G*1'
 CRT OCONV(VAR1,FMTSTR)

 Brad


 U.S. BANCORP made the following annotations
 -
 Electronic Privacy Notice. This e-mail, and any attachments, contains
information that is, or may be, covered by electronic communications privacy
laws, and is also confidential and proprietary in nature. If you are not the
intended recipient, please be advised that you are legally prohibited from
retaining, using, copying, distributing, or otherwise disclosing this
information in any manner. Instead, please reply to the sender that you have
received this communication in error, and then immediately delete it. Thank
you in advance for your cooperation.



 -
 ---
 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] OCONV Extraction Question

2007-11-16 Thread MAJ Programming
According to who?

I know there are some pluses and minuses but where is this decided or is it
just a preference.

Thanks
Mark Johnson
- Original Message -
From: Brutzman, Bill [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, November 16, 2007 11:30 AM
Subject: RE: [U2] OCONV Extraction Question


 Speaking of mis-used commands and side-stepping some of the given code
 craziness...

 It is better practice to atomize the code into discrete elements such
as...

   Var1.F = oconv(Var1, 'MD0')
   crt Var1.F 'R#11'

 rather than to try to kill two birds with one stone by including an oconv
 statement inside a crt statement such as...

   crt oconv(Var1, 'MD0')

 --Bill


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of MAJ Programming
 Sent: Friday, November 16, 2007 12:48 AM
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] OCONV Extraction Question


 This is real smart, making things harder than they should be. Just use .

 Mark Johnson
 - Original Message -
 From: [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Wednesday, November 14, 2007 5:23 PM
 Subject: RE: [U2] OCONV Extraction Question


  Didn't work for me either. It may not fit what you need, but SWAP can
make
  it work.
 
  VAR1 = 'SAM':@VM:'TRUDY'
  SWAP @VM WITH '*' IN VAR1
  FMTSTR = 'G*1'
  CRT OCONV(VAR1,FMTSTR)
 
  Brad
 
 
  U.S. BANCORP made the following annotations
  -
  Electronic Privacy Notice. This e-mail, and any attachments, contains
 information that is, or may be, covered by electronic communications
privacy
 laws, and is also confidential and proprietary in nature. If you are not
the
 intended recipient, please be advised that you are legally prohibited from
 retaining, using, copying, distributing, or otherwise disclosing this
 information in any manner. Instead, please reply to the sender that you
have
 received this communication in error, and then immediately delete it.
Thank
 you in advance for your cooperation.
 
 
 
  -
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] OCONV Extraction Question

2007-11-15 Thread MAJ Programming
This is a case of mis-used commands. MV allows for many ways to skin a cat.
In this case, the  is the most effecient. You can use the function
EXTRACT, FIELD and OCONV but the  is the best.

Unless you/ve inherited code from over 25 years ago, the  wins. Back then,
the  didn't exist and you had to use EXTRACT which caused people to
consider FIELD.

The only advantage to using OCONV with the G conversion is if you want more
than a single element, aka G0*2 or [EMAIL PROTECTED] (sic).

It's almost a no brainer to use . The others are all too cumbersome and
don't read that easily.

My 2 cents.
Mark Johnson
- Original Message -
From: [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Wednesday, November 14, 2007 3:22 PM
Subject: RE: [U2] OCONV Extraction Question


 Doug,

 Any reason you need to use OCONV() instead of FIELD()?

 Brian

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of D
 Sent: Wednesday, November 14, 2007 1:05 PM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] OCONV Extraction Question

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

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

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

 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _

 The information transmitted is intended only for the person or entity to
which it is addressed and may contain confidential and/or privileged
material not intended for Public use.
 Any review, retransmission, dissemination or other use of, or taking of
any action in reliance upon, this information by persons or entities other
than the intended recipient is
 strictly prohibited. If you received this communication in error, please
notify the sender and delete the material from any and all computers or
devices.
 ---
 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] OT: Where to sell Systech serial port servers (for Serial printers/Serial Terminals)

2007-11-03 Thread MAJ Programming
I could be interested in the systech serial controllers for a reasonable
price.
Thanks
Mark Johnson
- Original Message -
From: rbl000 [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, October 04, 2007 5:27 PM
Subject: Re: [U2] OT: Where to sell Systech serial port servers (for Serial
printers/Serial Terminals)


 If you can't find a local place to donate them, there may be some
libraries who would be willing to pay the shipping for such a donation.  If
you're interested, let me know and I can put you in touch with a listserve
you can get their availability posted to.

 Richard Lewis
 [EMAIL PROTECTED]

  --- On Thu 10/04, Clifton Oliver  [EMAIL PROTECTED]  wrote:
 From: Clifton Oliver [mailto: [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Date: Thu, 4 Oct 2007 00:41:33 -0700
 Subject: Re: [U2] OT: Where to sell Systech serial port servers (for
Serial  printers/Serial Terminals)

 I doubt it you will ever make anything on these. You might check you
local colleges and non-profits to see if you can get them to come  haul them
away (or pay the shipping) and then you take a charitable  contribution
deduction.-- Regards,ClifOn Oct 3, 2007, at 11:43 , Larry Hiscock wrote:
Gabriel wrote: We also have over 100 ADDS Viewpoint terminals, but I
have yet to   find someone who will buy them where we make anything
after shipping Look at the bright side ... At least you wouldn't have
to pay   someone to haul them away, which is what will happen if you hold
on to them   too much longer  ;-) Larry Hiscock Western Computer
Services --- u2-users mailing list u2-users@listserver.u2ug.org To
unsubscribe please visit http://listserver.u2ug.org/---u2-users mailing
[EMAIL PROTECTED] unsubscribe please visit
http://listserver.u2ug.org/

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


Re: Re[2]: [U2] Over-coming EDitor shortcomings

2007-10-16 Thread MAJ Programming
Have you tried Accuterm's WED (windows editor) or GED (Graphical design
environment) or are you just comparing it as an emulator.

I did a comparison between Accuterm  Wintegrate 2 years ago for a client
and Accuterm won hands down. Plus, despite the features winning, the price
was phenomonal. $1000 for 50 licenses for Accuterm versus $200 each for
Wintegrate. That's a factor of 10 times more expensive.

My 20 cents.
Mark Johnson
- Original Message -
From: Symeon Breen [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Tuesday, October 16, 2007 6:21 AM
Subject: RE: Re[2]: [U2] Over-coming EDitor shortcomings


 Just to say my 2 pennies on that one - personally I much prefer Wintegrate
to Accuterm - Accuterm from the word go feels like an old vb 5 product - the
splash screen is straight out of the nineties, it all feels dare I say very
American :o . Wintegrate seems to have a much more modern approach, look and
feel and has some very exciting features released every year.


 Rgds
 Symeon.

 -Original Message-
 From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of MAJ Programming
 Sent: 16 October 2007 00:33
 To: u2-users@listserver.u2ug.org
 Subject: Re: Re[2]: [U2] Over-coming EDitor shortcomings

 What is WINE and is it a MV item or a non MV item.

 I use Accuterm as a wonderful cross-platform Windows-based Notepad style
 editor for Data/basic programs. Programs come alive when compared to over
25
 years of EDIT or other 80x24 screen editors. Just being able to see 60
lines
 of code with color syntax highlighting is worth the price alone.

 The very popular MS commands are welcome. Oddly enough, WED is a
derivative
 of the original MS EDIT that was very welcome compared to EDLIN.

 I am a strong proponent of WED and its Graphical development environment
and
 it's a very good emulator.

 Please elaborate on your not knowing why anyone would use Accuterm. Those
 are pretty strong words against one of the most prevelant emulators in the
 MV world. I may have not used every emulator, especially the freeware ones
 that pop up on the internet. But I have worked with probably 10 emulators
on
 MV-based systems and Accuterm kills them all, even Wintegrate.

 My 2 cents.
 Mark Johnson
 - Original Message -
 From: David Tod Sigafoos [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Monday, October 15, 2007 1:43 PM
 Subject: Re[2]: [U2] Over-coming EDitor shortcomings


  MAJ,
 
  Does Accuterm work under WINE (though not sure why anyone would want
  to use Accuterm G)
 
  Monday, October 15, 2007, 6:07:04 AM, you wrote:
 
  SNIP
  MP I don't argue the stability or anything supporting the use of unix
as
 a
  MP desktop OS. But in this case, it loses if it cannot use Accuterm.
 
 
 
  --
  DSig `
  David Tod Sigafoos  ( O O )
   ___oOOo__( )__oOOo___
 
  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
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] Over-coming EDitor shortcomings

2007-10-15 Thread MAJ Programming
By toy it means that it has less credibility? Please explain.

I'll borrow a video reference that endorses both sides of the unix/MS
desktop debate. In the 1970's, Sony invented the Beta format for video tape
and Panasonic (et al) invented the VHS (Video Home System). VHS won the
popularity contest yet all along Beta was the better technology. (Oddly
enough, the Beta format (later BetaCam SP) was one of the last significant
analog tape formats before digital taping came along.)

I don't argue the stability or anything supporting the use of unix as a
desktop OS. But in this case, it loses if it cannot use Accuterm.

My 1 cent
Mark Johnson
- Original Message -
From: Allen E. Elwood [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, October 14, 2007 6:06 PM
Subject: RE: [U2] Over-coming EDitor shortcomings


 This is exactly what people used to say about windows.  It was just a
'toy'.

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of MAJ Programming
 Sent: Sunday, October 14, 2007 11:18
 To: u2-users@listserver.u2ug.org
 Subject: Re: [U2] Over-coming EDitor shortcomings


 When people purposely choose to not follow what's popular, there are
certain
 risks involved.

 Not having Windows desktops on the client side causes a severe reduction
in
 available software. There is no business argument endorsing $0.00 for gvim
 versus $20 for Accuterm when it closes the door on incredible productivity
 tools like WED.

 We MV people have chosen to NOT follow the traditional SQL-based family of
 databases. That's our choice. To go to a non-popular desktop that you have
 just causes a continuous hunt for open-source/freeware with all of the
 unsupported languages and techniques.

 I'm not pro-corporate (Big Blue, IBM, MS etc) in this regard and just
follow
 the trends like uninformed sheep. But the situation you describe will only
 get worse as everyone depends on their peers for advanced products instead
 of those that are capable of delivering (and supporting) their products.

 I'd be hard pressed to find someone as fully well versed in all things MV
 AND Microsoft as Peter Schellenbach. He probably looked at the unix
DESKTOP
 and from a business sense concluded that these 'do it yourselfers' (No
 flames please) won't spend money on a 'nix variant of Accuterm so why
 bother.

 Don't you unix guys have MS emulators in your world of freeware that
 Accuterm could run on?

 You get what you pay for.
 Mark Johnson

 Tony: keep your flames on me limited to this topic of the editor and none
 others. Thanks in advance.
 - Original Message -
 From: [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Sent: Sunday, October 14, 2007 12:40 PM
 Subject: RE: [U2] Over-coming EDitor shortcomings


  My point is that my workstation is running Linux (PCLinuxOS, for the
  curious), as was pointed out, and accuterm doesn't port to *nixes. Our
  server is AIX. I've put gvim on it since it's free. We don't have deep
  pockets to be paying much for emulators. I have a product installed
called
  jtelnet which is open-source/free and is called from any java-enabled
  browser. Works very nicely for our account reps and support engineers. I
  know that's off the topic of EDitors, but it's all related dollar-wise.
 
  Karl
 
  quote who=Bertrand, Ron
   Do not know about Unidata but you can get to any unix directory/file
 with
   pointers in Universe. Then you can use either ED or WED and so on. I
 have
   to admit to being spoiled by accuterms WED.
  
   Ron Bertrand
   Group Health
   LIS/ISD
  
   
  
   From: [EMAIL PROTECTED] on behalf of
   [EMAIL PROTECTED]
   Sent: Fri 10/12/2007 9:30 PM
   To: u2-users@listserver.u2ug.org
   Subject: Re: [U2] Over-coming EDitor shortcomings
  
  
  
   So, what good is that for those of us who live on Unix/Linux and don't
   have the option of running Accuterm?
  
   I use gvim, which has pretty good syntax highlighting,
   copy/move/find-replace, etc. I prefer it to ED. I've never used AE.
  
   I guess it's time to do some experimenting with other technologies.
  
   OH, and just for fun, consider this: I write my HTML code with gvim or
   vim, period...
  
   Old School or just stubborn? hmmm.
  
   Karl
  
   quote who=MAJ Programming
   Shameless plug for Accuterm
  
   If you haven't used WED, their Windows EDitor, you're missing a ton
of
   helpful editor stuff. All of the shortcuts and command-line tricks
pale
   by
   comparison.
  
   Funny, how everybody talks about the latest XYZ alphabetic
technologies
   yet
   still use an editor barely better than vi or EDLIN. And don't let
your
   years
   of experience sway you to protecting that fingertip editor. I've been
   using
   the regular EDIT, AE or vi coming up on 30 years and WED blows them
all
   away. (this ain't a contest)
  
   WED alone without their graphical developer tools (GED) or their
   powerful
   emulator is worth the price

Re: Re[2]: [U2] Over-coming EDitor shortcomings

2007-10-15 Thread MAJ Programming
What is WINE and is it a MV item or a non MV item.

I use Accuterm as a wonderful cross-platform Windows-based Notepad style
editor for Data/basic programs. Programs come alive when compared to over 25
years of EDIT or other 80x24 screen editors. Just being able to see 60 lines
of code with color syntax highlighting is worth the price alone.

The very popular MS commands are welcome. Oddly enough, WED is a derivative
of the original MS EDIT that was very welcome compared to EDLIN.

I am a strong proponent of WED and its Graphical development environment and
it's a very good emulator.

Please elaborate on your not knowing why anyone would use Accuterm. Those
are pretty strong words against one of the most prevelant emulators in the
MV world. I may have not used every emulator, especially the freeware ones
that pop up on the internet. But I have worked with probably 10 emulators on
MV-based systems and Accuterm kills them all, even Wintegrate.

My 2 cents.
Mark Johnson
- Original Message -
From: David Tod Sigafoos [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Monday, October 15, 2007 1:43 PM
Subject: Re[2]: [U2] Over-coming EDitor shortcomings


 MAJ,

 Does Accuterm work under WINE (though not sure why anyone would want
 to use Accuterm G)

 Monday, October 15, 2007, 6:07:04 AM, you wrote:

 SNIP
 MP I don't argue the stability or anything supporting the use of unix as
a
 MP desktop OS. But in this case, it loses if it cannot use Accuterm.



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

 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
 ---
 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] Over-coming EDitor shortcomings

2007-10-14 Thread MAJ Programming
When people purposely choose to not follow what's popular, there are certain
risks involved.

Not having Windows desktops on the client side causes a severe reduction in
available software. There is no business argument endorsing $0.00 for gvim
versus $20 for Accuterm when it closes the door on incredible productivity
tools like WED.

We MV people have chosen to NOT follow the traditional SQL-based family of
databases. That's our choice. To go to a non-popular desktop that you have
just causes a continuous hunt for open-source/freeware with all of the
unsupported languages and techniques.

I'm not pro-corporate (Big Blue, IBM, MS etc) in this regard and just follow
the trends like uninformed sheep. But the situation you describe will only
get worse as everyone depends on their peers for advanced products instead
of those that are capable of delivering (and supporting) their products.

I'd be hard pressed to find someone as fully well versed in all things MV
AND Microsoft as Peter Schellenbach. He probably looked at the unix DESKTOP
and from a business sense concluded that these 'do it yourselfers' (No
flames please) won't spend money on a 'nix variant of Accuterm so why
bother.

Don't you unix guys have MS emulators in your world of freeware that
Accuterm could run on?

You get what you pay for.
Mark Johnson

Tony: keep your flames on me limited to this topic of the editor and none
others. Thanks in advance.
- Original Message -
From: [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, October 14, 2007 12:40 PM
Subject: RE: [U2] Over-coming EDitor shortcomings


 My point is that my workstation is running Linux (PCLinuxOS, for the
 curious), as was pointed out, and accuterm doesn't port to *nixes. Our
 server is AIX. I've put gvim on it since it's free. We don't have deep
 pockets to be paying much for emulators. I have a product installed called
 jtelnet which is open-source/free and is called from any java-enabled
 browser. Works very nicely for our account reps and support engineers. I
 know that's off the topic of EDitors, but it's all related dollar-wise.

 Karl

 quote who=Bertrand, Ron
  Do not know about Unidata but you can get to any unix directory/file
with
  pointers in Universe. Then you can use either ED or WED and so on. I
have
  to admit to being spoiled by accuterms WED.
 
  Ron Bertrand
  Group Health
  LIS/ISD
 
  
 
  From: [EMAIL PROTECTED] on behalf of
  [EMAIL PROTECTED]
  Sent: Fri 10/12/2007 9:30 PM
  To: u2-users@listserver.u2ug.org
  Subject: Re: [U2] Over-coming EDitor shortcomings
 
 
 
  So, what good is that for those of us who live on Unix/Linux and don't
  have the option of running Accuterm?
 
  I use gvim, which has pretty good syntax highlighting,
  copy/move/find-replace, etc. I prefer it to ED. I've never used AE.
 
  I guess it's time to do some experimenting with other technologies.
 
  OH, and just for fun, consider this: I write my HTML code with gvim or
  vim, period...
 
  Old School or just stubborn? hmmm.
 
  Karl
 
  quote who=MAJ Programming
  Shameless plug for Accuterm
 
  If you haven't used WED, their Windows EDitor, you're missing a ton of
  helpful editor stuff. All of the shortcuts and command-line tricks pale
  by
  comparison.
 
  Funny, how everybody talks about the latest XYZ alphabetic technologies
  yet
  still use an editor barely better than vi or EDLIN. And don't let your
  years
  of experience sway you to protecting that fingertip editor. I've been
  using
  the regular EDIT, AE or vi coming up on 30 years and WED blows them all
  away. (this ain't a contest)
 
  WED alone without their graphical developer tools (GED) or their
  powerful
  emulator is worth the price. Accuterm is truly one of the best bargains
  in
  the MV world.
 
  /Shameless plug for Accuterm
  - Original Message -
  From: Jerry Banker [EMAIL PROTECTED]
  To: u2-users@listserver.u2ug.org
  Sent: Friday, October 12, 2007 10:21 AM
  Subject: RE: [U2] Over-coming EDitor shortcomings
 
 
  I created a pre-store, a few years back, that does something similar
  thing in the regular editor. I think we were still on UV 7.4 at the
  time.
  ED ED FIB
  6 lines long.
 
  : P
  0001: EPre-stored Command saved at 16:50:53 24 JUN 1998
  0002: FORMAT
  0003: SAVE
  0004: XEQ DECATALOG @FILE @ID
  0005: XEQ BASIC @FILE @ID
  0006: XEQ CATALOG @FILE @ID
  Bottom at line 6.
 
  So when in the regular editor all you have to do is type in: .X FIB
  Which is a few more key strokes but less than all of the commands.
  I didn't want to do the run because most of the development at the
time
  was done on a live system. But you could add: XEQ @FILE @ID or XEQ @ID
  after the last line and save it as FIBR to do as you are doing.
  Jerry
 
  -Original Message-
  From: Baker Hughes [mailto:[EMAIL PROTECTED]
  Sent: Friday, October 12, 2007 8:40 AM
  To: u2-users@listserver.u2ug.org
  Subject: [U2] Over-coming EDitor

Re: [U2] select statement with single quotes

2007-10-14 Thread MAJ Programming
The ` character has an interesting twist in my travels.

Somehow, somewhere in the past, using an apostrophe to bound text in an
English statement caused unpredictable results. The Quote (double quote if
you're counting) character didn't have those problems.

Thus, I ceased using the single quote (apostrophe character) for anything
except as a text value, not as a quotation bounding character.

The ` grave character is relegated as text only and in those systems that
I see character stripping subroutines, it's removed along with the control
characters. The premise was that the purpose of many text fields (as opposed
to validated fields) is its LIKE-style lookup later. If the maint program
removed them, then the lookups could strip their sought text and make their
match.

If the correct spelling of RESUME (re-su-may) has the grave character on the
last E but it gets stripped, then it's RESUME (re-soom). Words like O'rielly
retain their apostrophe though.

While there is an increase in foreign character modifiers, aka umlauts,
tildes, graves, in today's global communications, they present inconsistent
results when searched for later. If the user doesn't include the grave in
RESUME, it's a different word and meaning. On the other hand, the accepted
spelling of many words with modifiers is without as well.

Not many people know of using the alt156 keystroke combination to add
cuteness to their words. It's like typing an attribute mark.

My 2 cents
Mark Johnson
- Original Message -
From: [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Sunday, October 14, 2007 12:36 PM
Subject: Re: [U2] select statement with single quotes


 A grave is also a tic isn't it?

 Karl

 quote who=Kevin King
  Glen pretty well made my point.  The ` is a grave, not an apostrophe.
  Bill,
  I'm not sure what exactly you mean; technically the ' is the apostrophe
  AND
  also single quote.   In fact, apostrophe is the proper name, single
quote
  is
  merely convenient vernacular.
  ---
  u2-users mailing list
  u2-users@listserver.u2ug.org
  To unsubscribe please visit http://listserver.u2ug.org/
 


 --
 Karl Pearson
 Director of I.T.
 ATS Industrial Supply, Inc.
 [EMAIL PROTECTED]
 http://www.atsindustrial.com
 800-789-9300 x29
 Local: 801-978-4429
 Fax: 801-972-3888

 To mess up your Linux PC, you have to really work at it;
  to mess up a microsoft PC you just have to work on it.
 ---
 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] Over-coming EDitor shortcomings

2007-10-12 Thread MAJ Programming
Shameless plug for Accuterm

If you haven't used WED, their Windows EDitor, you're missing a ton of
helpful editor stuff. All of the shortcuts and command-line tricks pale by
comparison.

Funny, how everybody talks about the latest XYZ alphabetic technologies yet
still use an editor barely better than vi or EDLIN. And don't let your years
of experience sway you to protecting that fingertip editor. I've been using
the regular EDIT, AE or vi coming up on 30 years and WED blows them all
away. (this ain't a contest)

WED alone without their graphical developer tools (GED) or their powerful
emulator is worth the price. Accuterm is truly one of the best bargains in
the MV world.

/Shameless plug for Accuterm
- Original Message -
From: Jerry Banker [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Friday, October 12, 2007 10:21 AM
Subject: RE: [U2] Over-coming EDitor shortcomings


 I created a pre-store, a few years back, that does something similar
 thing in the regular editor. I think we were still on UV 7.4 at the
 time.
 ED ED FIB
 6 lines long.

 : P
 0001: EPre-stored Command saved at 16:50:53 24 JUN 1998
 0002: FORMAT
 0003: SAVE
 0004: XEQ DECATALOG @FILE @ID
 0005: XEQ BASIC @FILE @ID
 0006: XEQ CATALOG @FILE @ID
 Bottom at line 6.

 So when in the regular editor all you have to do is type in: .X FIB
 Which is a few more key strokes but less than all of the commands.
 I didn't want to do the run because most of the development at the time
 was done on a live system. But you could add: XEQ @FILE @ID or XEQ @ID
 after the last line and save it as FIBR to do as you are doing.
 Jerry

 -Original Message-
 From: Baker Hughes [mailto:[EMAIL PROTECTED]
 Sent: Friday, October 12, 2007 8:40 AM
 To: u2-users@listserver.u2ug.org
 Subject: [U2] Over-coming EDitor shortcomings

 /snip
  FIX
 0001 PA
 0002 FORMAT BP I2,Enter BP item
 0003 ED BP I2,Enter BP item
 0004 HUSH ON
 0005 DELETE BP.O I2,Enter BP item
 0006 HUSH OFF
 0007 BASIC BP I2,Enter BP item

 My 2 bits on this topic.

 Karl

 snip\

 Which is why I like the AE [alternate] editor.

 Once you've executed a format command in your logon session, you simply
 type 'FOR' at any time the rest of the day, in any edit session, to
 format with the same parameters.

 FOR -I3 -M3 [Indention of 3, margin of 3]

 BTW, If you're chasing a pesky bug that's hidden in a 14 tier nested
 LOOP,IF,CASE,Whatever then use this:
 'FOR -TRACE'  it will put pipes in for you where we used to draw lines
 with our ruler to trace the logical flow.

 Then when your done and want to compile:

 'FIBR' will file it, compile it, and run it [don't get to habitual with
 the 'R' if your in a sub].

 The AE invoked compiler removes the old source when it starts, that way
 if the compile produces no object, it doesn't run the old object code.
 At least this is the behavior on UV 10 or higher.


 356:
 357:IF HOLD # '' AND NOT(ALARM) THEN
 *--: FOR -I3 -M3
 Margin=3, Indentation=3, -incase
 !!
 *--: FOR
 Margin=3, Indentation=3, -incase
 !!
 *--: FIB
 Filed DOE.WRITE.SUB.F1675 in file BHB.
 Compiling: Source = '/system1/dev.programs/BHB/DOE.WRITE.SUB.F1675',
 Object = '/system1/dev.programs/BHB.O/DOE.WRITE.SUB.F1675'
 
 ***
 000671

 Compilation Complete.

 Of course, you could stack the FORmat command and the FIBR command into
 a saved prestore that you recall when you begin your edit session, but
 that's another subject.

 FWIW,
 -Baker
 ---
 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] OT: Where to sell Systech serial port servers (for Serial printers/Serial Terminals)

2007-10-04 Thread MAJ Programming
Gimme a price and description on the Systech serial controllers. I have one
client who uses them and could opt for spares.

Thanks
Mark Johnson
- Original Message -
From: rbl000 [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, October 04, 2007 6:27 PM
Subject: Re: [U2] OT: Where to sell Systech serial port servers (for Serial
printers/Serial Terminals)


 If you can't find a local place to donate them, there may be some
libraries who would be willing to pay the shipping for such a donation.  If
you're interested, let me know and I can put you in touch with a listserve
you can get their availability posted to.

 Richard Lewis
 [EMAIL PROTECTED]

  --- On Thu 10/04, Clifton Oliver  [EMAIL PROTECTED]  wrote:
 From: Clifton Oliver [mailto: [EMAIL PROTECTED]
 To: u2-users@listserver.u2ug.org
 Date: Thu, 4 Oct 2007 00:41:33 -0700
 Subject: Re: [U2] OT: Where to sell Systech serial port servers (for
Serial  printers/Serial Terminals)

 I doubt it you will ever make anything on these. You might check you
local colleges and non-profits to see if you can get them to come  haul them
away (or pay the shipping) and then you take a charitable  contribution
deduction.-- Regards,ClifOn Oct 3, 2007, at 11:43 , Larry Hiscock wrote:
Gabriel wrote: We also have over 100 ADDS Viewpoint terminals, but I
have yet to   find someone who will buy them where we make anything
after shipping Look at the bright side ... At least you wouldn't have
to pay   someone to haul them away, which is what will happen if you hold
on to them   too much longer  ;-) Larry Hiscock Western Computer
Services --- u2-users mailing list u2-users@listserver.u2ug.org To
unsubscribe please visit http://listserver.u2ug.org/---u2-users mailing
[EMAIL PROTECTED] unsubscribe please visit
http://listserver.u2ug.org/

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


  1   2   3   >