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


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


[U2] Pick Pocket Guide

2010-03-21 Thread MAJ Programming
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] 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: [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" 
To: 
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 
> alone answer to pass as a valid answer. I use this all the time when I
> prompt "IS THIS OKAY (Y/N/=Y) ":;INPUT ANS. But for a pure Y or N,
> the null value passes.
>
> - Original Message -
> From: "Jacques G." 
> To: 
> 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] 
> 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
>
> 
> 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
>
> 
> 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: *** 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" 
To: 
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]" 
> > To: 
> > Sent: Monday, March 02, 2009 7:38 PM
> > Subject: Re: [U2] DO/WHILE vs IF THEN
> >
> >
> >
> >> Mark Johnson suggested the following change
> >>
> >>
> >>> 
> >>> 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
> >>>
> >>> 
> >>> 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-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 
alone answer to pass as a valid answer. I use this all the time when I
prompt "IS THIS OKAY (Y/N/=Y) ":;INPUT ANS. But for a pure Y or N,
the null value passes.


- Original Message -
From: "Jacques G." 
To: 
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] 
> 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
>
> >
> >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
> >
> >
> >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-03-29 Thread MAJ Programming
LOOP WHILE READNEXT does not work on D3.
Mark Johnson
- Original Message - 
From: "Keith Johnson [DATACOM]" 
To: 
Sent: Monday, March 02, 2009 7:38 PM
Subject: Re: [U2] DO/WHILE vs IF THEN


> Mark Johnson suggested the following change
> 
> >
> >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
> >
> >
> >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-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:


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


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:


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


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" 
To: 
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 CTR<4 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" 
To: 
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: 
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 "<>" 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: 
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 R&D 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-17 Thread MAJ Programming
I agree. Unless there is a logical need to go backwards, I only go backwards
when deleting mv'd data from attributes. Far better than maintaining a mv
pointer and branching when going forward.

Mark Johnson
- Original Message -
From: "Anthony Youngman" <[EMAIL PROTECTED]>
To: 
Sent: Monday, November 17, 2008 4:04 AM
Subject: RE: [U2] SELECT-READNEXT That's odd


> The other problem with counting backwards is if you've got a lot of
fields. BASIC has optimisations for scanning forward through a list. I don't
think it scans backwards very well. Go backwards and the result is not
likely to be pretty.
>
> The only time I normally go backwards is when I have a habit of deleting
the value I'm working on, and need to know I've processed every value.
>
> Cheers,
> Wol
>
> -Original Message-----
> From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of MAJ Programming
> Sent: 15 November 2008 03:52
> To: u2-users@listserver.u2ug.org
> Subject: Re: [U2] SELECT-READNEXT That's odd
>
> 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: 
> 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.REC<17>,VM)
> > FOR I=1 TO MAX
> >
> > My 2 cents
> > Mark Johnson
> > - Original Message -
> > From: "Jef Lee" <[EMAIL PROTECTED]>
> > To: 
> > 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.REC<17>,VM)
> > >  LISTNUMBER=''
> > >  SQLCOMMAND=''
> > >  UNISTATEMENT='SELECT BPM.WORKITEMS WITH
> > A1="':WORK.ITEM.REC<1>:'"
> > AND
> > > WITH A2="':WORK.ITEM.REC<2>:'" AND WITH A17="':WORK.ITEM.REC<17,YY>:'"
> > AND
> > > WITH A24#"C" AND WITH A24#"R" AND WITH A24#"F"'
> > >  *MY.REC<1>=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.REC<17,YY>,'')
> > > DEP.TASK.REC<24>='A'
> > > DEP.TASK.REC<8>=DATE()
> > > DEP.TASK.REC<9>=TIME()
> > > CALL
> > > SR.WRITESQL('BPM.WORKITEMS',DEP.TASK.REC,WORK.ITEM.REC<17,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
> >

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: 
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.REC<17>,VM)
> FOR I=1 TO MAX
>
> My 2 cents
> Mark Johnson
> - Original Message -
> From: "Jef Lee" <[EMAIL PROTECTED]>
> To: 
> 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.REC<17>,VM)
> >  LISTNUMBER=''
> >  SQLCOMMAND=''
> >  UNISTATEMENT='SELECT BPM.WORKITEMS WITH
> A1="':WORK.ITEM.REC<1>:'"
> AND
> > WITH A2="':WORK.ITEM.REC<2>:'" AND WITH A17="':WORK.ITEM.REC<17,YY>:'"
> AND
> > WITH A24#"C" AND WITH A24#"R" AND WITH A24#"F"'
> >  *MY.REC<1>=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.REC<17,YY>,'')
> > DEP.TASK.REC<24>='A'
> > DEP.TASK.REC<8>=DATE()
> > DEP.TASK.REC<9>=TIME()
> > CALL
> > SR.WRITESQL('BPM.WORKITEMS',DEP.TASK.REC,WORK.ITEM.REC<17,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, an

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.REC<17>,VM)
FOR I=1 TO MAX

