Informatica MDM User Exit Tutorial

What is user exit:

i) A user exit is custom Java code that you develop that runs at specific points in the batch or Services Integration Framework (SIF) API processes to extend the functionality of MDM Hub. MDM Hub exits regular MDM Hub processing to run code that users develop

ii) MDM Hub supplies input parameter values when it calls a user exit.

Sample code:

public void processUserExit(UserExitContext userExitContext, String stagingTableName, String LandingTableName,

String previousLandingTableName) throws Exception {

//Entering the Post Landing User Exit“USER EXIT – POSTLANDING Process User Exit: ” + LandingTableName);

//Get the values from userExitContext Object

String rowidJob = userExitContext.getBatchJobRowid();

//Print some values to Cleanse/Process Server Logs“Rowid Job: ” + rowidJob);“LDG Table Name: ” + LandingTableName);“STG Table Name: ” + stagingTableName);“PRL Table Name: ” + previousLandingTableName);

//Get DB Connection from userExitContect Object

Connection conn = userExitContext.getDBConnection();

CallableStatement cs = null;

//Call mdm_custom_code.post_landing() Procedure

cs = conn.prepareCall(“begin MDM_CUSTOM_CODE.POST_LANDING (?,?,?,?,?,?); end;”);

cs.setString(“in_rowid_job”, rowidJob);

cs.setString(“in_ldg_table_name”, LandingTableName);

cs.setString(“in_stg_table_name”, stagingTableName);

cs.setString(“in_prl_table_name”, previousLandingTableName);


cs.registerOutParameter(“out_err_code”, java.sql.Types.INTEGER);




Get Free Informatica MDM Materials

Types of User Exits:

i) Stage process User Exits

Post-Landing ….delta not started yet

Pre-Stage  …delta calc is done


ii) Load process User Exits


iii) Match process User Exits



iv) Merge process User exits


v) Unmerge process User Exits



User Exit Usage:

i) Post-landing

Transform, refine, replace Ctrl Characters, or any Pre-cleansing.

ii) Pre-staging

Any kind of manipulation with the delta process like restricting delta to 10,000, audit delta in a table.

iii) Post-Staging

Mostly used for Reject processing like archiving or deleting rejects (for known logics).

iv) Post-load

Any customization after data is loaded into base objects like loading child or change consolidation indicator status from 1 to 4 for other tables.

v) Pre-Match

Any tasks like children tables manipulation like manipulate child tables.

vi) Post-Match

Manipulation of match queue.

vii) Post-merge

Use a post-merge user exit to match and merge child records affected by the match and merge of a parent record.

In next blog, you can move for how a business user can create and work with Data Director.

Enroll for Informatica MDM Training Course




Hey there! I shoot some hoops when I’m not drowned in the books, sitting by the side of brooks.