Showing posts with label management. Show all posts
Showing posts with label management. Show all posts

The Perception of Master Data Management - Part 3 : V V Narendra Kumar

Figure 1. MDM hub architecture



Hybrid style hubs utilize methods from both transaction/repository and registry style hubs, and try to address some of the issues present in each. Since it may not be practical to update existing applications or to send inefficient, massive queries across several databases, the hybrid system combines some of the advantages present in the other models by leaving master data on the native databases, generating keys and IDs to access this data, but replicating some of its important attributes to the hub. When queries are made, the hub can service the more common requests, and queries only need to be distributed for the less-used attributes, which results in a more efficient process. While the hybrid style combines advantages of both of its parent models, it has its own disadvantages. Since it stores replicated data from outlying databases, it may run into updating issues, and, like the transaction/repository style, deciding which attributes to store, naming to be used and format to store them in can create problems.



Conclusion

The heterogeneous (and proprietory) nature of MDM's components and modules makes training and prototyping the first priority for an IT shop that has just embarked on a MDM implementation. DBAs, System Administrators and Basis professionals should look very closely at MDM for opportunities to implement best practices learned on other application suites. Solution Architects, Developers and Data Modelers should attempt to apply and scale their existing SDLC discipline for design, development, documentation and production-support, to MDM.

Read more: http://www.articlesbase.com/databases-articles/the-perception-of-master-data-management-3830837.html#ixzz1ZuTjCzDz
Under Creative Commons License: Attribution No Derivatives

SRM and MDM Episode #1: SRM-MDM Catalog v2.0 is generally available! David Marchand

SRM and MDM Episode #1: SRM-MDM Catalog v2.0 is generally available! David Marchand


Hi all,

For the first episode of the inaugural "SRM and MDM" series, I like to share a good news: SRM-MDM Catalog v2.0 is made available today (actually on August 20th 2007) to all SAP customers (SRM, ERP) running procurement scenarios.

This means any customer who has the right license of SRM or ERP willing to upgrade to SRM-MDM Catalog v2.0 can do it today. The software is available for download on the SAP Service Marketplace: http://service.sap.com/swdc then browse to Download / Installations and Upgrades / Entry by Application Group / Installations and Upgrades / SAP Application Components / SAP SRM Catalog / SRM-MDM CATALOG / SRM-MDM CATALOG 2.0

Before you download the software, you may wish to learn what's new in it and which issues it could solve. But as the Zip file is 678 Mb big, I would suggest to launch the download process anyway and read the rest of this post in the meantime....

There are so many good reasons to adopt SRM-MDM Catalog v2.0 that I run the risk to turn this post into a boring marketing white paper. So I'll just focus on the top 10 reasons:

10- Robust Netweaver MDM Core: v2.0 SP1 relies on MDM 5.5 SP5, which has been proven to be robust and stable

9- Easy migration from v1.0 made possible by a built-in repository converter: check for more details on the dedicated Component Upgrade Guide located on http://service.sap.com/instguides / Installations and Upgrade Guides / SAP Business Suite Applications / SAP SRM / Using SAP SRM Server 6.0. By the way, at the same location, find a number of very interesting documents such as the functional documentation or the business scenario description.

8- Support of relationships between catalog items: Bill of Materials, Sales Kits, Substitutes and Related Items can be modeled now. This is an important step in the direction of direct material management and support of more advanced procurement processes. The concept is to bundle items together, either as parent - children (for BOM and kits) or as siblings (for substitutes and related items). The spectrum of different variants proposed covers the most important business use cases found in procurement scenarios.

7- End-User interface has been upgraded: not only to support the additional functionalities, but also to propose better usability in the search experience.

6- All in one screen: the initial page of the search engine user interface has been divided in 3 parts: Control panel with folders and keyword search / category browsing with a pick list / results with found items. The results of the search (ie: the list of items) are now displayed on the first screen. No need of an additional click now.

5- New Context display of search results: in addition to the traditional list of items in a form of a table, a new display is possible. Items are presented with an image on the left side and selected fields listed next to it.

4- More flexible configuration of the user interface: many changes to support more flexibility have been implemented. As an example, the Open Catalog Interface mapping can be configured per user now, as opposed to per repository in v1.0

3- Shopping Lists: Each user logging to the search engine can create, edit and share shopping lists. A shopping list is a static list of items which are purchased on a regular basis. Using shopping list avoids repetitive search for the items again and again. On a side note, shopping lists are stored in the MDM server as masks, so that a content manager may create them on behalf of the end-users.

2- Catalog Exploring mode for search purpose only: End-user has the possibility to search and browse the catalog but will not be able to order any items.

1- Roadmap of functionalities to be delivered soon: With the v2.0 SP2 planned for the end of the year (mid December), we will deliver a couple of additional functionalities that I am sure you will like a lot:
- Connectivity to electronic forms: it will be possible to call an external electronic form by clicking on an item in the catalog (using the OCI). For example, by clicking on the item "business card", an e-form to configure that business card will be called. Once the user has completed the requested input fields on the e-form, the necessary information are sent back to the SRM-MDM Catalog shopping cart preview.
- Web-based approval cockpit: most of the workflow functions enabled on the MDM Data Manager will be put on a light web-based user interface. Approvers and power-users will not need to have the MDM Data Manager installed on their desktop anymore. They will be able to make decisions (approve, reject) online, just by using their internet Browser.

