In most scenarios, customers will use BAPIs, maybe exclusively, or maybe in conjunction with Application Link Enabling (ALE). There are a number of services that any BAPI-enabled application needs to use. Therefore, we have concentrated on building components for Java and Visual Basic developers that offer these services nicely encapsulated and easy-to-use. This allows customers to concentrate on their applications and not have to worry too much about some of the technical details. One of the major features of our components is complete metadata support for SAP, which allows software companies to build tools around SAP easily. One of our licensees, Scribe Software Corp. (www.scribesoft.com) uses the metadata services in their Integrate tool that facilitates building bridges between SAP and other systems. What one technical question do clients ask most often? How do you answer this question?
Since we have been concentrating on integration between SAP and non-SAP components using mainly SAP's Business Application Programming Interfaces (BAPIs), most customers want to know what the appropriate architecture is for their integration project. The answer to that depends very much on the details of the customer situation: Do they have other ERP systems? Have they standardized on certain platforms and languages? SAP has many different open interfaces and using them appropriately requires a bit of analysis. Our users are very interested in integrating SAP with the Internet. E-business is a way of life now and the huge SAP client base is seeking out tools for Web integration. Can you give me three tips for successful web integration?
Well, number one would be not to believe everything the press is saying. Trying to follow every trend they come up with can be disastrous. Take the "Best-of-breed" discussion, for example. The cost of integrating many different products is already high anyway. But many writers forget to mention the prohibitive maintenance cost that you will incur later on. Interfacing many complex solutions is very costly. Customers on average should try to limit the number of software suppliers and use special-purpose add-ons rather than trying to integrate multiple, very large and complex, functionally overlapping, solutions. SAP and Oracle are right: For most customers it makes sense to standardize on one backbone supplier and then add specific functionality where needed.
Number two would be to completely define the scope of the project and then to decide whether it is better to buy software than to develop it in-house. Web projects often sound deceptively simple initially, but a complete Web-enabled procurement solution, for instance, is decidedly non-trivial.
Tip number three: Have an architecture first. Some companies start to develop software without a solid architectural foundation. This will lead to much higher maintenance cost or even project failure, especially when not fully mature technologies are used. Upgrading is another big issue. What are the benefits of upgrading to R/3 Release 4.6? What new features in this release do you find most useful?
R/3 4.6 has added several hundred new BAPIs. Since one of the biggest challenges in BAPI-enabled applications is the existence of appropriate BAPIs for a specific scenario, this release will make the life of software developers much easier. But even more than upgrading to 4.6, I would recommend that you start your planning for 4.7!
This release will include the SAP Web Application Server (Web AS) which finally brings the business applications and Web-enabling together in the same system. SAP Web AS will be available in June 2001 as a stand-alone product (which is good news for people who want to leverage their ABAP skills to build new Web-enabled applications), but to reap the full benefits you should consider upgrading your R/3 system to 4.7 as soon as possible. In your opinion, what are the main challenges in using BAPIs?
First, you have to find out whether the required BAPIs for your application scenario already exist in the release of SAP that you are using. Although you can develop your own BAPIs, having to do that would add significant cost to your project.
Second, you have to study the documentation and try out the BAPIs in order to understand which of the parameters you have to use for your specific requirements. In this phase you definitely need people that understand the SAP application area that you are dealing with extremely well.
Third, you have to understand a few technical issues, like how to convert values from the user's format to the format the BAPIs require, etc. This is taught in the SAP training classes CA925 and CA926 that I developed for SAP. You should then build components that hide some of the technical complexity or use ready-to-run components like ours. BAPIs were introduced in R/3 3.1G. For those who are new to SAP programming, please describe BAPIs and their functionality.
BAPI is short for Business Application Programming Interface. A BAPI is a method of an SAP object type that can be called from an external program. An example would be SalesOrder.CreateFromData which enables you to build your own front-end for order taking for example in a Web application running on a Java application server. Finally, Where is SAP going? What do you feel will be the key SAP issues in the coming year?
Web-enabling SAP products needs to become much simpler. In order to achieve this, SAP is doing multiple things. Adding more BAPIs will make the development of add-ons much simpler. Providing native XML and HTTP support in their products (the Web Application Server I mentioned before) will remove the need for additional layers of software.