IBM Support

Purging suspect duplicate tasks for a list of parties in IBM Stewardship Center

Technical Blog Post


Abstract

Purging suspect duplicate tasks for a list of parties in IBM Stewardship Center

Body

Author: Pavan kumar Patil

Product: Infosphere Master Data Management.
Component: IBM Stewardship Center.
Version: 11.5.0

Other prerequisite software: IBM Business Process Manager 8.5.6 , IBM Process Designer 8.5.6, IBM Stewardship Center 11.5.0 installed and configured.

IBM Stewardship Center provides the ability to perform reactive data stewardship activities around Physical MDM. When a suspect gets created on MDM , a notification is being sent to BPM and a Suspected Duplicate task gets created on BPM Process portal for a data steward to act upon. ISC default implementation creates all SDP tasks for a single group called DataStewardGroup.

This document explains how to delete all those suspect tasks for a list of parties. This could be because those tasks are no longer valid that could have happened because of other collapses in MDM.

 

1. Open Physical MDM Suspected Duplicates process application in editable mode in IBM Process Designer or you can create a new process application and follow rest of steps.

2. In Process App create new epv  “PartyIdListEpv” .To do so   select Data - > Exposed Process Value

image

 

image

 

3.Now add Exposed Process Value Variable “partyIdList”

image

 

4. Create a new “General System Service” from Implementation option in the left side pane and name it “Delete Process Instance”.

5. Now go to variable tab click on “Link Epv” and select “PartyIdListEpv”

6. Now go to Diagram tab inside the service.

7. Create a new Server Script by dragging Server Script box from right side pane and name it as “Get all active SDP tasks and terminate which are mentioned in list”.

8. Inside the implementation section in properties tab add below code

   var processName = "Resolve Suspected Duplicate process";

   // Set Search condition.

   var partyIdStore = tw.epv.PartyIdListEPV.partyIdList + "";

   var partyIdArray = partyIdStore.split(",");

   var conProcessType = new TWSearchCondition();

   conProcessType.column = new TWSearchColumn();

   conProcessType.column.name = TWSearchColumn.ProcessColumns.Name;

   conProcessType.column.type = TWSearchColumn.Types.Process;

   conProcessType.operator = TWSearchCondition.Operations.Equals;

   conProcessType.value = processName;

 

   var conStatus = new TWSearchCondition();

   conStatus.column = new TWSearchColumn();

   conStatus.column.name = TWSearchColumn.ProcessInstanceColumns.Status;

   conStatus.column.type = TWSearchColumn.Types.ProcessInstance;

   conStatus.operator = TWSearchCondition.Operations.Equals;

   conStatus.value = "Active";

 

   var search = new TWSearch();

   search.conditions = new Array(conProcessType, conStatus);

   // Execute search and returns all active SDP process instances.

   var processInstances = search.executeForProcessInstances();

 

for (var j = 0; j < partyIdArray.length; j++) {
         for (var i = 0; i < processInstances.length; i++) {
               var instanceId = processInstances[i].businessData.get("partyId");
               if (instanceId === partyIdArray[j]) {

                   //terminate process instance whose party id matches
                   processInstances[i].abort();
                   break;
         }
}

image

 

9. Create a “Heritage Human Service” from User Interface option in left side pane.

10. Name it as “Delete Admin Service”.

11. Now go to variable tab click on “Link Epv” and select PartyIdListEpv”

12. Inside the overview tab, we need to set Exposed to as “All Users” and Exposed As will be “Administration Service”. Attach a nested service here to "Delete Process Instance" and connect to start and end points. Refer to below screenshots.

image

 

image

 

13. Save all.

14. If using Process Server version then a new snapshot is to be created from the Process designer and installed on Process Server for the Process Admin console to have new administrative service available for users. If using Process Center version , all the changes done are available at Tip version of snapshot.

15. To set list of party Ids , go to Process Admin console and expand “Admin Tools” option on the left side pane , click on “Manage EPV”. From snapshot  dropdown select Physical MDM Suspect Duplicate and  from name dropdown select “PartyListEpv”. Set a comma separated string to value for “partyIdList”. These are the party ids for which suspect tasks are checked and removed if present.

16. In the same Process Admin console , expand "Physical MDM Suspected Duplicates" option on left hand side pane and click on "Delete Admin Service" option. This step may take sometime based on number of tasks in the system. Once done it gives a message saying "The service has finished".

 

Note : This list of steps work for any version of IBM Stewardship Center post of 11.5.0.

 

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSWSR9","label":"IBM InfoSphere Master Data Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

UID

ibm11142014