On 23-Feb-2012 16:54 , Monnier, Gary wrote:
But does it work? It did for me.


I expect and hope, that like for the OP, that the modified DDS also "did not work" [as the OP intends]; i.e. I would hope for and expect consistency for both versions of the DDS, since they are in effect [for what records are selected], the same.

FWiW, I originally was responding only to the comment to "try the DYNSLT keyword", without even having reviewed the DDS in the reply. I meant only to clarity for the reader(s) what DYNSLT does. I have since gone back and looked at the prior messages... and even re-inserted the portion of the quoted text I had ignored along with the message by the OP to which that reply was made; included at the bottom of this message.

As I had alluded, if the only change is to move the selection from the access path to the cursor by specifying DYNSLT, then a difference in the effect for what records are selected would suggest a defect.

The original logic for the two Select\COMP specifications which "did not work" according to the OP:

S STATUS COMP(NE 'X')
S CODEV COMP(EQ 'EV')

Rewritten more like a typical formal logic expression:

"(STATUS *NE 'X') *OR (CODEV *EQ 'EV')"

The message to which I had responded included the _same_ DDS select _logic_ as the prior message; i.e. except the addition of the DYNSLT file-level keyword [in the "15:44" message], that DDS was unchanged from the DDS originally given [in the "3:18 PM" message]. That means both versions of the file [created from their respective DDS] should give the same results. The only difference would be whether the selection was part of the /key selection/ [performed in access path maintenance] or part of the dynamic LIC cursor selection [performed at run-time as defined in the run-time ODP].

Regards, Chuck

On Feb 23, 2012, at 4:12 PM, "CRPence" wrote:

Note that changing the LF to specify DYNSLT just moves the
selection logic from the index [keyed access path] to the run-time
ODP [the member, or LIC database cursor]. If the Select and Omit
COMPare logic is [in]correct, the result of selection should not
be expected to change when changing from\to DYNSLT, only the where
and when that the select\omit logic is effected.

On 23-Feb-2012 15:44 , Monnier, Gary wrote:
Try the DYNSLT keyword.


A DYNSLT
A CODEV I SST(DOCODE 1 2)
A K RRAKCN
A K RRAKYR
A K RRAKTY
A K RRAKNO
A S STATUS COMP(NE 'X')
A S CODEV COMP(EQ 'EV')
A O ALL

Shannon ODonnell on Thursday, February 23, 2012 3:18 PM wrote:

Did not work.

Here's the actual code. It's still pulling in everything, not
just where my CODEV (derived field) = 'EV'


A CODEV I SST(DOCODE 1 2)
A K RRAKCN
A K RRAKYR
A K RRAKTY
A K RRAKNO
A S STATUS COMP(NE 'X')
A S CODEV COMP(EQ 'EV')
A O ALL


I can always do an OPNQRYF or embedded SQL, but I really needed
the index path to have already existed for the application so
it doesn't have to add any overhead each time it's used.





This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.