[U2] FW: Multivalue Question

2012-06-07 Thread Al DeWitt
Unidata 7.1.20 Pick Flavor

 

I am going to end up with a situation where I will have a multivalue
field that contains 5500 +/- values.  Each value will be 5-characters
long.

 

I'm concerned that this will issues with the following statement: X =
RECORD31

 

I've tried searching the manuals and can't find a good answer.

 

Appreciate your input.

 

Albert DeWitt, CPIM

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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread Wjhonson
The system can move 25K in a blink, so the simple assignment below shouldn't be 
an issue.



-Original Message-
From: Al DeWitt adew...@stylmark.com
To: u2-users u2-users@listserver.u2ug.org
Sent: Thu, Jun 7, 2012 9:29 am
Subject: [U2] FW: Multivalue Question


Unidata 7.1.20 Pick Flavor
 
I am going to end up with a situation where I will have a multivalue
ield that contains 5500 +/- values.  Each value will be 5-characters
ong.
 
I'm concerned that this will issues with the following statement: X =
ECORD31
 
I've tried searching the manuals and can't find a good answer.
 
Appreciate your input.
 
Albert DeWitt, CPIM
___
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users

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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread Wally Terhune
You could run into issues eventually with BY.EXP UniQuery access to the field.
Run the ECL LIMIT command and look for:
U_MAXBYEXPVAL:  Number of values BY.EXP can handle =  20480.

This is the limit on 7.2.12.
It might be smaller on 7.1.20. 

Performance inserting, updating individual values could be slow.

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




-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Al DeWitt
Sent: Thursday, June 07, 2012 10:35 AM
To: U2 Users List
Subject: Re: [U2] FW: Multivalue Question

So the 5500 values in one field is not stretching any limits?

Al DeWitt


-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: Thursday, June 07, 2012 11:33 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] FW: Multivalue Question

The system can move 25K in a blink, so the simple assignment below shouldn't be 
an issue.



-Original Message-
From: Al DeWitt adew...@stylmark.com
To: u2-users u2-users@listserver.u2ug.org
Sent: Thu, Jun 7, 2012 9:29 am
Subject: [U2] FW: Multivalue Question


Unidata 7.1.20 Pick Flavor
 
I am going to end up with a situation where I will have a multivalue ield that 
contains 5500 +/- values.  Each value will be 5-characters ong.
 
I'm concerned that this will issues with the following statement: X = ECORD31
 
I've tried searching the manuals and can't find a good answer.
 
Appreciate your input.
 
Albert DeWitt, CPIM
___
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users

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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread David A. Green
X = RECORD31 isn't your issue.

This is your issue:
CNT = DCOUNT(MVDATA, @VM)
FOR PTR=1 TO CNT
  SNGDATA = MVDATA1, PTR
  ...
NEXT PTR

Use instead:
MORE.FLAG = (MVDATA # )
LOOP WHILE MORE.FLAG DO
  SNGDATA = REMOVE(MVDATA, MORE.FLAG)
  ...
REPEAT

Of course other factors can help your decision on how to store your data.

1. Does it need to be sorted?
2. How do you need to retrieve it?

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 Al DeWitt
Sent: Thursday, June 07, 2012 9:30 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] FW: Multivalue Question

Unidata 7.1.20 Pick Flavor

 

I am going to end up with a situation where I will have a multivalue field
that contains 5500 +/- values.  Each value will be 5-characters long.

 

I'm concerned that this will issues with the following statement: X =
RECORD31

 

I've tried searching the manuals and can't find a good answer.

 

Appreciate your input.

 

Albert DeWitt, CPIM

___
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] FW: Multivalue Question

2012-06-07 Thread David Wolverton
Or since UniData does keep AM pointers, you could do this - then the @SVM
become @VM -- and if there is sub-valued data, in some ways this is EASIER
than tracking what item 'REMOVE' is handling.

