On 3.4, you can add DCOUNT() functionality, for use in I-types, by creating
a DCOUNT subroutine as
SUBROUTINE DCOUNT(result, param1, param2)
result = DCOUNT(param1, param2)
RETURN

Dan


On Wed, May 6, 2009 at 2:07 PM, Charlie Noah <[email protected]>wrote:

>  Pat,
>
> Partial jdiag info:
>
> System                      : AIX junior 3.5 000177514C00
> OS Release                  : 5.3.0.0
> RELEASE Information         : Major 3.4 , Minor 8 , Patch 0351
> Spooler dir (JBCSPOOLERDIR) : '/usr/jspooler'
> JBCEMULATE                  : 'UNIVERSE'
>
> I just did a test with this I-type:
>
> DICT JUNK.CWN.1 TEST.1
> 001: I
> 002: 1 + 2
> 003:
> 004: Test
> 005: 4R
> 006: S
>
> LIST JUNK.CWN.1 *A1 *A2 TEST.1
>
> JUNK.CWN.1.......... *A1................. *A2................. Test
>
> 5-70517*197909*5     14723                14723                   3
> 23-TR506*494827*23   14936                14936                   3
> 3-BC302*200782*3     14873                14873                   3
>
> The 1 and 2 are definitely being interpreted as literals here and not as
> attributes. I believe the emulation would have a lot to do with that.
>
> You're the one who left out DCOUNT? In the immortal words of Jim: "You're
> fired - again!"   ;-)
>
> Charlie
>
> pat wrote, On 05/06/2009 10:53 AM:
>
> Au contraire Charlie,
>
> The unquoted numeric literal is used as an Attribute reference in
> everything but ... '@RECORD', where jBASE 3.4 is intelligent enough to
> know that the numeric value inside '< >' is a number, and not an
> attribute reference
>
> But yes, the 'COUNT + 1' will be incorrect for Null attributes, so
> apologies for that
>
> And apologies for not implementing 'DCOUNT' which would have made life
> simpler
>
> ***
>
> Ian,
>
> I-types are equivalent to the V types used in your previous 'life'
> before jBASE ;-)
> [ jBASE 3.4 also has 'D' types ala the 'D' types from your previous
> incarnation ]
>
> I types are originally from Prime I believe
>
> Pat.
>
> On 6 May, 13:33, Charlie Noah <[email protected]> 
> <[email protected]> wrote:
>
>
>  Pat,
> I-Type dict items generally don't perform as efficiently in Jbase as 10-line 
> Pick types. I am basing this on experience with Jbase 3.4.x. Things may be 
> different with 4.x If either will do the job, do a timing test to determine 
> which is faster, especially if it will be used a lot.
> BTW, in your mvcnt example below, the result will be incorrect if the 
> attribute is null.
>    COUNT(@RECORD<1>, @VM)  + (@RECORD<1> #  '') or
>    IF @RECORD<1> # '' THEN COUNT(@RECORD<1>, @VM) + 1 ELSE 0 (or '' if you 
> prefer).
> will return the correct result. It's a pity DCOUNT() doesn't work, although, 
> again, I'm referring to 3.4.x. Also, in your example, you are using 1 as an 
> attribute reference first, and as a literal second. Depending on your 
> emulation, it will either be one or the other.
> Regards,
> Charlie Noah
> Inland Truck Parts Company
> pat wrote, On 05/05/2009 05:16 PM:Why restrict yourself to 10 line DICTionary 
> items ? Try the additional features provided by I types DICT file 
> mv2_of_Attr1 Last_mv_of_Attr1 mvcnt mv2_of_Attr1 001 I 002 @RECORD<1,2> 003 
> 004 2nd Value in Attribute 1 005 10L Last_mv_of_Attr1 001 I 002 
> FIELD(1,@VM,mvcnt) 003 004 Last value in Attribute 1 005 10L mvcnt 001 I 002 
> COUNT(1,@VM)+1 003 004 Number of values in Attribute 1 005 5R LIST file 
> mv2_of_Attr1 Last_mv_of_Attr1 should give you : 'dave' and 'chris' 
> respectively, based on your data below, Pat. On 5 May, 11:13, 
> inavran<[email protected]> <[email protected]>wrote:Hi, I was wondering if 
> anyone knew the correct syntax for extracting the 'last multi-value' from a 
> field using a 10 line dictionary items eg record (3 attributes with 4 
> multi-values on each line) 001:john]dave]simon]chris 
> 002:blue]red]yellow]green 003:30]25]42]50 i would want to extract just 
> "chris" from attribute
>  1. (being the last MV) also, i would be curious how to extract a specific 
> other multi value as well (eg "dave" (MV 2) at present i am doing this using 
> a subroutine CALL within the DICT, which is very slow (as you would expect), 
> so i am keen to get a better solution in place. I am using jBASE 3.4.x on 
> Windows 2003 Many thanks in advance. Ian
>
>
>
> >
>
>

--~--~---------~--~----~------------~-------~--~----~
Please read the posting guidelines at: 
http://groups.google.com/group/jBASE/web/Posting%20Guidelines

IMPORTANT: Type T24: at the start of the subject line for questions specific to 
Globus/T24

To post, send email to [email protected]
To unsubscribe, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to