The command enables to compare the values of target columns (of structured variables), configured in the eval tags, with the values that were calculated by D2000 Calc. The calculation is done by calling the Tell command CHECK_DESTID_VALUES [DestId [ColIndex]] [DETAIL] [FlagList] in D2000 Calc.

Warning: Tell command CHECK_DESTID_VALUES is supported only in the version D2000 V8.0.5.

When specifying the particular object of Structured variable type, for which the comparison should be done, the value of parameter DestId, or also ColIndex for the particular column, must be a non-zero. These parameters are followed by the optional key words (named as FlagList parameter) that enable to organize the final output.

Note: The term "value of eval tag" (or abbreviated "value") will be used below in terms of the value that is intended for calculation for row of target column in the structured variable. One eval tag has several values. It depends on the number of row of target column in the structured variable.

List of key words FlagList (written in consecutive order and separated by blank space, the detailed meaning is described in the article Procedure to check the eval tags):

Key word Meaning
Detail Displays detailed information about difference in the compared values (they contains error or special flags).
Debug The same meaning as Detail, but when writing ColIndex, it displays also the compared value without flags.
Ignore_Time Ignores the time stamps of the compared values (for SBS this option is always enabled).
ReCalc0s Compares the values no matter when the eval tag was calculated. Default value is 10s.
ReCalc1m Does not compare the values if eval tag was calculated before less than 1 minute and the response has not been received from D2000 System yet. Default value is 10s.

Procedure to check the eval tags

It checks only those eval tags with the defined reference to the target column of structured variable.


1. type of log (neither Detail nor Debug parameters are set)

When necessary, you may narrow the selection by defining DestID parameter for the structured variable, or ColIdex parameter for the particular target column.

Examples:

Example 1

Tell Command: CHECK_DESTID_VALUES
Start Time: 31.05.2013 15:41:44.763
C_Index;C_ID;C_Name;C_Type;D_Column;COUNT;NoEval;ReCalc;ErrInv;ErrCnv;ErrDif
1;10216;P.SV.ALARM.AKTIV_DRN;CHANGE;$14491^29;45;45;0;0;0;0
...
41;11715;P._SysProf.Server.ThreadAlarm;CHANGE;$11427^11;154;154;0;0;0;0
42;11717;P._SysProf.Server.UsedMemPerc;CHANGE;$11427^5;154;154;0;0;0;6
43;11719;P.SV.B.LFC_SED.TG_FILTER_T10_MINUS_ALARM;CHANGE;$12280^86;60;0;0;0;0;0
...
705;71184;P.TEST_XXX_Priznak;PERIODIC;$71179^2;2;0;2;0;0;0
Duplicated Destination Column: $11427^5 - 2 occurences!
  Calc 'P._SysProf.Server.UsedMemPerc' with Type CHANGE
  Calc 'P._SysProf.Hpux.Server.UsedMemPerc' with Type CHANGE
Duplicated Destination Column: $13104^4 - 2 occurences!
  Calc 'P.SIMU.AGC_Unit_LFC.Manual.PbAct' with Type CHANGE
  Calc 'P.SIMUL.AGC_Unit_LFC.PbAct' with Type CHANGE
SUMMARY: 705 Calc(s) with 23658 Shadow Calc(s) - 65 Error(s) and 11113 Flag(s)

At the beginning of the log there is always the called TELL command and time, when it was started. This is followed by the specific record, which contains header of CSV data. Just one row with data in CSV format is assigned to each eval tag with the defined target column. This row represents either debugging information (green color) or error message (red color).
Each eval tag contains a consecutive number for row (number of rows is equal to number of eval tags with the defined target column of structured variable), ID of eval tag, its name, type and filled target column in the format $^ColIndex. The special counters comes after this column in this order:

Rules:

At the end of log there is a summary. Before starting the tell command with other parameters, you should check the error flags (cumulative ErrInv, ErrCnv and ErrDiff) and special flag (cumulative NoEval and ReCalc). If there are the eval tags that fill the same destination column of structure variable, a warning occurs even before this log.


2. type of log (Detail or Debug parameter is entered, but the particular destination column of structured variable is not defined)

Tell command without the parameters allowed to find out the number of error and special flags (see the summary at the end of log of 1. example). If their sum is convenient, because it defines the maximum number of rows of next log, the tell command without DestID can be called for the structured variable. In the output, the one row will correspond to each value of structured eval tag, which contains error or special flags. If it contains only special flag, it will be in the form of warning, but if it contains both error and special flags, the row will represent the error message.

Example 2