SEARCHITEM = RAISE(RECORD31)
CNT = DCOUNT(SEARCHITEM,@AM)
FOR PTR = 1 TO CNT
   ELEMENT = SEARCHITEMPTR
   
NEXT PTR

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green
Sent: Thursday, June 07, 2012 11:45 AM
To: 'U2 Users List'
Subject: Re: [U2] FW: Multivalue Question

X = RECORD31 isn't your issue.

This is your issue:
CNT = DCOUNT(MVDATA, @VM)
FOR PTR=1 TO CNT
  SNGDATA = MVDATA1, PTR
  ...
NEXT PTR

Use instead:
MORE.FLAG = (MVDATA # )
LOOP WHILE MORE.FLAG DO
  SNGDATA = REMOVE(MVDATA, MORE.FLAG)
  ...
REPEAT

Of course other factors can help your decision on how to store your data.

1. Does it need to be sorted?
2. How do you need to retrieve it?

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 Al DeWitt
Sent: Thursday, June 07, 2012 9:30 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] FW: Multivalue Question

Unidata 7.1.20 Pick Flavor

 

I am going to end up with a situation where I will have a multivalue field
that contains 5500 +/- values.  Each value will be 5-characters long.

 

I'm concerned that this will issues with the following statement: X =
RECORD31

 

I've tried searching the manuals and can't find a good answer.

 

Appreciate your input.

 

Albert DeWitt, CPIM

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

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


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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread Robert Houben
20480 == 0x5000

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green
Sent: June-07-12 9:45 AM
To: 'U2 Users List'
Subject: Re: [U2] FW: Multivalue Question

X = RECORD31 isn't your issue.

This is your issue:
CNT = DCOUNT(MVDATA, @VM)
FOR PTR=1 TO CNT
  SNGDATA = MVDATA1, PTR
  ...
NEXT PTR

Use instead:
MORE.FLAG = (MVDATA # )
LOOP WHILE MORE.FLAG DO
  SNGDATA = REMOVE(MVDATA, MORE.FLAG)
  ...
REPEAT

Of course other factors can help your decision on how to store your data.

1. Does it need to be sorted?
2. How do you need to retrieve it?

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 Al DeWitt
Sent: Thursday, June 07, 2012 9:30 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] FW: Multivalue Question

Unidata 7.1.20 Pick Flavor



I am going to end up with a situation where I will have a multivalue field that 
contains 5500 +/- values.  Each value will be 5-characters long.



I'm concerned that this will issues with the following statement: X = RECORD31



I've tried searching the manuals and can't find a good answer.



Appreciate your input.



Albert DeWitt, CPIM

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

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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread Wjhonson

But why is it significant that it is the same as a simple Octal?
20480 is also 1280 bytes, but I can't see why 1280 is especially significant 
versus 1200 or 1300 or any other number



-Original Message-
From: Robert Houben robert.hou...@fwic.net
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Thu, Jun 7, 2012 9:51 am
Subject: Re: [U2] FW: Multivalue Question


20480 == 0x5000
-Original Message-
rom: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] 
n Behalf Of David A. Green
ent: June-07-12 9:45 AM
o: 'U2 Users List'
ubject: Re: [U2] FW: Multivalue Question
X = RECORD31 isn't your issue.
This is your issue:
NT = DCOUNT(MVDATA, @VM)
OR PTR=1 TO CNT
 SNGDATA = MVDATA1, PTR
 ...
EXT PTR
Use instead:
ORE.FLAG = (MVDATA # )
OOP WHILE MORE.FLAG DO
 SNGDATA = REMOVE(MVDATA, MORE.FLAG)
 ...
EPEAT
Of course other factors can help your decision on how to store your data.
1. Does it need to be sorted?
. How do you need to retrieve it?
David A. Green
480) 813-1725
AG Consulting
-Original Message-
rom: u2-users-boun...@listserver.u2ug.org
mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Al DeWitt
ent: Thursday, June 07, 2012 9:30 AM
o: u2-users@listserver.u2ug.org
ubject: [U2] FW: Multivalue Question
Unidata 7.1.20 Pick Flavor

