This Blog explains how MDM – PI adapters works ,in 2007 I worked on MDM(5.5 SP04) and Data base integration using SAP XI, at that time there was no MDM-PI adapter, I have used File adapter to place the files in to FTP server, then MDM Import Server imported data from FTP and updated in to MDM Tables.
In reverse case MDM Syndicator syndicated XML files in to FTP, from there using File adapter picked up the data and processed to target system.
But now if you are working on MDM 7.1 integration with any other system using SAP PI (7.0 and 7.1), you don’t require File adapter, directly you can interact with MDM using MDM –PI Adapter.
Prerequisites:
SAP Net Weaver MDM 7.1
PI 7.0 (SP 15 and higher)
PI 7.1 (SP 07and higher) or PI 7.11 (SP01 and higher)
I am not going to explain how to configure MDM-PI adapter in PI point of view, it is pretty much simple.
Refer below help.sap.com link, which explains everything about MDM adapter configuration and deployment process and everything.
http://help.sap.com/saphelp_nwmdm71/helpdata/en/48/956cd09521062de10000000a42189d/frameset.htm
MDM PI adapter uses MDM Java API ports functionality to receive/send messages to MDM and it supports only asynchronous communication (QOS: EO and EOIO).
1) Whenever you send data to MDM system using MDM PI adapter, it will not directly update data in MDM tables, first it will send data to MDM ready folder, then it will call MDM Master data import server (MDIS), MDIS looks at this file and run the import map for it, this Import map is responsible to import the file in MDM Tables.
2) In this process data will be updated in to MDM Tables, once the import process is completed successfully, MDIS sends back an acknowledgment to MDM adapter saying that the import is successful, if there is any error, it tells that to MDM Adapter and you will see it in Communication channel monitoring of PI.
3) MDMimports the message independently using the MDM Import Server (MDIS). Once the import is completed, a processed import event is triggered.
4) The MDM PI Adapter captures the processed import event and updates the PI monitoring system with the message import status.
5) When the incoming message is marked with a request for an application ACK (acknowledgement), an acknowledgement message is sent back to the sender system (for example, when the incoming message is an IDoc.
6) When you use MDM PI adapter in sender mode to send data to PI, The data is available as an XML file(s) in the corresponding port folder.
7) The MDM PI Adapter captures the syndication processed event and retrieves the data by using the functionality of the MDM Java API ports; in this process a syndication processed event is triggered.
MDM Error Handling:
1) Suppose MDM PI adapter delivered data to Ready folder, but data not updated in to MDM tables, in this case as a PI consultant point of view our job done, but MDM point of view to there is a some problem with import sever configuration, to identify this MDM Consultant have to look in to import server configuration file MDIS.in.
2) There is a file in "Ready" folder and waiting to be picked by MDIS and imported in MDM. if the port stays in this status for long time (generally more than 1-2 mins), it means MDIS is not picking the file and there is some issue in MDIS server. Ask MDM basis to look into this.
3)If it says "Blocked", this means MDIS tried to pick the file and run the import process but the XML schema of the incoming file (which you sent from PI) does not match the XML schema of the Import map. In this case you need to either process this file manually (via Import Manager) or delete this file and send correct file from PI.
MDM-PI adapter Advantages:
1) Message flow between PI and MDM can be monitored end to end (messages have been received and properly updated into MDM).
2) Error handling is improved because the communication channel is PI is pointing to one specific Repository port,
3) Restarting of messages if a service in unavailable in possible.
4) MDM Adapter can be used instead of the File adapter.
5) Higher reliability of data transfer.
6) Handles huge data.