On May 2, 2023, SAP MDG Solutions Architect and SAP community blog user Sruti Ranjan Nanda shared an article explaining how smartvm can be used for accurate validation within MDG. We’ve republished his article below.

Data remediation is a long and cumbersome process, and SAP Master Data Governance is a product responsible for primarily governing the master data by adding a set of processors utilizing the 4-eyes principle to maintain material, business partner, and financial data in SAP. Although data governance is of paramount importance, data quality in SAP also plays a very significant role. According to Gartner’s research, poor data quality costs organizations a great deal and impacts decision-making.

In this blog post, we’re going to see how data can be validated using apexanalytix’s smartvm tool in MDG and create a business partner, thus ensuring data quality.

What does apexanalytix’s smartvm do?

smartvm is a tool that references over 700 government, regulatory, and third-party data sources and databases to confirm the accuracy and validate address, tax, and bank data in master data. In addition, it also runs an OFAC validation to check if the business partner is on the US sanctioned list of denied parties to do business with.


Business Partners, Customers, and Suppliers in MDG can be General, Ship-To, Ordering At, etc. It, therefore, requires data like sales organization and/or purchase organization, company codes, etc. Aside from the financial and sales/purchase data, Business Partner also comprises tax and banking information, which tells us how the legal entity is going to be taxed based on the country where it does business. More details are here. To ensure the business partner being created is accurate, MDG deploys certain data quality checks, viz., data derivations and validations, through business rules.

To ensure the quality of the data is unmatched and accurate, we’re going to integrate smartvm with MDG, which will perform validations in real-time and on demand.

The following is an overview of smartvm validation:

  1. The data requester logs on the MDG UI for maintaining Business Partners.
  2. On the MDG UI, the requester inputs general data like name 1, name 2, etc., followed by address details, tax information, and bank information.
  3. Add necessary data for Purchase Org/Sales Org and/or Company Codes.
  4. A custom on-demand button is provided on the MDG UI to perform smartvm validations.

Let us dive in with the tech details now:

The idea is to enable users with a capability where they can perform smartvm validations on demand. In order to achieve this, a custom button, namely smartvm, is created adjacent to the standard SAP Check button.

apexanalytix smartvm provides an API documentation at https://api.smartvmapi.com/. For proprietary reasons, its payload cannot be posted here.

Using an MDG Change Request master class, CL_USMD_CR_MASTER, we will add a custom button on the MDG UI and name it smartvm. Below is the code snippet in the post-exit method GET_ACTIONS.

Next, if we want to control the visibility of the new button, below is the code snippet added to the post-exit method CHECK_ACTION_USAGE_SINGLE
Finally, we will handle the click of the smartvm button in the post-exit of PROCESS_EVENT method. Code snippet as below.

This completes the development of adding, controlling, and handling custom buttons on the MDG UI.

Now let us look at how the apex API is configured and validates the MDG data based on the user inputs.

With the help of SAP Process Orchestration, the payload of the smartvm API is configured in the middleware. Once this is done, the API is available in the SAP MDG system as an ABAP proxy.

Use the above proxy to fill the input parameters with the data from MDG UI.

Let us see a demo:

Data Requester opens MDG UI to submit a change request to create a supplier master.

The Data Requester inputs all the relevant data on MDG UI to create a Supplier Master.

In order to maintain the quality of the data, before submitting the Change Request, the Data Requester clicks on the newly added smartvm button to perform validations on Bank data, Address information, Name of the Supplier, etc.
The smartvm API will run validations and return the messages to MDG via the SAP PO system. These messages will be displayed in the message area in the MDG UI, as shown below.
Note: smartvm validation is not implemented using SAP MDG’s enrichment framework due to the fact that there’s no data enrichment involved on the UI, and secondly, the important factor is that it involves a cost on each click, especially if it includes validating bank data in the business partner records. Hence, this button is made available to only power users, who are advised to make use of this feature judiciously.

Disclaimer: I am not affiliated in any way with apexanalytix. Based on the data I have access to, I intend to provide as much helpful information as possible. The views and opinions expressed on my blog are mine alone and do not represent those of apexanalytix.

Ready to roar?

Fill out our contact form and we will be in touch shortly to discuss how we can help.