My 2 cents
Mark Johnson
- Original Message -
From: "Jef Lee" <[EMAIL PROTECTED]>
To: 
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.REC<17>,VM)
>  LISTNUMBER=''
>  SQLCOMMAND=''
>  UNISTATEMENT='SELECT BPM.WORKITEMS WITH A1="':WORK.ITEM.REC<1>:'"
AND
> WITH A2="':WORK.ITEM.REC<2>:'" AND WITH A17="':WORK.ITEM.REC<17,YY>:'" AND
> WITH A24#"C" AND WITH A24#"R" AND WITH A24#"F"'
>  *MY.REC<1>=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.REC<17,YY>,'')
> DEP.TASK.REC<24>='A'
> DEP.TASK.REC<8>=DATE()
> DEP.TASK.REC<9>=TIME()
> CALL
> SR.WRITESQL('BPM.WORKITEMS',DEP.TASK.REC,WORK.ITEM.REC<17,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][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: 
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: 
> 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: '>=': MX
> >
> >   NEXT AMC
> > --
> >
> > When I run this code in a Pick-flavored account I get the foll

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: 
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: '>=': MX
>
>   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
>
> MX<1>=ABCD~EFGH
> MX<2>=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: 
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

Accuterm's WED shows 253's and 252's as regular editable characters.


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

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: 
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-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: 
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
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: 
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] 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 A"5 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: 
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] 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: 
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.KEY<2> = @UID
>SORT.KEY<3> = @USERNO
>SORT.KEY<4> = 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] 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: 
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
> .
>
> 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 = ITAB
> 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:0

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: 
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
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: 
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 = ITAB
> 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 = ARRAY<1,X-1>
>   ELEMENT2 = ARRAY<1,X>
>
>   IF ELEMENT2 < ELEMENT1 THEN
>  * Swap if pair out of sequence
>  ARRAY<1,X> = ELEMENT1
>  ARRAY<1,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 conta

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: 
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 = ARRAY<1,X-1>
>   ELEMENT2 = ARRAY<1,X>
>
>   IF ELEMENT2 < ELEMENT1 THEN
>  * Swap if pair out of sequence
>  ARRAY<1,X> = ELEMENT1
>  ARRAY<1,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] ouch

2008-07-12 Thread MAJ Programming
Just curious. I've been with OE systems since that long but I guess my
client's have not gotten that deep.

Thanks
- Original Message -
From: "Allen E. Elwood" <[EMAIL PROTECTED]>
To: 
Sent: Friday, July 11, 2008 1:41 PM
Subject: RE: [U2] ouch


