Concept

As the need for users to have applications (as well as SQL stored procedures and triggers) that modify Control data, it has become necessary to have a mechanism to notify Control of records that have changed.

To handle this, Chapi now monitors the data for refresh notifications.

Stored Procedures

There are SQL stored procedures in the Control data for adding records to the refresh monitor queue.

To update a single record, use the stored procedure called sp_RefreshRecord.

Its parameters are:

~ Parameter Name ~ Data Type ~ Required?
@ID INT Yes
@ClassTypeID INT Yes
@SeqID INT No. The default is -1
@IsDeleted BIT No. The default is 0

To update a multiple records at one time, use the stored procedure called sp_RefreshRecords.
Warning: sp_RefreshRecords is not available if you are using SQL Server 2005. It has a single table parameter of type RefreshRecordsTableType. RefreshRecordsTableType has the following fields:

~ Field Name ~ Data Type ~ Notes
ID INT PRIMARY KEY
ClassTypeID INT NOT NULL
SeqID INT
IsDeleted BIT

Examples

sp_RefreshRecord

-- This psuedo example would refresh the last order in the database.
-- The ClassTypeID for orders is 10000
 
DECLARE @ID INT = ( SELECT MAX(ID) FROM TransHeader WHERE TransactionType IN (1,6) );
 
EXEC sp_RefreshRecord @ID, 10000;

sp_RefreshRecords

-- This psuedo example would refresh the last 10 odd numbered orders in the database.
-- The ClassTypeID for orders is 10000
 
DECLARE @t RefreshRecordsTableType
;
INSERT INTO @t (ID, ClassTypeID)
SELECT TOP 10 ID, 10000
FROM TransHeader
WHERE (ID % 2) <> 0
ORDER BY ID DESC
;
EXEC sp_RefreshRecords @t

Notes

Source

Contributor: Greg Schroeder, Cyrious

Date:06/04/2015

Version: Control 5.6T