VERIFIED SOLUTION i

Task monitor is not showing all operations in Portrait Dialogue.


 

Issue

Task monitor in Portrait Dialog is not showing all type of operations but only showing few categories (for example 'Running' or 'Completed' etc) operations.

Cause

In the SQL definition of the Task Monitor, the 'WHERE' clause is limiting the number of rows getting displayed.
SELECT task_id
      ,DOETA_CREATED_DATETIME
      ,DOETA_START_DATETIME
      ,DOETA_COMPLETED_DATETIME
      ,DOETA_IS_COMPLETED
      ,DOETA_INIT_ERROR_DATETIME
      ,doeta_user_name
      ,{CAST process_state integer} as process_state
      ,server
      ,DOETA_DO_ID
      ,DOETA_EXECUTION_MODE
      ,{CAST DOETA_PRIORITY integer} as DOETA_PRIORITY
      ,aborted
      ,DOETA_INIT_ERROR_MSG
      ,{CAST DOETA_INIT_ERROR_COUNT integer} as DOETA_INIT_ERROR_COUNT
      ,{CAST DOETA_CHUNK_SIZE integer} as DOETA_CHUNK_SIZE
      ,{CAST DOETA_MAX_PART_COUNT integer} as DOETA_MAX_PART_COUNT
      ,{CAST DOETA_THREAD_COUNT integer} as DOETA_THREAD_COUNT
      ,{CAST system_event_count integer} as system_event_count
      ,object_description      
      ,{CAST dol_process_time float} as dol_process_time
FROM (
  SELECT 'D-' {STR_CONCAT} {CAST DOETA_ID string 10} as task_id
      ,DOETA_CREATED_DATETIME
      ,DOETA_START_DATETIME
      ,DOETA_COMPLETED_DATETIME
      ,DOETA_IS_COMPLETED
      ,DOETA_INIT_ERROR_DATETIME
      ,{ISNULL sui_display_name doeta_user_name} as doeta_user_name
      ,NULL as process_state
      ,NULL as server
      ,DOETA_DO_ID
      ,DOETA_EXECUTION_MODE
      ,DOETA_PRIORITY
      ,NULL as aborted
      ,DOETA_INIT_ERROR_MSG
      ,DOETA_INIT_ERROR_COUNT
      ,DOETA_CHUNK_SIZE
      ,DOETA_MAX_PART_COUNT
      ,DOETA_THREAD_COUNT
      ,(SELECT count(DOETE_SE_ID) FROM DLG_OPR_EXECUTION_TASK_EVENT WHERE DOETE_DOETA_ID = DOETA_ID) as system_event_count
      ,dlg_name {STR_CONCAT} ' / '  {STR_CONCAT} do_name as object_description      
      ,dol_process_time
    FROM DLG_OPR_EXECUTION_TASK {MSSQL_NOLOCK}
    join dlg_operation on do_id = doeta_do_id
    join dlg_group on dg_id = do_from_dg_id
    join dialogue on dg_dlg_id = dlg_id
    left join system_user_info on (doeta_user_name = sui_user_name)    
    left join dlg_operation_log {MSSQL_NOLOCK} on (doeta_dol_id = dol_id)
  UNION
  SELECT 'B-' {STR_CONCAT} {CAST STA_ID string 10} task_id
      ,STA_REG_DATETIME as DOETA_CREATED_DATETIME
      ,STA_START_DATETIME as DOETA_START_DATETIME
      ,STA_COMPLETED_DATETIME as DOETA_COMPLETED_DATETIME
      ,NULL as DOETA_IS_COMPLETED
      ,STA_ERROR_DATETIME as DOETA_INIT_ERROR_DATETIME
      ,{ISNULL sui_display_name sta_user_name} as doeta_user_name
      ,STA_PROCESS_STATE as process_state
      ,STA_PROCESSING_MACHINE as server
      ,STA_OBJECT_ID as DOETA_DO_ID
      ,STA_METHOD_NAME as DOETA_EXECUTION_MODE
      ,null as DOETA_PRIORITY
      ,STA_IS_ABORTED as aborted
      ,STA_ERROR_MSG as DOETA_INIT_ERROR_MSG
      ,null as DOETA_INIT_ERROR_COUNT
      ,null as DOETA_CHUNK_SIZE
      ,null as DOETA_MAX_PART_COUNT
      ,null as DOETA_THREAD_COUNT
      ,null as system_event_count
      ,so.so_object_name as object_description      
      ,NULL as dol_process_time
    FROM SYSTEM_TASK {MSSQL_NOLOCK}
    LEFT OUTER JOIN system_object so ON sta_so_id = so_id
    left outer join system_user_info on (STA_USER_NAME = sui_user_name)
) task_union_select
WHERE {ORACLE_ROWNUM 200}
order by DOETA_CREATED_DATETIME desc

 

Resolution

UPDATED: July 26, 2018
Removing the above highlighted 'WHERE' clause from the SQL Definition will resolve the situation as it will show all the operation without any filter. By default, it displays
200 rows only.

Following are the steps to remove the 'WHERE' clause from the SQL definition.
  • Navigate to Dialog Admin > Database Instances > Resources > MHInternalMoneypenny (If 'MHInternalMoneypenny' is not visible under 'Resources', then open 'Dialog Admin' > View > check 'System Data'.)
  • Open 'MHAdmTaskProvider' and remove 'WHERE {ORACLE_ROWNUM 200}' from the SQL definition.