> Hi Mark,
>
> M2K = Manage-2000
>
> SO.ENTRY has been constantly modified due to customer demands since 1978
and
> has more options than can be dreamt of.  As you can imagine, over the
period
> of the last 30 years there have been literally hundreds of people come in,
> program a new option and leave their mark on this enormous program.
>
> The m2k system actually now has 680+ MENUS !
>
> Many of the subroutines are that long.  What's going on?  Creeping
> Feature-itis !  The subroutines are arranged by functionality and some of
> those functions are just huge, like multiple ship-to customers and
multiple
> scheduled shipments per line item.
>
> Allen
> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of MAJ Programming
> Sent: Friday, July 11, 2008 08:53
> To: u2-users@listserver.u2ug.org
> Subject: Re: [U2] ouch
>
>
> Regarding these numbers being thrown around, aka Mine is Bigger:
>
> I can see a Sales Order entry program growing to 34 subs. I wonder what's
> going on in a 2000 to 3000 line sub though.
>
> I can see 100 other subs.
>
> But does your 400 to 500 people mean the users offering their slight
input,
> the managers offering their major input or do you mean 400 to 500
> programmers?
>
> Considering how many of us there actually are (or could be), I might have
> been one of them although I don't recall.
>
> Also, What's a M2K program?
>
> Just curious.
> Mark Johnson
> - Original Message -
> From: "Allen E. Elwood" <[EMAIL PROTECTED]>
> To: 
> Sent: Thursday, July 10, 2008 11:26 AM
> Subject: RE: [U2] ouch
>
>
> > a) oh well
> >
> > b) Oh, I've been programming since 1974, professionally since 1978, I've
> > only been using paper for 25 years... :)  Heck, I dream about code -
talk
> > about visualizingbut you should see some of the M2K programs.
> SO.ENTRY
> > is up to about 34 main subroutines many of which are 2000 to 3000 lines,
> 100
> > associated subroutines and it's been modified by 400 to 500 people.
> >
> > And the darn thing not only works, but works great!
> >
> > -Original Message-
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] Behalf Of Roger Glenfield
> > Sent: Thursday, July 10, 2008 04:18
> > To: u2-users@listserver.u2ug.org
> > Subject: Re: [U2] ouch
> >
> >
> > a) Universe
> > b) whippersnapper (32 years still in black and white)
> >my main concerns are the programmers that can't visualize impacts on
> > the whole 'code'.   and are constantly recompiling after correcting 5-10
> > lines of code.   Of course, back in the Early Dawn of Pick, compiling
> > 500 lines of code would take 20-30 minutes plus drag down the other 16
> > programmers on the system.  There was a least one programmer
> > 're-educated' for abusing the system.  Of course, some of the 5,000 line
> > programs that I've seen recently were because somebody didn't think.
> > Roger
> >
> > Allen E. Elwood wrote:
> > > You didn't say unidata or universe...
> > >
> > > This guy has a unidata decompiler, not sure how fast they are
> > >
> > > http://www.infocus50.com/products/xtrico.html
> > >
> > > btw, at 52 I haven't been using paper for 25 years
> > >
> > > :-)
> > >
> > > hth,
> > >
> > > Allen E. Elwood
> > > www.tortillafc.com
> > > Quality Code Since 1978
> > ---
> > 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] 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: 
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] ouch

2008-07-11 Thread MAJ Programming
Regarding these numbers being thrown around, aka Mine is Bigger:

I can see a Sales Order entry program growing to 34 subs. I wonder what's
going on in a 2000 to 3000 line sub though.

I can see 100 other subs.

But does your 400 to 500 people mean the users offering their slight input,
the managers offering their major input or do you mean 400 to 500
programmers?

Considering how many of us there actually are (or could be), I might have
been one of them although I don't recall.

Also, What's a M2K program?

Just curious.
Mark Johnson
- Original Message -
From: "Allen E. Elwood" <[EMAIL PROTECTED]>
To: 
Sent: Thursday, July 10, 2008 11:26 AM
Subject: RE: [U2] ouch


