Wednesday, October 1, 2014

How to check table's value changes dynamically

 _RecRef.GETTABLE(Rec);
 _xRecRef.GETTABLE(xRec);

ValueChanged := FALSE;
Field.SETRANGE(TableNo,_VarRecRef.NUMBER);
Field.SETFILTER(Type,'<>%1',Field.Type::TableFilter);
Field.SETRANGE(Enabled,TRUE);
IF Field.FIND('-') THEN
  REPEAT

    NewFieldRef := _VarRecRef.FIELD(Field."No.");
    OldFieldRef := _xVarRecRef.FIELD(Field."No.");
    IF NewFieldRef.VALUE <> OldFieldRef.VALUE THEN BEGIN
         MESSAGE('OLD VALUE = %1, NEW VALUE = %2, FIELD NO = %3',                                                                OldFieldRef.VALUE, NewFieldRef.VALUE, Field."No.");
      ValueChanged := TRUE;
    END;

  UNTIL (Field.NEXT = 0) OR (ValueChanged = TRUE);
EXIT(ValueChanged);

No comments:

Post a Comment