Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA Enterprise SCADA

Add Datapump support to database tables

  • Last UpdatedApr 24, 2025
  • 2 minute read

If DPFill routines will be normally used to update the key tables, you will need to modify each stored procedure and application program that modifies the data.

Notes: For distributed tables, the datasetId column must be set for each call to the DPFill routine. If the table does not contain a datasetId value, then the table is considered global and the DPSystemDefaults view GLOBAL_DATASET value will be automatically used in the DPFill procedure.

For single Historical scenarios support, the ownSysId column must be set for each call to the DPFill routine. If the ownSysId column is not set, the DPSystemDefaults view OWNSYSTEM value will be automatically used in the DPFill procedure. This value corresponds to the ID of the system with the principal Historical.

DPutil can list the stored procedures defined for a database and indicate if DPFill is called in its database stored procedures. The following command can be used to flag all the stored procedures modifying a table:

DPutil -m -d <database> -S <service>

When a procedure contains update statements that modify the primary key, DPFill must be called before the change to delete the rows, and then DPFill must be called after the change to insert the updated rows.

For example:

update peakHistory

set time = @new_sum_time,

offset = @new_sum_offset,

value = @new_sum_vol

where balanceId = @balanceId and

groupId = @groupId and

typeId = @typeId and

maxPeak = "y" and

time = @min_sum_time

In this case you must call the DPFill routine with a delete and then an insert. For example:

exec DPFillpeakHistory @balanceId, @groupId, @typeId,

'y',@min_sum_time, 'D'

exec DPFillpeakHistory @balanceId, @groupId, @typeId,

'y', @new_sum_time, 'I'

Note: You must ensure that Historical data is written to the Historical database before the DPFill call that refers to the data. For instance, if Historical data is buffered and later inserted using a bulk insert, then the related DPFill calls must be buffered and executed after the bulk insert is complete.

Related Links