> a) oh well
>
> b) Oh, I've been programming since 1974, professionally since 1978, I've
> only been using paper for 25 years... :)  Heck, I dream about code - talk
> about visualizingbut you should see some of the M2K programs.
SO.ENTRY
> is up to about 34 main subroutines many of which are 2000 to 3000 lines,
100
> associated subroutines and it's been modified by 400 to 500 people.
>
> And the darn thing not only works, but works great!
>
> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of Roger Glenfield
> Sent: Thursday, July 10, 2008 04:18
> To: u2-users@listserver.u2ug.org
> Subject: Re: [U2] ouch
>
>
> a) Universe
> b) whippersnapper (32 years still in black and white)
>my main concerns are the programmers that can't visualize impacts on
> the whole 'code'.   and are constantly recompiling after correcting 5-10
> lines of code.   Of course, back in the Early Dawn of Pick, compiling
> 500 lines of code would take 20-30 minutes plus drag down the other 16
> programmers on the system.  There was a least one programmer
> 're-educated' for abusing the system.  Of course, some of the 5,000 line
> programs that I've seen recently were because somebody didn't think.
> Roger
>
> Allen E. Elwood wrote:
> > You didn't say unidata or universe...
> >
> > This guy has a unidata decompiler, not sure how fast they are
> >
> > http://www.infocus50.com/products/xtrico.html
> >
> > btw, at 52 I haven't been using paper for 25 years
> >
> > :-)
> >
> > hth,
> >
> > Allen E. Elwood
> > www.tortillafc.com
> > Quality Code Since 1978
> ---
> 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
Louie:

Good Technique. I published a similar technique in Spectrum called DCOPY a
few years ago.

This replaces the pathetic methods that so many undisciplined programmers
use where they simply copy the program to the same BP file with a very
stupid .BAK or .OLD or other unmanaged suffix. Having the archive in the
same file causes FIND or SEARCH programs to constantly include them when not
useful.

Other similarily pathetic methods are to take the program and, instead of
changing the archive name, they change the runtime name to NAME.NEW or
NAME.NEW2 etc, etc. This is worse than the suffixed version as trying to
FIND the unchanged versions, say NAME, would falsely also find NAME.NEW.
This method is also poor as you now must visit all the places NAME is
referred from and change to NAME.NEW.

I've inherited dozens of systems with these poor techniques. It's very hard
and time consuming to systematically determine which programs are on-line
and which are the backups. One client had over 15 versions of the same
program with varying suffixes. The remaining on-line version was
PRINT.ORDERS.NEW3 despite there being a NEW4 and NEW5 version as well.

Finally, the backup versions should never be compiled. This prevents an
errant programmer from compiling everything. My DCOPY iuncludes a line of
text indicating why I made the archive. That line is stored on line 2 of the
program (line 1 stays as SUBROUTINE for other analysis) like a comment with
no asterisk. Thus, it would not compile at all.

My 2 cents,
Mark Johnson
- Original Message -
From: "Louie Bergsagel" <[EMAIL PROTECTED]>
To: 
Sent: Wednesday, July 09, 2008 3:40 PM
Subject: Re: [U2] ouch


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


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: 
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: 
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  5  instead of 4  5 .
Hp calcuators didn't have an  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: 
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
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  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
"1" 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
 (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: 
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  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  and those that don't. Plus, how can you
> cause the errant  for the answering following the INPUT PN,6 to NOT
> welcome the  alone. OR what if  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  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 k

2008-05-05 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  and those that don't. Plus, how can you
cause the errant  for the answering following the INPUT PN,6 to NOT
welcome the  alone. OR what if  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  even if it's
a Y/N answer.

Respectfully,
Mark Johnson
- Original Message -
From: "Brutzman, Bill" <[EMAIL PROTECTED]>
To: 
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
>  keystroke while most requiring the  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 ,
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  is implied upon the entry of the 8th
> character.
>
> Then the  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: 
> 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 key to continue...

2008-05-01 Thread MAJ Programming
IMHO I find the mixed use of INPUT statements with some not requiring an
 keystroke while most requiring the  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 , 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  is implied upon the entry of the 8th
character.

Then the  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: 
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: 
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.
>
> 
>
> 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: 
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: 
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: 
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 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: 
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 " ".
>

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: 
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
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: 
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  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: 
> 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
I'll try this method. I do beaucoups of downloads.
Thanks
- Original Message -
From: "Symeon Breen" <[EMAIL PROTECTED]>
To: 
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  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: 
> 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-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  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: 
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] 
> ---
> 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: 
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: 
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. 
>
> ===
> 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-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: 
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. 
> 
> ===
> 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: 
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-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: 
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: 
> > 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: 
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: 
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: 
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 -  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: 
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]>
> &g

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

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: 
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 -  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-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: 
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 -  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" 
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: 
> 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 
> >> 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] 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: 
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
>
> 
> >> 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] 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: 
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 
> 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] 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: 
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
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: 
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-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: 
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
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: 
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-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: 
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: 
> 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
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: 
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
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: 
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 RECORD EQ COND1 AND RECORD EQ COND2 AND RECORD
> > EQ COND3 THEN
> >  RECORD = 'PROCESSED'
> >  WRITE RECORD TO FILE, ID
> >   END IF
> > END IF
> >
> > RETURN
>
>
> Or, you could try:
>
> READ RECORD FROM FILE,ID THEN
>BEGIN CASE
>CASE RECORD NE COND1
>CASE RECORD NE COND2
>CASE RECORD NE COND3
>CASE 1
>   RECORD = "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] 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: 
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 nonethe

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: 
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] 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: 
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] Good Practice?

