image Do we really understand what ESA is all about, the reason this question came to my mind was that I have heard different people giving different definitions to ESA / SOA. Some say its all about abstracting your technical implementations, some say its all about inter-operability, some say its all about using some set of standards over internet. What I have observed that is this definition changes with the role that person is playing. Now, if we closely look at these definitions each of them are right in their own context. Irrespective of what one might define ESA as, its bound to give us the following benefits. 1. Ease of use of the business application, there by increasing the user productivity. 2. New business process can be easily integrated with the new ones. 3. Reduce the human errors there by the costs. Now, if we leave the benefits apart, the first question that comes to most of us is, how do I identify if there is ESA oppurtunity in my landscape. If yes, how do I identify the same. On the contrary to ESA, the questions that might arise, do I really need ESA. I am able to automate my business process using XI (XI is used for the integrating business applications). So, what is the need for the ESA in my case. Let us take at each of these a little in detail.

Is ESA a necessity?

First let's look at the need for ESA. This question might arise especially in a smaller landscapes where there are limited number of systems and business processes. Data integration happens via XI the landscape has a portal for users to access the applications. Everything is running fine. So, in this case taking steps towards ESA might not make sense, isn't it? However, what about the future? As an organization what are your growth plans, are you planning to grow organically or inorganicall ( Acquistions)? I am sure every organization would be looking for different ways to grow. So, what if you are expanding your business to a different country / continent? Or, to get a head start what if your CEO decides to take over an existing company in a different country. So, when this happens, how do you expand your business applicaion to get the new processes automated (Business expanding) or how do you integrate with already existing applications ( Company Takeover). These things become even more difficult if the new company was operating on a different platform. So, to conclude, no matter how your landscape might look like, I am sure there will be oppurtunites and reasons to go the ESA way. In my view its a matter of time before organizations get there. So, we will all get there sooner or later.

Where to implement to ESA in my landscape?

So, the now the questions comes, how do I identify the opprunities in my business processes for making them ESA enabled. As most of you would have seen the ESA adoption program by SAP you would have seen different stages in ESA adoptions. The stages are something like DISCOVERY EVALUATION IMPLEMENTATION OPERATIONS. DISCOVERY is the phase where you look for the Enterprise Services that can help you improve you business processes. If any of the following things happen in your business process, I am sure there will be an oppurtunity for ESA to help. 1. If the data required by the user is coming from multiple disparate systems. In this case the user is required to login to multiple systems, fetch and analyze the data and then make a decision. An Enterprise service which can communication with all these system can definitely help you in this case. 2. Your business process cuts across multple business systems in your landscape. 3. Your business is spread out in various locations of the world and each of the locations have implemented their own legacy systems / Pacakged applications. 4. All the enterprise services need not be of business step in nature. There might be cases where you might need some help for some look up values from a different application. These services are more of utility in nature. So, the important thing is to identify a business process and then identify the Enterprise Services that can help you out with your processes.

Shameless Plug

We are going to talk on this subject more in deep by taking some business processes at SAP Tech Ed 2005 @ Vienna. The following is the link for the same. . Please be there and we can always get into a one on one discussion about the business processes that you may have in your mind and come up with a ESA roadmap.


