SAP Enterprise Resource Planning and associated business software systems have been a great success, so much so that a lot of the business data in global enterprises these days resides in SAP systems of record. Which is fine if SAP supplies tools that let you use this data in any way you want. But what if you have a business process that you want to automate, one that is heavily integrated with your enterprise SAP environment but one where SAP simply doesn't have the capabilities you need for effective automation, or doesn't let you innovate fast enough? Or, perhaps, you don't want to be entirely dependent on SAP - increasingly, a business today wants the freedom to work in any way it wishes, using whatever tools are most appropriate.
At one stage, SAP had a bit of a reputation as a "write only datastore", but those days are over - now, SAP encourages wider use of its assets (better a small slice of a very large cake than all of a smaller one - especially as building monolithic silos is going out of fashion in IT). However, customising SAP still has its problems and you might want to achieve the same thing with less overhead, and without impacting your SAP installation, with something like the Bizagi SAP Connector.
We are talking about Bizagi's SAP Connector because Bizagi is a bit of an interesting company itself - as we point out here. Its "freemium" business model seems to involve making the most of a thoroughly competitive Business Process Management Suite available for free - and its SAP Connector lets you use this to build, without using conventional procedural programming, automated business processes that take full advantage of the SAP assets many companies already have. This is an opportunity for asset re-use, for delivering greater business efficiency, which we think is simply good governance, in any organisation.
The Bizagi SAP connector is part of its Studio and Process Modeler and supports SAP's BAPI integration interfaces. BAPI stands for Business Application Programming and BAPIs are the methods exposed by SAP business objects. This interface is used for near-real-time queries and updates to and from the SAP system. BAPIs are SAP's recommended integration interface, so Bizagi is doing nothing that SAP wouldn't approve of.
Using Bizagi SAP Connector
Using the Bizagi SAP Connector, you can:
- Configure your processes to invoke BAPI wrappers to query, create or update records directly in SAP;
- Integrate any of your SAP modules - such as the Financial Accounting (FI), Sales and Distribution (SD), Material Management (MM), Human Resources (HR), or the Controlling module (CO) and others - in any part of your Bizagi-automated process;
- Make sure that any Bizagi processing is also reflected in SAP;
- Implement the integration with either a simple button click in the user interface; or with an asynchronous task, which handles timeouts or a preset number of automatic retries.
Nevertheless, surely, the devil will be in the detail? It can't be as simple as this? Well SAP integration is configured by using Bizagi's powerful graphical mapping features for SAP inputs and outputs, thus avoiding any need for programming. At the bottom line, what this really means for the business, is just the addition of greater "business agility" to SAP, whilst both making use of the business' existing investment in SAP and exploiting the rich data it holds.
SAP is designed as a "system of record" around existing "best practice" processes - which means that you are usually advised to adapt your processes to SAP, rather than the other way round. Many large companies, however, didn't do this when they first adopted SAP, leading both to them experiencing difficulties upgrading their highly-customised versions of SAP to new versions and also to them buying additional systems rather than upgrading SAP. This creates an opportunity for Bizagi to provide a "process glue" that can tie together existing SAP and non-SAP applications in a coherent process, as well as to provide a more agile way to enhance SAP processes.
With Bizagi, you can innovate beyond SAP industry standard processes, and deploy your innovations quickly, without having to customise SAP. You may gain more insights into your standard SAP processes too, and reduce the barriers to the use SAP data for effective decision support. Moreover, you don't need to burden your IT group with a lot of SAP maintenance projects as part of getting this to work.
If all your processes fit easily within the standard SAP model and SAP supplies all the management information you need, then you won't need Bizagi, of course. Nevertheless, although re-inventing the wheel, badly, just so you can claim to be innovative, is rather pointless, if all you are doing is to work like everyone else, where is your competitive edge? Building a new variant of a bicycle may not achieve much any more but building the Segway might. Innovative companies may want to go beyond what SAP delivers in the box.
Even quite small process changes can deliver real benefits - if they can be made quickly, in an easily maintainable way, and without needing a lot of IT resources. In a typical customer use case, for example, a global sportswear manufacturer complemented its SAP accounts payable system with a simple change management system for purchase orders in Bizagi, leaving the account processing in SAP. This eliminated about 1 million emails a year. Such a system might not be cost-effective if implemented in SAP, but it is still extremely welcome - if it can be delivered sufficiently economically, and quickly enough, using something like Bizagi. Bizagi provides a more in-depth description of its SAP connector in its HELP facility - something that we are glad to see.
Having said, above, that some of the devil might lie in the detail, for many automated business processes error-handling can be an issue. No-one wants an agile solution if it delivers unwelcome surprises. It seems to us that error handling is a frequently overlooked issue in modern web-based systems. Everyone concentrates on providing "user delight" on the "light path" when everything goes as expected - but it is on the "dark path" when things are going wrong, where people get angry and you lose customers (and the "dark path" is often also an opportunity for fraud and theft).
The starting point for a good (or at least, as good as is possible) user experience on the "dark path" are the error handling capabilities facilitated by the tools that you use to automate your business processes, and error handling with SAP Connector seems pretty good. It lets you configure a customised treatment for two categories of error met during invocation of SAP BAPIs:
- System exceptions, when Bizagi can't reach SAP, usually when there's a connectivity issue - often, a failed network connection or an incorrect SAP user-id and password.
- BAPI exceptions, which are explicitly programmed ABAP (Advanced Business Application Programming, SAP's programming language) exceptions in each SAP BAPI. These usually represent a functional error a BAPI may encounter before execution such as a "table without data" exception thrown by SAP.
By default, Bizagi uses a Throw Exception action if it encounters either a System exception or a BAPI exception. This stops the process workflow and allows an administrator to review the logged exception and retry the operation (e.g., when setting invocation of BAPIs in asynchronous tasks). This is fairly normal these days and works in the same way as the error handling in many asynchronous tasks, whether for SAP or an invocation of an external web service.
However, the second option is much more interesting. For each kind of BAPI exception defined in a particular function module in SAP, you can customise a different Bizagi workflow path; and you can have more than one attached event for each exception scenario. So, you might have one attached error event that redirects to a Review Request and Status task (the transition being labelled as, say, "Functional error occurred: Customer not found"); and another that redirects to an Escalate sub-process (this transition being labelled as, say, "Functional error occurred: Table without data"). Potentially, this allows you some control over the user experience when things go wrong, and thus a chance to reduce the likelihood of "churn" - customers going elsewhere (remember that "the competition is only a click away").
You should, of course, note that the BAPI (or the overall process) may execute unsuccessfully and still not throw an exception, so you will still need to handle this. While SAP Connector error handling is necessary for providing a supportive and reasonably pleasant "dark path", it isn't sufficient. You still have to design the whole error handling process from the end-user point of view. However, done well, error handling can be an opportunity to reach out and touch your customer and increase customer loyalty; done badly, it simply promotes churn.
The bottom line here is that SAP assets are resources that can be reused for business process automation and that reusing business resources makes good economic sense - if doing so doesn't cost too much. Bizagi SAP Connector is one way of achieving this.
Using Bizagi SAP Connector involves configuration and a few button-clicks based on a visual model, not conventional programming; and yet it can be very powerful, even though it doesn't need a lot of IT resources. Bizagi itself is good value for money; partly because most of it is free but mostly because building automated business processes without the overheads of programming saves money.
If you want to open up your SAP assets to wider use, Bizagi and its SAP connector are well worth a look, along with any other products offering a "no programming" integration with SAP (there are others, such as OutSystems Platform, or Mendix, for example; Bizagi's differentiator would be its Business Process Management capabilities).