Skip to main content

 

While working in a live project, there might be a requirement to close or change the status of existing issues in the MDM Administrator (MDA) interface in bulk or on ad-hoc basis automatically whenever certain criteria are met.

Some example scenarios when MDA issues require closure could be: 

  • Close a split proposal whenever matching attributes of instance records become the same
  • Close all issues with specific data quality criteria that is no longer relevant for client. Example – Company Established Date data quality checks are not required, and client wants to close issues raised for Company Established Date.
  • Close all resolved issues

 

To implement a solution to close issues, certain information is required:

 

  1. The database and tables where issue information is stored:

Key Issues details visible in MDA UI are stored in “dqit_issue” table in “it_db” default databases for MDA.

 

Note: Details of configured database can be found in the runtimeConfig file.

 

  1. Key fields in the dqit_issue database:

Column Name

Description

a_id

Primary Key of dqit_issue table

a_status

Stores the status of issue

a_assignee_name

Stores the steward info to whom task has been assigned

a_system

Stores system name issue record belongs to

a_entity

Stores entity name issue record belongs to

a_instance_id

Key which identifies issue record, populated while generating issue

a_label

Stores label of issue

a_problem

Description of issues

 

 

Snapshot of dqit_issue table from it_db database:

Snapshot of issues from MDA screen:

 

Below is the list of MDA issue status and their corresponding value stored in a_status:

Issue status in MDA

a_status value

For Resolution i.e., New / Open

1

Resolved

2

Closed

3

 

 

  1. The component responsible for closing tasks, and the parameters passed in component:

Close_mda_general.comp is supplied with CDI example and is widely used in closing issues. The same component can be used to close issues on an ad-hoc basis.

 

Close_mda_general component accepts parameters as below:

 

 

While closing issues explicitly, values for: issue_entity, issue_system, issue_instance_id, issue_assignee can be retrieved from the dqit_issue table and other values can be assigned as generic values.

Example Implemention

To close issues, a plan or component needs to be created. This will contain logic to list issues to be closed, the close_mda_general component, and the steps to assign values to parameters for this component.

 

In this example, issues with problem type ‘Issue with Established Date’ from ‘crm’ system will be closed. First, open issues with this problem description can be selected from dqit_issue table:

---SQL in “SQL Select DQIT” step

select

a_entity, a_system, a_instance_id, a_assignee_name

from dqit_issue where a_problem='Issue with Established Date' and a_status <> 3;

---

Note: issue_entity, issue_system, issue_instance_id, issue_assignee parameters values were retrieved in this step. As per requirement, issue selection criteria can be altered.

They were then joined with Party instance table records, retrieved from MDM Reader Step:

MDM Reader step configuration:

 

 

Join step configuration: Please notice the Left Key expression

Note: Left Key is following same logic using which a_instance_id was populated while generating issue. Join has been implemented between left key and issue_instance_id which has same value as a_instance_id. For optimal performance, implement search in MDM Read step to retrieve only applicable records.

In Column Assigner step, values for other parameters for were assigned

 

The result is then passed to the component to close the issues.

This plan can be wrapped in a workflow that is scheduled to run at a specific interval.

Notes: Issue Reader step is not supported for MDA issues. For more detail see: https://support.ataccama.com/home/docs/aip/latest/user-guides/mdm-web-application-user-guide/working-with-data-issues

A similar solution can be implemented for DQIT issues well

 

Be the first to reply!

Reply