I am going to end up with a situation where I will have a multivalue field that 
ontains 5500 +/- values.  Each value will be 5-characters long.

I'm concerned that this will issues with the following statement: X = RECORD31

I've tried searching the manuals and can't find a good answer.

Appreciate your input.

Albert DeWitt, CPIM
___
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users
___
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users
__
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users

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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread Robert Houben
No idea why, but it is a round number when you view it as hex.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Wjhonson
Sent: June-07-12 10:01 AM
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] FW: Multivalue Question


But why is it significant that it is the same as a simple Octal?
20480 is also 1280 bytes, but I can't see why 1280 is especially significant 
versus 1200 or 1300 or any other number



-Original Message-
From: Robert Houben robert.hou...@fwic.net
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Thu, Jun 7, 2012 9:51 am
Subject: Re: [U2] FW: Multivalue Question


20480 == 0x5000
-Original Message-
rom: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org]
n Behalf Of David A. Green
ent: June-07-12 9:45 AM
o: 'U2 Users List'
ubject: Re: [U2] FW: Multivalue Question X = RECORD31 isn't your issue.
This is your issue:
NT = DCOUNT(MVDATA, @VM)
OR PTR=1 TO CNT
 SNGDATA = MVDATA1, PTR
 ...
EXT PTR
Use instead:
ORE.FLAG = (MVDATA # )
OOP WHILE MORE.FLAG DO
 SNGDATA = REMOVE(MVDATA, MORE.FLAG)
 ...
EPEAT
Of course other factors can help your decision on how to store your data.
1. Does it need to be sorted?
. How do you need to retrieve it?
David A. Green
480) 813-1725
AG Consulting
-Original Message-
rom: u2-users-boun...@listserver.u2ug.org
mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Al DeWitt
ent: Thursday, June 07, 2012 9:30 AM
o: u2-users@listserver.u2ug.org
ubject: [U2] FW: Multivalue Question
Unidata 7.1.20 Pick Flavor

I am going to end up with a situation where I will have a multivalue field that 
ontains 5500 +/- values.  Each value will be 5-characters long.

I'm concerned that this will issues with the following statement: X = RECORD31

I've tried searching the manuals and can't find a good answer.

Appreciate your input.

Albert DeWitt, CPIM
___
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users
___
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users
__
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users

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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread George Gallen
You will need to add 