In my next blogs I will take some buisness processes, sample landscapes and in that we will see if we have an oppurtunity for ESA and if yes, how do we identify the Enterprise Services that we might start with. image
image As we all know SAP MDM 5.5 gives you individual applications to perform different actions. One of them is the content manager (MDM Client), which can be used for multiple purposes. Some of purposes are to view, edit and create new master data records, add images, documentation / attachments / specification sheets about the data (reading material for products etc). When we started working with our customer, we knew what the customer was looking for, however what we were wondering was how to use the different record modes for the customers data. Which record mode should be used at what time and what kind of data? One of the important things that MDM Client does is that it operates in Six different modes and each of these modes has got a specific purpose. In the blog by Roman Rytov World's fastest and shortest introduction to NetWeaver MDM 5.5 , he has explained the different types of tables we deal with while working with MDM. So, I am not going to go into those aspects. Each of the modes is designed to manipulate specific type of table and repository information. 1. Record Mode: This is probably the most commonly used mode. Here you can see all the details of the record, including the pictures, attached documents etc. You can also edit the records and change the details of the specific fields including the images and documents. image 2. Hierarchy Mode: In this mode you can edit, view the hierarchy tables which include the regular hierarchy tables, taxonomy tables, and the Masks tables. You might be wondering I can do this in the Record mode so what is the difference. Well, in addition to what you can do in record mode, you can also edit the parent / child relationships and also the order of the siblings. image 3. Taxonomy Mode: Here you can edit the taxonomy tables in the repository. You can create and maintain a Category hierarchy and maintain the attributes pertaining to a specific category or sub-category. This can be done in the record mode as well as the hierarchy mode also, however here you can concentrate on creating a pool of attributes and link them with the right category / sub-category. The link in the first column indicates the attributes for the selected category on the left hand side. image 4. Family Mode: This is where you define the families to further break down into smaller chunks of data over and above the taxonomy we have defined. Here you can add an image for the entire list of products pertaining to a specific family. Or in case of vendor / customer, you can add their logo here. image 5. Layout Mode: This mode is entirely from a Catalog designing perspective. This is where you design your layout according to how you want your catalog to look like, what fields you want to display, how the display should look like (vertical / horizontal etc ). image 6. Publication Mode: This will be the last step before you publish your catalog to a DTP application like Quark Express. The publications can done based on a set of records from the main table and then apply Mask and a family hierarchy. After that you completely customize to identify which records to be included and which ones to be filtered. Closing Although MDM as the name suggests if for doing the Master data management, consolidation, harmonization and global data synchronization, it has excellent features for a catalog management solutions and truly so as the product comes from a catalog management background. However, what we have not explored yet is to publish the final publication to a DTP application and print a catalog. image
image  When we started the project we are debating about which is the best way to import material master data from SAP R/3 to SAM MDM. Now, before we got to the core material data, there is some data on which the material data is dependent on like Account groups, Item Category groups, Industries, Units etc etc. This data in MDM terminology is called the look up data.  In this blog we will see how to extract data out of SAP R/3, use the standard maps provided by SAP and load this data. So, the first thing that you do is to unarchive the SAP MATERIAL repository (comes along with the MDM software). This step should be pretty easy.   1.     Specify the DBMS where you want to unarchive the respository. 2.     Specify the name of the repository and the name of the archive (.a2a) file.  That’s all you need to do, you should be able to see the repository in your MDM console. image Now if you see on the right hand side (in MDM), it gives you a complete list of tables that are a part of this repository. image This data model is what is given by SAP as a standard. However, if you have different systems from where the data is coming and this data model, does not fit your requirements, you should be able to change the same according to your requirements.  For now, I am assuming that we are going to go with the standard repository given by SAP. So, given that what do we need to do import the data?  1.     Create Client systems / Agencies (SP01) in MDM. 2.     Decide upon a format in which you are going to import data. MDM can accept data in multiple file formats – Excel, XML. image For now we will concentrate on the XML format.  3.     Extract data from SAP R/3      Check Tables / Look up tables      Material Data  Before we upload the material data, we will have to upload the data for the Check tables. Now the questions comes, how do we extract data for the check tables from SAP R/3. We have write some customer ABAP Programs to extract data in an Excel format or an XML format. However, SAP has been kind enough (Is it really??) to help us out in this context. We have note 830864. which when applied will create these extract programs for the check tables.  •     The extractors with the ending"_552" are synchronized with the MDM 5.5 Support Package 2 and the extractors with the ending "_551" are synchronized with MDM 5.5 Support Package 1. •     Enter the path under which you want the system to save the XML document as the first input parameter (p_fpath). •     Do not select the second input parameter (p_indiv) because this option is not supported for Support Package 1 and Support Package 2 yet. image When you execute the program, the output file will be a bunch of XML files, with the data for the check tables. These files can be directly used to import the data into SAP MDM. A sample XML file for UoM details will look like the below one. image Now, you are ready to import the data. Login to the Import Manager and give this file as input. image You should be able to preview the source data in the bottom of the screen. image Now, select the source and target tables in the import manager (on the top). image Now the next step to map the source and target fields. If it is not standard you can do the mapping manually and store the mappins as a .map file. In the current case as we are using standard data, SAP has gives the standard mapping file.  Before mapping image   Now, open the map file – File --> Open image Once you choose the right mapping file, you should be able see the mappings on the tab, in green colour. image In the TAB – Match Records, specify which field or fields to be used to determine duplicates. image Here you specify what is the action you want to perform. Default will set to Skip. Change that to create so that the data records are created. If you want to test the creation of the records, you can always set the CREATE status (Import Action) for specific records. (See the picture above). image In the Import Status tab, you should be able see what is the next step to be done. In case you have missed anything it will ask you to do the specific step and will not let you proceed. image Right now, we are all set to import the data Unit of Measurements. Now go ahead and click the Import (Exclamation mark) button on the top toolbar. image If everything is good, message pops up informing how many records have been imported. Other wise a report is generated showing the errors.  Closing   In further blogs we will see how to import the actual material data, how to map data manually and lots of other features that MDM gives. You might be wondering, where does XI fit in this case. As we are dealing with standard data and SAP has provided the extractors to write XML files, here you might not need XI. I am talking only about standard data coming from SAP R/3. If your data is coming from other systems you might need XI to map and write an XML file to specific location.  While loading the actual material data, an MATMAS 05 IDOC is sent to XI and XI will write the data into an XML file which can be picked up by MDM. The places where are dealing with non-SAP systems, its left to technical design team as to how to execute the process.  One has to repeat this process for every table modeled in MDM (Painful isn’t it). Well that is the way it has be done because unlike SAP R/3, MDM does not deal at an object level rather it deals at table level. Note : The repository structure, mapping files might change for different releases.  image