Multivalue Fields (AREV Specific)
At 12 JAN 1999 09:36:25PM CWogu wrote:
I am hoping that People Familiar with Ceridian/Control Data product will jump in here or anyone who can be of assistance.
I am issuing a select statement against a table to give me changes that has a value of pay.rate i.e SELECT CHANGES WITH FIELD.NAMES =
'PAY.RATE then I do:
LIST CHANGES EMP.NO OLD.VALUES NEW.VALUES BY EMP.NO ID-SUPP.
Since both OLD.VALUES and NEW.VALUES are MULTIVALUE fields I am fetching other values that are not PAY.RATE and it includes address as well dept.no changes. I created a single value field i.e MYVALUE and the formular is @ANS {NEW.VALUES} yet I still get non pay rate changes. I hope someone can give me a better direction on how to retrieve values specific to PAY.RATE change.
Thanks
At 13 JAN 1999 04:45AM Stephen Chamberlain, CSG wrote:
Try creating 2 new formulas one to give the OLD.VALUES for PAY.RATE and one to give the NEW.VALUES for PAY.RATE.
Example Formula would be:-
OldValues={OLD.VALUES}
FieldNames={FIELD.NAMES}
Cnt=Count(FieldNames,@vm}+(FieldNames#'')
Ans=0
For i=1 to Cnt
If FieldNames=PAY.RATE" ThenAns=OldValuesEndNext i
@Ans=Ans
Now you can change your selection to, assuming you have called your new formulas OLD.PAY.RATES.VALUE & NEW.PAY.RATES.VALUE :-
SELECT CHANGES WITH OLD.PAY.RATES.VALUE # 0
then :
LIST CHANGES EMP.NO OLD.PAY.RATES.VALUE NEW.PAY.RATES VALUE BY EMP.NO ID-SUPP
Hope this helps
Stephen Chamberlain
Corporate Services Group Plc.
At 13 JAN 1999 11:47AM Victor Engel wrote:
Try this:
SELECT CHANGES WITH FIELD.NAMES=PAY.RATE' BY EMP.NO BY FIELD.NAMES
then:
LIST CHANGES EMP.NO OLD.VALUES NEW.VALUES ID-SUPP LIMIT FIELD.NAMES=PAY.RATE'.
At 14 JAN 1999 01:15PM Larry Wilson - TARDIS Systems, Inc. wrote:
Acutally, this comes up quite a bit. Once you've sorted on a MV field, AREV uses that against all subsequent fields. What I've done is create a 0 length dictionary item that sets @MV to 0, then all dict items after that are treated as SV. It seems to me a much more thorough way of handling this issue than constantly trying to write you selects and lists to accomodate a (weakness?) 'feature' of AREV. It would seem that in any LIST, that once a statement hits a SV field, it should turn the @MV back to 0, but it doesn't.
If you put this field in the DICT of VOC, then you can use it globally without having to put it into every dict.
It's a symbolic, with a formula of: @MV=0 - that's all.
Hope this helps.
Larry Wilson
TARDIS Systems, Inc.