2007-11-27 Thread MAJ Programming
I've not endorsed hard coding value marks for a few reasons. 1. they may
throw off printed program listings. 2. They're not consistently easy to type
across different emulators/MV systems. 3. Some notepad-style editors may not
allow for them (Accuterm excepted).

My 1]2 cents
Mark Johnson
- Original Message -
From: "Womack, Adrian" <[EMAIL PROTECTED]>
To: 
Sent: Monday, November 26, 2007 10:32 PM
Subject: RE: [U2] Good Practice?


> Keith said:
> >> Then, to avoid the long setup string, one has to use CONVERT (or SWAP
> or CHANGE).
>
> You can always hard-code value-marks:
> TEST = "AF1}CK1}CK2}H}LHC}MP}NU1}NU2}TK1}TK2"
>
> Adrian
>
>
>
>
>
>
>
> 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] 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: 
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: 
> > 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] 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: 
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] 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: 
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: 
> 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'
> >
> 
> ---
> 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
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: 
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/


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: 
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] 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: 
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
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: 
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: 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-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 X=1
but X=1.

I don't use spaces as separators when using the colon (contatenation)
function. Thus I use PRINT X"L#10":Y"L#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: 
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/100"R2,#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/100"R2,#10" works as expected without fearing that it may come up as
> >X/(100"R2,#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: [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/100"R2,#10" works as expected without fearing that it may come up as
X/(100"R2,#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 X"D2/""L#10" so I use (X"D2/")"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: 
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/100"L%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.u2u

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/100"R2#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: 
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
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.
- Original Message -
From: "Jeff Schasny" <[EMAIL PROTECTED]>
To: 
Sent: Tuesday, November 20, 2007 11:32 AM
Subject: Re: [U2] OCONV Extraction Question - Good Practice


> I'm not as concerned about the old style format strings as I am about
> the readability of the code and ease of future modification concerning
> the printed (CRT'd in this case) string. I'd do this:
>
> OUT.LINE = FMT(OCONV(VAR1,"MD0"),"R#6 ")
> OUT.LINE := FMT(OCONV(VAR2,"MD2"),"R#10")
> OUT.LINE := FMT(OCONV(VAR3,"MD4"),"R#14")
> CRT OUT.LINE
>
>
> 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".
> >
> >
> >
> > 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/
> >
> >
>
> --
> 
> Jeff Schasny - Denver, Co, USA
> jeff at schasny 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/


Re: [U2] OCONV Extraction Question - Good Practice

2007-11-21 Thread MAJ Programming
Exactly why is

CRT VAR1/100"R2#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: 
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: 
> 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 - 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: 
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 VAR1"R0#6":" ":VAR2/100"R2#10":" ":VAR3/1"R4#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 - 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: 
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 - 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 VAR1"R0#6":" ":VAR2/100"R2#10":" ":VAR3/1"R4#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: 
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: 
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 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: 
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: 
> 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: 
> > 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)
> > >
> > > Bra

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


  1   2   3   >