There will be more again coming up on the SP2 and with SP3 later next year. We will have the opportunity to discuss with more details.

With that, I like to end this first episode of the "SRM and MDM" saga. As always, I like to receive your feedback and suggestions.

The SRM team wishes you a successful implementation of SRM-MDM Catalog v2.0. As we speak, there are 12 customers live with SRM-MDM Catalog. If we can count 20 by the end of the year, I will earn a full bonus. So thanks a lot for your support J

All the best

David.

David Marchand Solution Management for Procurement

How to use the test environment of the MDM Enrichment Controller Andreas Seifried

How to use the test environment of the MDM Enrichment Controller
Andreas Seifried

The MDM Enrichment Controller makes use of 3rd party or custom developed adapters to integrate information from external services into an MDM master data repository.

Through the administrative user interface of the controller, it is possible to test such adapters and their connectivity to the external service. This offers the advantage to

* Perform initial smoke tests of a recently installed 3rd party adapter based on standardized test data, which may be delivered by the provider.
* Test the adapter during development including and its communication with the controller and the external service without the actual need of having the complete MDM stack installed on the developer's workplace
* Manually test the availability of the external service in production without touching live data in the MDM repository

Besides this test environment, SAP additionally delivers a simulation environment that consists of

* An MDM repository containing example workflows and prepared configuration settings
* Sample adapters for testing and education
* Source code of the adapter implementations
* XML documents and schemas
* MDM import and syndication maps

You can use the simulation environment to study the complete request and response cycle form end to end, including the call to a Web service. Since the source code of the adapters is also included, you can use it for education or as a starting point for your own adapter development.

The remainder of this blog briefly explains how to setup the simulation environment and use the test environment with the contained adapters. It is assumed, that you already have deployed the MDM Enrichment Controller on the application server.

The complete procedure is described in the documentation on the SAP Help Portal at http://help.sap.com/saphelp_mdm550/helpdata/en/index.htm
-> MDM Enrichment Architecture
-> Configuring the MDM Enrichment Architecture
-> Setting up an Enrichment Simulation Environment.

Since the sample adapters and the respective Web service are deployed together with the MDM Enrichment Controller, there are basically only two things to do in order to use them in the test environment:

* Using the J2EE Visual Administrator, configure the Web service destination to point to the server where the MDM test Web service was deployed. This is typically the local server or "localhost".




































* Include the reference to the adapters in the configuration file of the MDM Enrichment Controller. Since this can only be done within a configuration section of a repository, it makes sense to use the values for the delivery example repository, even if you do not have MDM installed right now. In such a case just use arbitrary settings for the connection details to the MDM server, such as localhost for the host names as in the example below. (Note: Most of it can be copied out of the documentation.)

Destination service in visual admin

Both steps are described in the previously mentioned documentation.

Now you are ready to access the test environment via the admin UI of the MDM Enrichment Controller. See my other blog on the MDM Enrichment Controller Admin UI on how to open this.

MDM Enrichment Controller Admin UI

The link Test Enrichment Provider System brings you to the test environment, where you can now select out of the example adapters (AddressEnrichmentSimulator on the screenshot below) and select an XML file that is fed into the adapter. Together with the MDM Enrichment Controller, SAP ships a file named EC_Simulator.zip. In this file you find XML schemas and example files that are accepted by the example adapters. For instance, you need to feed the file AddressSimulatorOutSample.xml into the chosen adapter as shown in the screenshot.

MDM Enrichment Controller - Test Environment

Content of the sample XML:



13

Bob
Young


GBR
LONDON
23
Glendale Avenue



14

Bob
Young


ZZZ
LONDON
23
Glendale Avenue




After clicking on Test, you can download the XML response of the adapter.

Test result

Content of the response:



13

Bob
Young


GBR
LONDON
23
Glendale Avenue (simulator reply)
DEMO 99

true


14

Bob
Young


ZZZ
LONDON
23
Glendale Avenue

false
ZZZ Country not supported



As you see it is possible to perform this test without initiating the enrichment process from the MDM Data Manager and even without having actually the MDM Server installed. This makes the test environment very valuable during the development phase of an enrichment adapter.

SAP TechEd '07: Come see me speak!

If you are interested in more details about the MDM Enrichment Architecture: I will speak at SAP TechEd in Munich. You can attend there my session MDM350, which explains in detail how to develop and integrate an enrichment adapter.

Cheers,
Andreas

Andreas Seifried is a Product Manager for SAP NetWeaver Master Data Management.


How to use the test environment of the MDM Enrichment Controller
Andreas Seifried

Calculating Dates in MDM-Kristin Patterson

Calculating Dates in MDM
Kristin Patterson


Hi, MDM Users,

I have been asked many a times about the formulas used in the MDM Expression Editors. There are examples throughout the MDM Data Manager Guides but even with these it takes some interpretation to figure out what is happening behind the scenes. As there are millions of expressions, I decided to write an article using just Dates as this seems to be a common field used within MDM and the expression editor.

