In this Weblog, I will be discussing about how to call a MDM Java-API executable application from ABAP. Even though...
SAP has provided the MDM API for ABAP as a part of the 'MDM TECH 5.5' add-on, you can try another workaround way of connecting to MDM through the method described in the blog. The prerequisite for this scenario is you need to have a MDM Java application, which can run as a console application. Using the 'rfcexec' you can register the executable in the ABAP system by registering with a TCP/IP RFC destination (program-id).
Create an MDM Java application
You can create a simple MDM Java application that can connect to the MDM repository and accept command line arguments to update field value of a table in repository. After creating the application, compile and test your application using NetWeaver Developer Studio. Make an executable (.EXE) out of the .jar file from NWDS using any Java utilities.
Create RFC destination
Now you create a RFC destination of type "TCP/IP" with program-id like below:
Next step is to register this program-id with the Java executable using the 'rfcexec.exe' (you can find the 'rfcexec.exe in the executable directory of your SAP server.) You also need to copy the 'rfcexec.exe' file into the folder where your MDM Java executable resides and run the following command from your command prompt:
rfcexec -aMDM4A -g<SAP application server> -x<SAP gateway host>
Now you have registered the program-id with your executable (you can also test connection between the executable and RFC by doing a test connection in SM59.) The next step is to write a simple ABAP report that can call the executable (TestAPI.exe) and pass the values (MAT-02) for the command line argument like below:
Test - ABAP report
You can execute the program from SAP and the check the modified value in MDM Data Manager like below:
Values for the record in MDM before executing the report from ABAP
Updated values for the record in MDM after executing the report from ABAP
You will notice that the value for the name filed has been changed from "MAT00000004" to "MAT-02". Using this scenario, you can do mass updates of records by passing the business values from your SAP R/3 system.
This content is reposted from the SAP Developer Network.
Copyright 2006, SAP Developer Network
SAP Developer Network (SDN) is an active online community where ABAP, Java, .NET, and other cutting-edge technologies converge to form a resource and collaboration channel for SAP developers, consultants, integrators, and business analysts. SDN hosts a technical library, expert blogs, exclusive downloads and code samples, an extensive eLearning catalog, and active, moderated discussion forums. SDN membership is free.