Handling Undispatched Activities

SQL query below created by Stanislav Matejovsky with the assistance of Jayant from Cisco TAC and Reshib from eGain.

ECE_Undispatched_activity.sql
-- BEFORE MAKING ANY CHANGES TO THE DATABASE WITH THESE QUERIES, STOP THE DX PROCESS FIRST!!
 
USE [eGActiveDB];
 
-- List all undispatched activities.
-- Filter only the highest ACTIVITY_ID per CASE_ID, as only those are relevant for resending.
SELECT ACT.*
FROM [eGActiveDB].[dbo].[EGPL_CASEMGMT_ACTIVITY] ACT
WHERE ACT.ACTIVITY_MODE = 200 
  AND ACT.ACTIVITY_TYPE = 1 
  AND ACT.CASE_ID IN (
    SELECT CASE_ID
    FROM [eGActiveDB].[dbo].[EGPL_CASEMGMT_ACTIVITY] ACTin
    WHERE ACTin.ACTIVITY_SUB_TYPE = 13
  )
  AND ACT.ACTIVITY_SUB_TYPE <> 13;
 
-- Update activity data to "ready to send" status.
-- This allows the DX process to pick up the activities and push them into the DX_WORK table.
UPDATE [dbo].[EGPL_CASEMGMT_ACTIVITY]
SET 
    [ACTIVITY_STATUS] = 7000,           -- 7000 = ready for dispatch
    [ACTIVITY_SUB_STATUS] = 7100,       -- 7100 = initial state for dispatch
    [FOLDER_ID] = 6                     -- 6 = IN PROGRESS, 7 = COMPLETED
WHERE ACTIVITY_ID IN (123,456,789);     -- Replace with ACTIVITY_IDs from previous SELECT
 
-- List all activities in the DX_WORK table (i.e. activities currently in processing).
-- If INSTANCE_ID = -1, it's valid; correct ALIAS_ID is just for first attempt of dispatch.
SELECT [INSTANCE_ID],
       [ACTIVITY_ID],
       [EMAIL_ID],
       [RETRY_COUNT],
       [INSTANCE_DATE]
FROM [eGActiveDB].[dbo].[EGML_DX_WORK];
 
-- If the original receive alias was deleted (because you don't have this guide and tried to fix it ;) ), and you see errors in the DX logs saying 
-- "SMTP server not defined for alias" during resend attempts, you must reassign the ALIAS_ID.
-- Get old and new ALIAS_IDs from this table:
SELECT *
FROM [eGActiveDB].[dbo].[EGML_MAILHOST];
 
-- Update ALIAS_ID for affected emails.
UPDATE [dbo].[EGML_EMAIL]
SET [ALIAS_ID] = 1010                  -- Replace with new ALIAS_ID from previous SELECT
WHERE ACTIVITY_ID IN (123,456,789);    -- Use ACTIVITY_IDs from the first SELECT
  • vendors/cisco/uc/ece/undispatched-activities.txt
  • Last modified: 2025/07/31 12:06
  • by gerardorourke