Calculating Dates in SAP NetWeaver MDM

Even though the examples in the article are related to Dates, the formulas can be applied to other fields. Also, these formulas are used in Calculated Fields, Assignments, and Validations. These being important components of the MDM Workflow.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b025fab3-b3e9-2910-d999-a27b7a075a16
I hope this leads you to the exploration of even more MDM formulas.

Kristin Patterson

Kristin Patterson is a member of the SAP NetWeaver Solution Office.

MDM to Mail: Exploit UDF Santhosh Kumar V


In this Blog(My first Blog :)) I will explain how to send mail with the content of the file getting displayed in the row column format. Even though there are some Blogs speaking about sending mail, the Blog eMail Reporting by Prakash Arunachalam explains of sending the mail with the data getting displayed in the row column format using XSLT mapping. However in this Blog I will exercise the same scenario using a User Defined Function.

Requirement:

In a landscape where XI integrating MDM and R3, the requirement is to send the materials that are created in the MDM in a mail to the Data Administrator who has to approve or reject the material. Sending mail can be done with the use of MDM workflow, however it will flood the inbox with these mails being sent for each and every material created. The other best solution for this is MDM will send a file every one-hour with the material details and XI has to send mails with those material details and the URL of the portal page to approve/reject. Even the same requirement can be from R3 where it sends the list of purchase order created in an IDoc, which should be sent as a mail. Let us start creating the scenario.

1. Import the XSD of the source structure and the Mail in the external definition.

You can download the mail structure from the following link

https://websmp205.sap-ag.de/~sapidb/012006153200000361852004E/ximail30_xsd.txt

2. Create Message Interface for the Source and the Mail.

3. Map the product details to the Mail XSD as shown.







































The above mapping enables to dynamically send mails as shown in the Blog Mail Adapter (XI) - how to implement dynamic mail address by Michal Krawczyk.













4. Concatenate and map the fields for the Subject.















5. Use the following UDF to generate the content of the mail.