MORE.FLAG = (MVDATA# ) again to just before the REPEAT, for the WHILE 
   To function properly, otherwise, it's just using the flag set prior
   To starting the LOOP

George

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green
Sent: Thursday, June 07, 2012 12:45 PM
To: 'U2 Users List'
Subject: Re: [U2] FW: Multivalue Question

Use instead:
MORE.FLAG = (MVDATA # )
LOOP WHILE MORE.FLAG DO
  SNGDATA = REMOVE(MVDATA, MORE.FLAG)
  ...
REPEAT

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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread George Gallen
It's only round because 2048 is a 2^n value.
Any of the 2^n value as the base x 10^n will be round in hex.


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Houben
Sent: Thursday, June 07, 2012 1:04 PM
To: U2 Users List
Subject: Re: [U2] FW: Multivalue Question

No idea why, but it is a round number when you view it as hex.

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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread David A. Green
George,

The REMOVE will set the MORE.FLAG to 0 when it reaches the last value.

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 George Gallen
Sent: Thursday, June 07, 2012 10:04 AM
To: U2 Users List
Subject: Re: [U2] FW: Multivalue Question

You will need to add 

MORE.FLAG = (MVDATA# ) again to just before the REPEAT, for the WHILE 
   To function properly, otherwise, it's just using the flag set prior
   To starting the LOOP

George

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green
Sent: Thursday, June 07, 2012 12:45 PM
To: 'U2 Users List'
Subject: Re: [U2] FW: Multivalue Question

Use instead:
MORE.FLAG = (MVDATA # )
LOOP WHILE MORE.FLAG DO
  SNGDATA = REMOVE(MVDATA, MORE.FLAG)
  ...
REPEAT

___
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] FW: Multivalue Question

2012-06-07 Thread Wjhonson
Within the loop the REMOVE *function* sets the MORE.FLAG variable to 0 if you 
are at the end of the string



-Original Message-
From: George Gallen ggal...@wyanokegroup.com
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Thu, Jun 7, 2012 10:04 am
Subject: Re: [U2] FW: Multivalue Question


You will need to add 
MORE.FLAG = (MVDATA# ) again to just before the REPEAT, for the WHILE 
  To function properly, otherwise, it's just using the flag set prior
  To starting the LOOP
George
-Original Message-
rom: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] 
n Behalf Of David A. Green
ent: Thursday, June 07, 2012 12:45 PM
o: 'U2 Users List'
ubject: Re: [U2] FW: Multivalue Question
Use instead:
ORE.FLAG = (MVDATA # )
OOP WHILE MORE.FLAG DO
 SNGDATA = REMOVE(MVDATA, MORE.FLAG)
 ...
EPEAT
___
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users

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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread George Gallen
Ooh.. OK. I was thinking it was actually checking (MVDATA#) - MORE.FLAG on 
each iteration
Rather than putting the status of the REMOVE into MORE.FLAG and not having 
anything to do with MVDATA# anymore.



-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green
Sent: Thursday, June 07, 2012 1:08 PM
To: 'U2 Users List'
Subject: Re: [U2] FW: Multivalue Question

George,

The REMOVE will set the MORE.FLAG to 0 when it reaches the last value.

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


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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread George Gallen
No, I take that back. Not true.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of George Gallen
Sent: Thursday, June 07, 2012 1:08 PM
To: U2 Users List
Subject: Re: [U2] FW: Multivalue Question

It's only round because 2048 is a 2^n value.
Any of the 2^n value as the base x 10^n will be round in hex.


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Robert Houben
Sent: Thursday, June 07, 2012 1:04 PM
To: U2 Users List
Subject: Re: [U2] FW: Multivalue Question

No idea why, but it is a round number when you view it as hex.

___
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] FW: Multivalue Question

2012-06-07 Thread Daniel McGrath
UniData does not keep AM pointers. You might be thinking about UniVerse's 
hinting mechanism.

Regards,
Dan

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David Wolverton 
Sent: Thursday, June 07, 2012 10:50 AM
To: 'U2 Users List'
Subject: Re: [U2] FW: Multivalue Question

Or since UniData does keep AM pointers, you could do this - then the @SVM 
become @VM -- and if there is sub-valued data, in some ways this is EASIER than 
tracking what item 'REMOVE' is handling.

SEARCHITEM = RAISE(RECORD31)
CNT = DCOUNT(SEARCHITEM,@AM)
FOR PTR = 1 TO CNT
   ELEMENT = SEARCHITEMPTR
   
NEXT PTR

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green
Sent: Thursday, June 07, 2012 11:45 AM
To: 'U2 Users List'
Subject: Re: [U2] FW: Multivalue Question

X = RECORD31 isn't your issue.

This is your issue:
CNT = DCOUNT(MVDATA, @VM)
FOR PTR=1 TO CNT
  SNGDATA = MVDATA1, PTR
  ...
NEXT PTR

Use instead:
MORE.FLAG = (MVDATA # )
LOOP WHILE MORE.FLAG DO
  SNGDATA = REMOVE(MVDATA, MORE.FLAG)
  ...
REPEAT

Of course other factors can help your decision on how to store your data.

1. Does it need to be sorted?
2. How do you need to retrieve it?

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 Al DeWitt
Sent: Thursday, June 07, 2012 9:30 AM
To: u2-users@listserver.u2ug.org
Subject: [U2] FW: Multivalue Question

Unidata 7.1.20 Pick Flavor

 

I am going to end up with a situation where I will have a multivalue field that 
contains 5500 +/- values.  Each value will be 5-characters long.

 

I'm concerned that this will issues with the following statement: X = RECORD31

 

I've tried searching the manuals and can't find a good answer.

 

Appreciate your input.

 

Albert DeWitt, CPIM

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

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


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


Re: [U2] FW: Multivalue Question

2012-06-07 Thread Wjhonson

Does Unidata allow the following type of construct

SEARCHITEM = RAISE(RECORD31)
SELECTV SEARCHITEM TO MYSEARCHLIST
DONE = FALSE; CNT = 0
LOOP
   READNEXT ITEM FROM MYSEARCHLIST ELSE DONE = TRUE


that's how I do this in Universe, not sure if you can do this in Unidata








-Original Message-
From: Daniel McGrath dmcgr...@rocketsoftware.com
To: U2 Users List u2-users@listserver.u2ug.org
Sent: Thu, Jun 7, 2012 10:26 am
Subject: Re: [U2] FW: Multivalue Question


UniData does not keep AM pointers. You might be thinking about UniVerse's 
inting mechanism.
Regards,
an
-Original Message-
rom: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] 
n Behalf Of David Wolverton 
ent: Thursday, June 07, 2012 10:50 AM
o: 'U2 Users List'
ubject: Re: [U2] FW: Multivalue Question
Or since UniData does keep AM pointers, you could do this - then the @SVM 
become 
VM -- and if there is sub-valued data, in some ways this is EASIER than 
racking what item 'REMOVE' is handling.
SEARCHITEM = RAISE(RECORD31)
NT = DCOUNT(SEARCHITEM,@AM)
OR PTR = 1 TO CNT
  ELEMENT = SEARCHITEMPTR
  
EXT PTR
-Original Message-
rom: u2-users-boun...@listserver.u2ug.org
mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of David A. Green
ent: Thursday, June 07, 2012 11:45 AM
o: 'U2 Users List'
ubject: Re: [U2] FW: Multivalue Question
X = RECORD31 isn't your issue.
This is your issue:
NT = DCOUNT(MVDATA, @VM)
OR PTR=1 TO CNT
 SNGDATA = MVDATA1, PTR
 ...
EXT PTR
Use instead:
ORE.FLAG = (MVDATA # )
OOP WHILE MORE.FLAG DO
 SNGDATA = REMOVE(MVDATA, MORE.FLAG)
 ...
EPEAT
Of course other factors can help your decision on how to store your data.
1. Does it need to be sorted?
. How do you need to retrieve it?
David A. Green
480) 813-1725
AG Consulting
-Original Message-
rom: u2-users-boun...@listserver.u2ug.org
mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Al DeWitt
ent: Thursday, June 07, 2012 9:30 AM
o: u2-users@listserver.u2ug.org
ubject: [U2] FW: Multivalue Question
Unidata 7.1.20 Pick Flavor
 
I am going to end up with a situation where I will have a multivalue field that 
ontains 5500 +/- values.  Each value will be 5-characters long.
 
I'm concerned that this will issues with the following statement: X = RECORD31
 
I've tried searching the manuals and can't find a good answer.
 
Appreciate your input.
 
Albert DeWitt, CPIM
___
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users
___
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users

__
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users
__
2-Users mailing list
2-us...@listserver.u2ug.org
ttp://listserver.u2ug.org/mailman/listinfo/u2-users

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


Re: [U2] Why did this compile??

2012-06-07 Thread Charles Stevenson

A Pickism, not a Prime-ism.
Prime demanded that you say  FMT( TRIM( LINE3, ~ ) if that's what 
you meant.


VLIST the program  it will be obvious how it compiled.

cds

On 6/7/2012 1:47 PM, David Wolverton wrote:

Look at this line of code...

TEST.STRING = TRIM(LINE1):~:TRIM(LINE3)~:TRIM(LINE4)


See how it is missing the : between3)~  ??

Neither did I ... and the program compiled and ran without a complaint in
UniData 7.2.12 -- but Obviously I was getting bogus results on the other
side!!

I'm trying to figure out why this was 'allowed' ... I'm ready this and
thinking this should have tripped a compile message of SOME type!

Just one of those 'how weird is this' things I thought I'd share since it
cost me about an hour to find!!

DW


___
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] Why did this compile??

2012-06-07 Thread Allen Egerton
I believe that it saw the second tilde as a format string.


On 6/7/2012 2:47 PM, David Wolverton wrote:
 Look at this line of code...
 
 TEST.STRING = TRIM(LINE1):~:TRIM(LINE3)~:TRIM(LINE4)
 
 
 See how it is missing the : between 3)~  ??
 
 Neither did I ... and the program compiled and ran without a complaint in
 UniData 7.2.12 -- but Obviously I was getting bogus results on the other
 side!!
 
 I'm trying to figure out why this was 'allowed' ... I'm ready this and
 thinking this should have tripped a compile message of SOME type!
 
 Just one of those 'how weird is this' things I thought I'd share since it
 cost me about an hour to find!!
 
 DW
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Why did this compile??

2012-06-07 Thread David L. Wasylenko
Exactly correct... ~:TRIM(LINE4) would be used as an output formatting 
string.

Just like TEST.STRING = 12345.678R2#10  would result in the string
12345.68

... david ...

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


-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Allen Egerton
Sent: Thursday, June 07, 2012 2:16 PM
To: U2 Users List
Subject: Re: [U2] Why did this compile??

I believe that it saw the second tilde as a format string.


On 6/7/2012 2:47 PM, David Wolverton wrote:
 Look at this line of code...
 
 TEST.STRING = TRIM(LINE1):~:TRIM(LINE3)~:TRIM(LINE4)
 
 
 See how it is missing the : between 3)~  ??
 
 Neither did I ... and the program compiled and ran without a complaint 
 in UniData 7.2.12 -- but Obviously I was getting bogus results on the 
 other side!!
 
 I'm trying to figure out why this was 'allowed' ... I'm ready this and 
 thinking this should have tripped a compile message of SOME type!
 
 Just one of those 'how weird is this' things I thought I'd share since 
 it cost me about an hour to find!!
 
 DW
___
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] Why did this compile??