Tell Command: CHECK_DESTID_VALUES 11427 DETAIL
Start Time: 03.06.2013 11:02:55.233
CNT_NAME;D_VOBJ;FIRST_EVAL;C_ID;C_NAME;C_TYPE;CV_REDEF;CV_TYPE;CV_VALUE;CV_TIME;DV_UNDEF;DV_TYPE;DV_VALUE;DV_TIMEID
CALC-ERRDIF;$11427[1]^5;FALSE;11717;P._SysProf.Server.UsedMemPerc;CHANGE;FALSE;INT;(invalid);30.05.2013 09:55:08.499;FALSE;INT;(invalid);30.05.2013 09:55:11.520
CALC-ERRDIF;$11427[2]^5;FALSE;11717;P._SysProf.Server.UsedMemPerc;CHANGE;FALSE;INT;(invalid);30.05.2013 09:55:08.499;FALSE;INT;(invalid);30.05.2013 09:55:11.520
CALC-ERRDIF;$11427[3]^5;FALSE;11717;P._SysProf.Server.UsedMemPerc;CHANGE;FALSE;INT;(invalid);30.05.2013 09:55:08.499;FALSE;INT;(invalid);30.05.2013 09:55:11.520
CALC-ERRDIF;$11427[4]^5;FALSE;11717;P._SysProf.Server.UsedMemPerc;CHANGE;FALSE;INT;(invalid);30.05.2013 09:55:08.499;FALSE;INT;(invalid);30.05.2013 09:55:11.520
CALC-ERRDIF;$11427[5]^5;FALSE;11717;P._SysProf.Server.UsedMemPerc;CHANGE;FALSE;INT;(invalid);30.05.2013 09:55:08.499;FALSE;INT;(invalid);30.05.2013 09:55:11.521
CALC-ERRDIF;$11427[6]^5;FALSE;11717;P._SysProf.Server.UsedMemPerc;CHANGE;FALSE;INT;(invalid);30.05.2013 09:55:08.499;FALSE;INT;(invalid);30.05.2013 09:55:11.521
...

At the beginning of the log there is always the called TELL command and time, when it was started. This is followed by the specific record, which contains header of CSV data. A one-row record, which starts with flag that was evaluated as the last (it is the most important and starts with CALC- prefix) corresponds to each value that contains the error or special flags. This is followed by the destination value of structured variable in the format $[RowNumber]^ColIndex, the information about a first evaluation of I/O tag (FIRST_EVAL: on SBS it is still True), its ID, name and type, whether the value is recalculated (CV_REDEF: on SBS it is still True after the first recalculation), type, value and date of recalculation, whether the destination value has never been received from D2000 System (DV_UNDEF), its type, value and time stamp.


3. type of log (Detail or Debug parameter is entered and the destination column of structured variable is exactly defined)

The output file will contain either the detailed information for each value of structured I/O tag, which contains the error flags, if Detail parameter is entered, or detailed information about all values if Debug parameter is entered.

Example 3

Tell Command: CHECK_DESTID_VALUES 11427 5 DETAIL
Start Time: 03.06.2013 12:21:34.864
CNT_NAME;D_VOBJ;FIRST_EVAL;C_ID;C_NAME;C_TYPE;CV_REDEF;CV_TYPE;CV_VALUE;CV_TIME;DV_UNDEF;DV_TYPE;DV_VALUE;DV_TIME
[Calc]
  ID                   : $11717[1]
  FirstEval            : FALSE
  bDestValUnDef        : FALSE
  bDestValReClc        : FALSE
  [Info]
    Id                 : 11717
    Name               : P._SysProf.Server.UsedMemPerc
    Descript           : Server - % vyuzitia pamate
    ParentId           : 28
    Value_Type         : CE
    ActRefNr           : 1
    PasRefNr           : 0
    CreateTime         : (null)
    ModifyTime         : 24.08.2010 17:48:17.263
  [Data]
    RECAL_REQ          : CHANGE
    PERIOD             : 0
    OFFSET             : 0
    START_VAL          : 
    TriggerId          : 
    TriggerTyp         : TVALUE
    InvertTrig         : FALSE
    MonotonicTime      : FALSE
    UTC_Offset         : 1
    DestId             : $11427^5
    IgnoreInvalid      : FALSE
    TimeFilter         : 0
  [Alarm Data]
    Row                : 0
    Col                : 0
    Alarm              : 
    Monitor            : 
    KvitReq            : 
    Critical           : 
    Timeout            : 0
    Silent             : FALSE
    SignalMonitor      : FALSE
    SignalAlarm        : FALSE
    SignalCritical     : FALSE
    IgnoreInvalid      : FALSE
    ProcAlarmShowMasks : 
  [Value]
    GValTyp            : INT (Integer)
    Status             : NOACKVALUE
    LimitStatus        : INLIMIT
    ProcAlarmStatus    : NOALARM
    ValTyp             : CE
    Flags              : F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F
    ValTime            : 30.05.2013 09:55:48.296
    AlarmTime          : (null)
    Value              : (invalid)
  [LastVal]
    GValTyp            : INT (Integer)
    Status             : NOACKVALUE
    LimitStatus        : INLIMIT
    ProcAlarmStatus    : NOALARM
    ValTyp             : CE
    Flags              : F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F
    ValTime            : 30.05.2013 09:55:08.499
    AlarmTime          : (null)
    Value              : (invalid)
  [DestVal]
    GValTyp            : INT (Integer)
    Status             : NOACKVALUE, MANUAL
    LimitStatus        : INLIMIT
    ProcAlarmStatus    : NOALARM
    ValTyp             : INT
    Flags              : F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F
    ValTime            : 30.05.2013 09:55:11.520
    AlarmTime          : (null)
    Value              : (invalid)
  LL_Stat              : TRUE
  VLL_Stat             : TRUE
  HL_Stat              : TRUE
  VHL_Stat             : TRUE
  Trigger              : FALSE
  calcCounter          : 3
  nvCounter            : 1
  ShadowList           : 0
  OnlyMyRow            : TRUE
  CalcTime             : (null)
  LastCalcTime         : (null)
  bAllwaysInLimits     : TRUE
  FirstAfterRDSw       : FALSE
  ActEvalTime          : 30.05.2013 09:55:11.509
  PocitajTime          : 30.05.2013 09:55:48.296
...