public void Content_test(String[] ID,String[] No,String[] Desc,String[] Type,String[] product,String[] JobID,String[] WF_Status,String[] Form_Id,ResultList result,Container container) { String Val,temp; int j; Val = "Hi," + "\n" + "The Following Form " + Form_Id[0] + " is " + WF_Status[0] + "\n\n" + "Form Details:\n " ; Val = Val + "\n\n" + "MDM Id " + "Material Number " + "Description " + "Material Type"; for(int i =0;i
6. Map the filed to be displayed in the mail content to the Content_test UDF and map it to Content of the mail structure.































7. In the Directory Create Receiver Determination and Interface Determination between MDM Business System and MailServer.

8. Configure the File Sender CC,Receiver Mail CC and create the Sender Agreement and Receiver Agreement respectively.

[Hint:You can find the URL of mail server using Tcode SCOT->Double Clicking SMTP->Mail Host. remember to suffix it with smtp:// in CC]

We are now prepared to trial the scenario. Post the file in the Fileserver and the mail knocks the Inbox.

Source.XML

53 21 santhosh.vellingiri@wipro.com 12345 ABC bcd 001 Pending For Approval 54 21 santhosh.vellingiri@wipro.com 12345 ABC bcd 001 Pending For Approval 55 21 santhosh.vellingiri@wipro.com 12345 ABC bcd 001 Pending For Approval 56 21 santhosh.vellingiri@wipro.com 12345 ABC bcd 001 Pending For Approval 57 21 santhosh.vellingiri@wipro.com 12345 ABC bcd 001 Pending For Approval

Output Mail











































Santhosh Kumar V is a Netweaver XI/PI Consultant working with WIPRO Technologies.



SAP MDM Training
SAP MDM Training

Using MDM WEB UI for tracking changes with Oracle Faycal CHRAIBI

The MDM Change tracking feature allows you to monitor any modification made to your master data repository and get useful information regarding this alteration such as the old value, the person who made the change or the modification date.

Although the activation of this feature is made through the MDM console, you will need to deploy the MDM WEB UI (delivered as a portal content) in order to visualize these information.

Unlike other portal contents, the Change tracking UI queries the database in order to get the information. The MDM RKT documents contains an excellent how-to deploy and configure this webdynpro but it doesn't cover the Oracle implementation which requires a specific configuration for the JDBC connector.

Make sure you have the latest support package of MDM (MDM 5.5 SP05 at the time being, the SP06 will be soon released to public). You will also need an SAP Web Application Server with a Java stack.

If you want to use this within a portal iView, deploy the Portal software units on the J2EE engine (note 883948).

As a pre-requisite, download the Oracle JDBC driver from Oracle website. Note 867176 may help you choose the appropriate driver.

First of all, download the MDM WEB UI latest build from the SAP Marketplace Software Distribution Center. Navigate to Support Packages and Patches -> SAP NetWeaver -> SAP MDM -> SAP MDM 5.5 -> Portal Content -> OS Independent, download the .sca file and deploy it through SDM.

SDM

The next step will consist in configuring your JDBC connection.

Open Visual Administrator, navigate to Cluster -> Server ->Services -> JDBC Connector

JDBC Connector

Select drivers and click on the Create button.

JDBC Drivers

Name your driver (ex: Oracle_JDBC)

JDBC Name

Load the JDBC driver file you had downloaded

Load JDBC driver

You should then see your new driver in the list

Drivers list

Select then DataSources, create a new datasource.

Provide an application name (this one should be unique), create an alias for this datasource (it will be used later in the webdynpro configuration).

Datasource name

Fill the information according to your database settings.

Database settings

Click on the "Additional" tab and fill these information :

  • applicationName: this can be set to any name as long as it hasn't been used previously.

  • databaseName: this needs to be set to _Z000. In our case, the repository is called CATALOGRECETTE. You may find its name thanks to the following SQL query: SELECT table_name from all_tables where table_name LIKE ‘%Z000';

  • user: this should be set to the owner of your A2i_CM_History table (this where MDM stores the change tracking information). You may get the owner name through the SQL query: SELECT owner from all_tables where table_name = ‘A2i_CM_History';

  • password: this is your user's password for Oracle

  • portNumber: fill it according to your tnsnames or listener configuration.

  • serverName: refers to the host of the Oracle instance

  • url: this is the connection string that will be used by the JDBC driver to connect to Oracle. It is of form jdbc:oracle:thin:@::.

Additional properties

You may keep the default information for connection pooling.

Connection pooling

And select "Vendor SQL" for the SQL engine.

SQL Engine

Further information, on JDBC configuration, can be found on the SAP NetWeaver Library at the following address: http://help.sap.com/saphelp_nw70/helpdata/en/ab/082484173ae045ab8dad8a41d33da3/frameset.htm

Make sure you have enabled tracking changes in the MDM console (Repository -> Admin -> Change Tracking), and make few changes to your master data in order to have few entries in your A2i_CM_History table.

Enable change tracking

Access your webdynpro through http://:/webdynpro/dispatcher/sap.com/tc~mdm~changetracker/MdmChangeTracker&jdbcAlias=>

In our case the Alias was : CATALOGRECETTE.

You may refer to the MDM Tracking changes RKT (available under Enhanced Generic Capabilities) which provides information on how to use this webdynpro with SAP MDM Data Manager or within an iView.

Faycal CHRAIBI is a NetWeaver Technical Architect at SAP and has been dealing with SOA and Enterprise SOA for a few years. He is highly interested by end to end process integration, agility and efficient model driven architectures.




Using MDM WEB UI for tracking changes with Oracle
Faycal CHRAIBI

Strategic Data Services for SAP NetWeaver MDM Markus Ganser

Strategic Data Services for SAP NetWeaver MDM
Markus Ganser

On behalf of the SAP field services and SAP development teams involved with SAP NetWeaver Master Data Management (MDM) I'd like to announce the availability of SAP Strategic Data Services (SDS) for SAP NetWeaver MDM. This offering comprises complementary high-quality customer services all along the life cycle of an MDM implementation project. SDS is staffed with MDM architects and SAP experts from consulting and development.

End-to-end implementation acticvities include:

  • Data-quality analysis
  • Project scoping, planning and estimation
  • Master-data modeling and taxonomy creation
  • Implementation of business rules and matching strategies to enable data consolidation
  • Development and roll-out of data, data-process governance and methodologies
  • Services in data cleansing, validation, enrichment and classification, including certified third party data-quality services
  • Definition, design and configuration of MDM system architecture
  • Tuning and optimization of MDM performance
  • Custom API and SOA development services

If you are interested in SAP NetWeaver MDM or have already purchased it and like to move to the next steps, SDS could be a great opportunity to engage. The SDS front-office is staffed with MDM-experienced consultants from SAP field services, while the SDS back-office is part of the MDM development team. This combined approach makes SDS a service provider with vast and first hand experience with MDM and data issues. In addition, SDS enables you to directly engage with MDM-certified business information providers and data quality partners. The team is ready to help you make your MDM and data projects a sustained success.

See also the SDS overview graphic:

image

For detailed information, send an email to Ronen.Liper@SAP.com and Hermann.Reiter@sap.com.

Markus Ganser joins the product management team of SAP Master Data Management

MDM Java API 2 - Matching Example Lars Rueter SAP Employee

MDM Java API 2 - Matching Example
Lars Rueter SAP Employee

Description

You want to use the matching capabillities of the MDM Java API 2. The application presented here demonstrates how easy it is to select and execute matching strategies from your own applications using the MDM Java API 2. The included Java source code can be used as an example for further customer developments. Please use the link above to download the application and the source code.

NOTE: You need SAP NetWeaver MDM 5.5 SP05 for this application. SAP NetWeaver MDM 5.5 SP05 Patch 0 is available for customers and partners under the terms specified in SAP Note 1025897.

Disclaimer

SAP code or applications samples and tutorials are NOT FOR PRODUCTION USE unless specifically noted. You may not demonstrate, test, examine, evaluate or otherwise use them in a live operating environment or with data that has not been sufficiently backed up. You may not rent, lease, lend, or resell SAP code or application samples and tutorials.

Prerequisites

  • SAP NetWeaver 2004s
  • MDM Server 5.5 SP5
  • MDMJAVAAPI05_0.sca (MDM Java API, download from Service Marketplace)

Configuration

Only some basic steps are required to deploy and run the application:

  • Unarchive and mount the MDM repository Vendor_Matching_Example.a2a
  • Deploy MDMJAVAAPI05_0.sca (MDM Java API) with SDM
  • Deploy the Web Dynpro application sap.com~sap.mdm.matching.example.ear with SDM
  • Optional: Define additional matching rules and strategies.

The application can be configured to run with any MDM repository. Repository specific connection properties are defined in the Visual Administrator. The configuration entries Field_* have to match a main table field-code in your MDM repository. The entries Field_*_lbl are speaking names for these fields.

For example, your main table has a field with the field-code Name. If you want to use this field for matching set Field_1 to Name in the configuration. Also choose a display name for this field that will be shown above the input field in the Web Dynpro application. Set Field_1_lbl to Company Name.


image

Run the application

http://localhost:53000/webdynpro/dispatcher/sap.com/sap.mdm.matching.example/Test

For example, enter Vishay Siliconix in the name field, shelton in the City field and execute the strategy to find matching entries in the repository.


image

Lars Rueter is a Senior SAP NetWeaver RIG Consultant at SAP.

R/3-XI-MDM (Outbound Scenario) SUBBAIAH GORLA BALA

R/3-XI-MDM (Outbound Scenario)
SUBBAIAH GORLA BALA

This article will show you how to integrate SAP R/3 and Master Data Management (MDM) using PI in short framework. We will be discussing Outbound process i.e. Outbound to the SAP R/3
image
Figure Outbound to R/3

MDM Configuration Steps:
Step One-->Create Client System
Follow the same steps to create client system. Also we can use the same client system.
Step Two-->Create Port for Client System
Follow the same steps to create inbound port.
The Port Name is SIEBEL_IB_CUS_SIEBELCUS01, Code SIEBEL_IB_CUS_SIEBELCUS01, and Type as Inbound. See the figures below.
image
Figure Port for Inbound

MDM Server Side Configuration
In the SAP MDM Server, Look at the server folder structure for the Inbound folder which we have created in the MDM Console.
image
Figure MDM Server Folder

FTP Server Side Configuration
Step Three-->FTP Server Configuration
Configure/Specify the file folder path for pulling the file in FTP Server. This is screen refers the FTP server configuration (WS_FTP server)
image
Figure FTP Server

SAP XI / PI Side Configuration
Step Four --> SAP PI Receiver Communication Channel
image
Figure Receiver CC

Outbound Process Flow:
image
Figure Outbound Process Flow

>>>Here, I will be discussing Outbound process, the above figure shows the entire process
Process step in R/3
In this IDoc triggers to outbound port.
Process step in PI
The IDoc Communication Channel picks up in the PI System and starts the PI Process. In the PI, transformation and conversion happens and sends to the File Adaptor. The file adaptor pushes the file to the specified path in MDM server folder.
Process step in MDM
The Import Manager picks up the file which the file placed in server folder and imports the file to MDM repository main table.

I hope this blog will be useful for real time while integrating the same.


Integrating MDM Item-Details-iView into a WebDynpro Application Steffen Ulmer

Integrating MDM Item-Details-iView into a WebDynpro Application
Steffen Ulmer

You want to access the MDM ItemDetails iView directly without the MDM Search capabilities?
Or do you want to write your own MDM-WebDynpro iView and want to use the existing ItemDetails iView within this WebDynpro?

If so you should read this weblog.
The referred article will show you how to integrate the SAP MDM 5.5 Business Package- iView functionality into a SAP WebDynpro. With SAP MDM 5.5 SP4 there is a very good possibility to position the ItemDetails IView on a WebDynpro View via the iFrames-UI element. The result is that you have the capacity to use existing and configurable iView within your self-programmed WebDynpro application. This procedure will save you a lot of costs and time during the implementation phase. The integration of the HTMLB-based IView and the WebDynpro based outer-View is transparent and the user will feel like it is only one application.

Please open this article: Integrating MDM Item-Details-iView into a WebDynpro Application

Steffen Ulmer is a SAP NetWeaver Technology Consultant.

Contextual overview of SAP NetWeaver MDM Markus Ganser SAP Employee

Contextual overview of SAP NetWeaver MDM
Markus Ganser SAP Employee

URL: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e0476a3d-557f-2910-169d-9e3608d3bcdf

Subscribe.Subscribe
Print. Print
Permalink Permalink
SDN features a new article on SAP NetWeaver Master Data Management (MDM) emphasizing the business strategy and business implications involved.

So, this rather non-technical article sheds light on the overall business strategy followed when implementing MDM, it gives clear insight into the scenario approach, verticalization and extensibility of the product, and finally stresses the importance of MDM as a pillar for companies seeking to operate on the basis of an enterprise service-oriented architecture.

Check it out by clicking the URL above, it's also worthwile reading for techies.

Best wishes,

Markus

Markus Ganser joins the product management team of SAP Master Data Management

SAP MDM - One bite at a time Dattatreya Kulkarni

SAP MDM - One bite at a time
Dattatreya Kulkarni



SAP MDM: One bite at a time!

“We have a very complex way of managing master data that is spread over multiple systems. We have developed this solution long back and it has evolved over years. When we implemented it first, we did want to establish data governance models and the associated processes, in addition to making the IT solution available. However, reasons – good or bad, made us postpone this for future since the implementation deadline was around the corner and we did not want the business to wait. We have been growing rapidly over last 7 years and have acquired 3 companies in the process. Most of our energy & resources have been spent on integrating the new companies with us. We never got the time to go back to the pending matter of data governance model. Today there are many users who can create and change data as per their priority in their system. We have no control on who is changing what and we are not sure where and how to correct it”

These are the words of some customers, who want to implement a complete master data management solution but are unable to visualize how they would manage to do that while keeping the business running in the given scenario.

While we all know that SAP MDM allows an incremental approach in terms of implementing the IT scenarios, it is also useful to know that one can break this up further and choose to start off with just one master data object. For example, one can choose to focus only on material/product master and follow the incremental approach from content consolidation to central master data management. Further, one can choose to go Business Unit (BU) wise & so on.

By staying focused on one master data object,

a. You can manage the data owners (especially when you are a global company) better

b.You can manage the change associated with the new solution effectively

c.You can implement the new processes/practices in a smaller group more easily

d.You can plan to spend the required time and resources to establish the data governance model, even while keeping the overall project timeline and cost under control (as against a large big bang, all-objects-together approach)

e.You can leverage on the success of this object to get a faster buy in from other data owners and senior management

f.You can make project management a less complex matter & rather focus on the solution

g.You lower the risk (of failure) associated with the initiative

The question to be answered next: “which master data object to start with?” I can think of two options.

Option one, is to choose an object that is the least complex has lowest volumes and is the least spread across many IT systems. The chances that you complete a project initiative around this object fast and smooth are high. You could then leverage this success to get the required resources to take up others. The flip side of this is that you will may find it difficult to make a business case for investing in this initiative, since benefits gets postponed.

Option two, is to take up an object that poses immediate & critical challenges to your business (irrespective of the complexities involved around that object). This approach will help you deliver tangible business benefits quicker. Also, the chances that you get excellent support from business are high since they have high stakes in the project, owing its potential of creating an immediate-n-positive impact!

An approach that works at one company may not work at other. This has to be arrived at after deliberations within the company under the guidance of an experienced external partner. SAP MDM enables you to adopt this approach with its flexibility as you can choose to go object by object and focus on one repository at a time (from design to Go Live). The ease with which you can integrate it in your IT landscape makes the case stronger. In SAP MDM lies a workable solution to address the concerns like the one that I shared at the beginning of this note. Hence, you take a bite at a time; chew what you bit before taking the next bite, using SAP MDM.

I wanted to bring up this thought since many large companies do face this challenge. However, it does not mean that a company can not adopt a big bang approach using SAP MDM. If business and IT are committed to make it successful and if the business scale and market environment allows adoption of a big bang approach, it will work & will have its own benefits.

Dattatreya Kulkarni is the head of SAP Logistics and Supply Chain Management Practice in Wipro Technologies.


Testing and Monitoring an Interface Between MDM & XI Harrison Holland

Testing and Monitoring an Interface Between MDM & XI
Harrison Holland


1. MDM

First we'll start with the syndication process in MDM, and making sure our settings are correct.

1.1 Check Configuration


1.1.1 Client-Side Settings
  • Open the MDM Console
  • Navigate to Ports in the repository to which your map is located.
    image
  • Verify that you have selected the correct map (built in Part I)
  • Select your processing mode as Automatic
    image
  • Open the MDM Syndicator (Select the repository and press OK)
  • Select File->Open
  • Select the remote system representing ECC
  • Select your map and press OK
  • Select the Map Properties tab
    image
  • Check Suppress Unchanged Records so we automatically update only changed records.
  • Close and save your map
    image
1.1.2 Server-Side Settings
  • Open your mdss.ini file on the MDM server
  • Verify that Auto Syndication Task Enabled=True
  • For testing purposes, change the Auto Syndication Task Delay (seconds) to something rather small, such as 30 or less. This way you don't have to wait a long time for syndication when testing.
    image
  • Verify that the service is started.
  • UNIX systems: ps -ef | grep mdss
  • WINDOWS systems: open services, and look for entry regarding syndication server
  • If service is not running, run command ./mdss (UNIX) or rightclick->start service (WINDOWS)
    image

1.2 Important Locations

I'd like to go over some of the important locations (directories) on your server that will come in handy when troubleshooting and testing. One of the trickiest parts of working with MDM is figuring out where things go and where to look. Because it's so different from the SAP software that we are all used to, navigating the system is not as easy as running a transaction code. Also, MDM reacts to certain situations differently that you may expect, so it's important to know where to look when things aren't working properly. I'm working with MDM installed on HP-UX, however I will try to address each topic as it would appear in Windows to the best of my knowledge.

1.2.1 Home

Log onto your MDM server and navigate to the home directory for the MDM application server. On the server I am working with (sandbox) it happens to be located on the opt filesystem, and the path looks like /opt/MDM. In this directory take note of several important directories:

    /opt/MDM/Distributions
    /opt/MDM/Logs
    /opt/MDM/bin

The Distributions folder is very important because this is where the port directories get created. When you create a port in the MDM Console for a particular repository, it creates a subset of folders in the Distributions directory based on which repository the port was created in, and whether the port is inbound or outbound. For example, in our particular scenario we may navigate to the path /opt/MDM/Distributions/install_specific_directory/Material/Outbound/. Here we will notice a folder entitled ECC which (if you followed the fist part of this series) corresponds to the port that we created earlier. This directory was created as soon as the port was created in the MDM Console. We will focus more on the contents of our port directory shortly.

The Logs folder contains several important log files, however most of them will not apply to our particular scenario, because the logs that we will want to look at are going to be specific to the syndication process, and are located within the port directory. Neverless, I thought it was important to mention that in certain troubleshooting scenarios, don't forget that these log files also exist.

The Bin directory is critical because that is where the files that start the app servers are located. The programs mds, mdss, and mdis are critical files.

1.2.2 Port

Your port directory is going to have the following format:
/MDM_HOME_DIRECTORY/Distributions/MDM_NAME/REPOSITORY/Outbound/REMOTE_SYSTEM/CODE/

For example the we created looks like this:
/opt/MDM/SID.WORLD_ORCL/Material/Outbound/ECC/Out_ECC/

Here you should see the following directories:

    /Archive
    /Exception
    /Log
    /Ready
    /Status


The Archive directory is not as important during the process of syndication as it is with the process of importing data into MDM. This directory contains the processed data. For example, if you were to import an XML document containing material master data, a message would get placed in the archive directory for reference later if you ever needed to check.

The Exception directory is very important because often times when an error occurs you can find a file has been generated in the Exceptions folder that should look similar to that file that either the import server or the syndication server are attempting to import or syndicate. In other words, lets say you were attempting to import an XML document that contained material master data, but the map that was built in MDM has a logic error, the document will instead get passed to the Exceptions folder and the status of the port will be changed in the MDM Console program to "blocked".

The Log directory is important for the obvious reason. Logs are created each time the syndication server runs. So if your interval is 30 seconds, then a log will be generated in this folder every 30 seconds. It will give you the details of the syndication process which ultimately can be critical in the troubleshooting process.

The Ready folder is the most important folder in our scenario. When the Syndication Server polls during it's interval and performs the syndication, the generated XML message will appear in the Ready folder. So in the case of our scenario, we are going to have material master data exported to this directory and ultimately Exchange Infraustructure is going to pick up the data and process it to ECC.

The Status directory contains XML files that hold certain information pertaining to the import / export of data. This information includes processing codes and timestamps.

1.3 Testing

Now are going to test out our scenario and make sure that the export of materials works correctly. First things first, we need to create a new material in the MDM Data Manager. Make sure that your MDM syndication server is turned on! Remember on UNIX we can start it by running ./mdss in the /bin directory, and on Windows by simply starting the service.

1.3.1 MDM Data Manager
  • Start MDM Data Manager
  • Connect to Material repository.
    image
  • Add a new material by "right-click".
    image
  • Fill in required fields to satisfy the map built in Part I.
    image
  • Verify the new product is saved by clicking elsewhere in the Records screen, and then back to the new Material.
    image


1.3.2 Check Syndication

We are now going go verify that the syndication process is taking place as it should based on the settings in your mdss.ini file. If you have set the MDM Syndication Server to perform the syndication process every 30 seconds, as I set it for testing purposes, then by the time you log into your server the syndication should have already occured. Lets check by logging onto the server and navigating to the Ready folder in our Port directory.

/opt/MDMSID.WORLD_ORCL/Material/Outbound/ECC/Out_ECC/

If all went as planned your Ready folder may look something like this:

image

Those files are XML files that contain the data for each material in your repository that has changed. In this case the only materials in my repository are the two that I just added, so the MDM Syndication Server updated the Ready folder with both new materials. Now they are waiting for XI to pick them up and process them. Before we move over to the XI part lets take a look at one of these files and verify that the data in them is correct. Keep in mind that if you have already configured XI to pick up the files from this directory and process them, it's possible you won't see them here because they have already been deleted by XI (based on the settings in your communication channel).

1.3.3 Verify Data

Lets go ahead and open one of these files. I copied the file from the server to my local Windows running computer to examine the file, but of course you can read the file straight from the server if you prefer. If your mapping was done similar to mine, your file should look like a MATMAS05 IDoc in XML structure. This is to make it easier for XI to process since we can export in this format from MDM without much difficulty.
image

2. Exchange Infrastructure

Now we'll take a look at the second half of this scenario and test out our XI interface.

2.1 Check Configuration

The only configuration we are going to check is the outbound communication channel. This is what tells Exchange Infrastructure where to pick up what file (location, filename) and do what after it's processed by the inbound communication channel (processing mode, ie: delete).

  • Start your Integration Directory (Integration Builder: Configuration).
  • Navigate to your outbound communication channel.
  • Examine your File Access Parameters.
    image

In my case, because this is a test scenario, I have a bash script picking up the file from the port directory and dropping it onto a drive that all of the SAP systems have access to; this being the /depot filesystem. As you can see I made a temporary folder on that filesystem for the files for this interface to be stored while waiting to be processed. Of course, the simplest way to do this would be to mount the Port directory from your MDM machine to your XI machine. Next take a look at your Processing Parameters and change the settings accordingly. For this particular scenario I have set the poll interval to 5 seconds for testing purposes. Also, notice that I am using delete as the processing parameter. This is so that I can verify that the file was processed, and so the folder doesn't get cluttered up with files.

image

If everything is the way you want it, lets go ahead and take a look at some important locations that will come in handy for testing and debugging the interface.

2.2 Important Locations

2.2.1 Integration Repository - Map Testing

Start the Integration Repository (Integration Builder: Design) and navigate to the map that we built in Part II. Select the Test tab.

image

To test our map, we can actually use the XML document that MDM generated via the Syndication Server. Lets go ahead and try this.

  • Press the "Load Test Instance" button.
    image
  • Select the XML file MDM generated.
    image
  • Press the "Start Transformation" button.
    image

If everything went smooth then you should see a pop up screen that says "Executed successfully". Otherwise you will recieve an error to which you can begin your debugging process.

image

2.2.2 Runtime Workbench - Component Monitoring

The runtime workbench is one of the most powerful and useful features of Exchange Infrastructure. Here we can get very detailed descriptions of errors that may occur with each component of XI. The component that we will want to pay particular attention to is the Adapter Engine.
  • Log into your runtime workbench and select Component Monitoring -> Display.
    image
  • Click the Adapter Engine link.
    image

Here you can view the status of the adapter. If there is an error in your configuration of a particular adapter it will show up here.

image

2.2.3 Runtime Workbench - Message Monitoring

Follow a similar procedure to display that Message Monitoring.

image

  • Select your time filter, in this case I will select the last hour.
  • Press Start.
    image

You can now see the list of messages that have been processed by the Adapter Engine over the last hour. On my system only one message has been processed in the last hour. You can press either Details or Versions to view more information about any particular message that was processed.

image
2.2.4 Integration Engine - Monitoring

This is a particularly useful component of Exchange Infrastructure that allows us to view various aspects of the messages that get processed. Lets start by logging into the XI system and taking a look.

  • Run transaction SXMB_MONI.
    image
  • Double-click Monitor for Processed XML Messages.
  • Press F8 or the Execute button.
    image
  • Select a message and press Display.
    image

You may notice that I have selected a message that coantains an error and did not actually reach it's destination. In Call Adapter -> SOAP Header take a look at Error. If you double click that button a screen will appear on the right hand side that shows the details of the error.

image

This error tells us that something is wrong with the IDoc Adapter. It tells us that transaction IDX1 contains errors, but in this case the error is actually in the configuration of our communication channel, in which we have made reference to the wrong Port. If you select Call Adapter -> Payloads you can see the content of the XML message that came from MDM.

image

If you go back to SXMB_MONI you may want to also take a look at the Processing Statistics program that will show a good overview which can be helpful when testing your interface with thousands of materials.

image

3. Testing

Now we're going to go ahead and test out the interface from end to end. I'm assuming that by now you have turned on the MDM Syndication Server and your XI interface is activated in the Integration Directory. Lets log into the MDM Data Manager and create a new material for testing purposes.

  • Right click -> Add
    image
  • Enter enough data to satisfy your interface requirements (ie: which fields must be populated?)
    image
  • Click on another material to save changes
  • Close the MDM Data Manager
  • Turn on your MDM Syndication Server (if it's not already turned on)
If your Syndication Server settings have been configured correctly then we can assume that because you added a new material to the data manager, it will now syndicate as soon as your interval cycles through (set in the mdss.ini file on your server). Lets go ahead and move over to the Exchange Infrastructure Runtime Workbench to see if it has processed our message. Keep in mind, depending on your interval time it may take a few minutes. Hopefully you should see something like this:

image

If the runtime workbench shows the message transferred successfully then lets log ino ECC and see if the IDoc was posted.
  • Log into ECC system
  • Run transaction WE02
    image
  • Press F8
  • In the left hand pane, select Inbound IDocs -> MATMAS
    image
  • In the right hand pane, select the IDoc that just transferred and double click on it
  • In the IDoc display, on the left hand side expand E1MARAM and select E1MAKTM
    image
  • Verify that the material data is correct
    image
  • Expand Status Records -> 53 and double click the only record available
    image
  • In the pop up window, copy the message number that was issued to the IDoc
  • Press Proceed
  • Paste the message number that you copied
    image
  • Press F8
    image

You may notice that my image says material 11696 created. This is because a modification was made to an ABAP program to create a material when an IDoc is processed with a certain code. In this blog, the ABAP modification is out of scope, but I'm assuming if you are familiar with ALE then this process should be familiar as well. In any case, this is not a permanent solution, just a temporary solution to finish our prototype. If we take that newly generated material number and run transaction MM02 we should be able to pull up the details on that material.

image

Press Select Views and select Basic Data and continue.

image

Hopefully if all went as planned, the material should have transferred smoothly, with no loss in data. This concludes the three part series on MDM and XI. Thanks for reading, hopefully it helps!

Harrison Holland is a systems integration and basis specialist.