2012-06-07 Thread Tony Gravagno
When I was working at Pick Systems I found that anything can be passed
into format masks from BASIC, OCONV, or an F-correlative. If it
doesn't blow up some code deep down in the parser then it's just
ignored. I think the theory is that if someone knows enough to get
down that far into the bowels of the system then they'll be able to
diagnose errors resulting from faulty codes. It's sort of like not
putting a Be careful of falling trees sign in a forest where
lumberjacks work.

The compiler doesn't know that ~ is an invalid mask, since that's a
runtime feature. So VARanything will compile, which is unfortunate
because it's probably safe to say that ALL of us have tripped on this
exact same issue at some point, maybe every few months for some of us.

I guess the only thing that amazes me is that none of the MVDBMS
providers (to my knowledge) have ever added an optional runtime trap
or log option when an invalid mask is detected at runtime - seems like
they're all just missing a Case 1 or Case True fall-through condition.

T


 From: David L. Wasylenko 
 Exactly correct... ~:TRIM(LINE4) would be used as an output
 formatting string.
 
 Just like TEST.STRING = 12345.678R2#10  would result in the string
 12345.68


 From: Allen Egerton
 I believe that it saw the second tilde as a format string.


David Wolverton wrote:
  TEST.STRING = TRIM(LINE1):~:TRIM(LINE3)~:TRIM(LINE4)
 
  See how it is missing the : between 3)~  ??
 
  Neither did I ... and the program compiled and ran without a
complaint


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