ABAP log

January 28, 2008

Betting on SAP ESA. Part 2.

Filed under: ABAP, SAP, esa, soa — abaplog @ 9:31 pm

Today I am going to continue looking into the current SOA offer from SAP. As I wrote previously, I wanted to evaluate the ESA components in different modules of SAP ERP, and I am starting with master data.

Master data is obviously not the first candidate for extensive coverage with services. Most of it is pretty static and is loaded once, at the beginning of implementation or deployment of the system to new company divisions/plants. That’s why we didn’t have really good support of master data with BAPIs, and I don’t think it’s going to change with ESA. In this entry, it won’t be a review of a full set of every possible basic data piece that an enterprise would need, just several most useful and obvious to be supported by the enterprise services. Let’s have a look. I will be comparing the ESA offer with the current set of BAPI functions in my old 4.6C.

We start with basics. Materials – this is what all companies need to operate even if they  services oriented businesses. Why do we need to support materials with “official” functions and enterprise services? Imagine we are a manufacturing company. Most of them use external systems for product development and lifecycle management (those big systems from Parametrics or IBM/Dassault for example). If the products and their actual data are coming from such systems, we will most likely need to design interfaces, and those interfaces will have to support reliable live links into our SAP ERP. Good old BAPIs provided us with a full set of functions to manage materials. Currently, in the ES catalogue of SAP, I could find only read-only services: Manage Material In and Query Material In. Not that much.

Materials are bought and sold. So here come customers and vendors. Why the need for support here? Imagine some cool future system (SRM or CRM kind) where our business partners will be able to access some of their details, maybe even including possibility to change the data. You’ve heard about Plaxo? You change your data and all your contacts have the immediate access to updates. May be it sounds like a crazy idea, but what about our customer having a way to update their address or contact details without waiting for our company employees to do that? For me it sounds reasonable, so I wanted to check whether we have services for customers and vendors.

For customers, we had full set of BAPIs.  ESA offer: Manage/Query Customer In. There is no “create” service/method, but at least we can find and change things.

For vendors, we have a limited set of BAPIs, mainly for reading. ESA goes the same way today: Manage Supplier In, Query Supplier In – both read only. NOTE: there is probably a difference between “supplier” and “vendor” – I won’t dig deeper here. I did not find anything about “vendors” in ESA directory.

The BAPIs in 4.6C have an object “Vendor price catalogue”, that may be useful to us. ESA: offers no such thing today. Perhaps they have obsoleted it.

Because of the similar background as in the case with materials, it would be great to have access to bills of materials and routings used in the production process. They can also be managed from external CAD/CAM/PDM/PLM systems.

For routings, we got “create” and “check” BAPIs; no read, no change. ESA offer: nothing.

BOMs – no BAPIs. ESA: Query Production Bill of Material In. AHA! That’s a progress! But still only read operations.

With the similar background, documents are a good candidate area. Those can be drawings from external systems. In this case, SAP offers a full set of BAPIs and a full of enterprise services, like Document Action In, Manage Document In.

One interesting BAPI set, related to master data, that I have found: Currency exchange rate. Currency rate data is normally delivered to companies via EDI, and to complement it, SAP offers BAPIs for create and change operations. However, I could not find any related enterprise services.

So, you see, we don’t have lots of exciting things for master data in ESA, but as I said, I would expect less for master data and more for dynamic data to work with the mechanics of business modules. Those areas are going to be covered in later entries of ABAPlog.

January 14, 2008

Betting on SAP ESA.

Filed under: ABAP, SAP, esa, soa — abaplog @ 9:31 pm

We’ve been waiting, and here we are! We are now in 2008, which means that 2007 is already in the past, and the end of 2007 was the magic date when all SAP applications, including mySAP Business Suite or ECC or whatever it’s called now, will be completely covered by SAP services architecture, SAP ESA. The first detailed announcements came as early as 2003, with SAP keeping on track through those four years.

I don’t believe anyone expected that we are going to get 100% coverage. It takes time. I was quite skeptical, after reading all exciting announcements of Open BAPI Network since 1997 and years later, still using illegal tricks to work with SAP, instead of published and SAP-blessed interfaces. When I checked the ESA services directory at SDN back in 2006, it looked even poorer than BAPI directory. A couple of months ago, though I did not write what have I found and what I haven’t in 2006, I could say that SAP did a significant progress.

My primary interest in their new offer is the possibility to shift from dirty database stuff, yet more dirty tricks with internal functions and the frustration with incomplete BAPIs to some well documented way of exploring and updating SAP data and of course, connecting SAP with other systems. From what I could read, we’ll soon be able to forget the syntax of SQL SELECTs, the knowledge paid with our sweat and our employers’ money.

While SAP was integrating the ESA support and the development of the ESA connections to SAP internal business logic was far away, companies could already use ESA/SOA to have SAP talking in SOA language to the systems that already expose business functionality through services. That means, as soon as you install NetWeaver, which has ESA support since, I think, 2003, you could, in your SAP programs (ABAP or Java-based), simply speaking, read or update data in your external system that exposes business logic as services. And in this other system you could call services exposed by your SAP as soon as you have implemented them yourself. If you wanted, say, read a sales order from your SAP system, you still had to do this with BAPIs or in some other way. You had to wait for 2008 to come to have both sides of story.

Now, the new era is coming. We can’t say it’s already here, even if it has to be according to press releases. The most important for us is to know the following:

1. What do we have with ESA today.

2. How good is the progress that SAP is having implementing their new architecture in each application.

In the next weeks I’m going to make some kind of analysis of SAP’s current offer, in terms of what business functionality is exposed today in the latest version of ESA. I don’t need to have the latest version at work to do that because everything we need to know can be found at SAP SDN Enterprise Services Workplace. In the past ten years I had to do technical work with most of SAP R/3 modules, minus HR, plus SAP APO. (Those days it’s mostly production planning related). I’ll try to cover the areas where I have some general idea, so that at the end we could see whether we should rush buy books about the services jungle.

Stay tuned!

Blog at WordPress.com.