Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
craigcmehil
Community Manager
Community Manager
First I would like to apologize for using the term "BAPI" to refer to the Function Module (FM) "RFC_READ_TABLE". Second, I would like to apologize for not posting this blog as part of the first one. It is obvious from the comments on the first How I started with SAP Web development... that this should have been done, or at least posted this new one faster. A little background reasoning: I chose this example as it is a good example of the problems that I faced as well as a great learning experience...

---

Having completed the application and basking in the glory of a job well done, it is now time to review what was done and how. We should determine if we chose the right method for our development and whether this method will be the one of choice; or if we should move on to other methods. Remember we are new at this and we are trying to determine the best way of doing things.

Lessons Learned

The Java application ran without a heavy load and the load times were low. The page loaded a list of over 6000 users in a matter of seconds leaving the complete page to be rendered in the browser in approx. 10 seconds within a LAN environment and approx. 60 seconds on a dial-up connection. Acceptable! Just a simple program only used occasionally, perhaps once every 3 months or so, was the idea.

However, wanting to be sure we couldn't get it to go any faster, we moved onto our analysis and took a look at the SAP side. I had just been to my first SAP course in Walldorf at this point and was anxious to try out what I learned in the class on performance monitoring. The first step after looking at the traces and the connections in the SAP System was to see if there were any known issues.

The OSS, we all know it's that place to find answers when you have a problem, right? Well, actually, no it's not, it's more than that. My first task was to go to the OSS and search for SAP Notes on performance tuning and JCo, to try to find related notes to make sure we had our security and everything set just right. I mean, you don't want to blow your whole security setup by allowing an external program to log in to the system and retrieve data or anything like that. It was during this search that on a whim I typed in "RFC_READ_TABLE", 31 hits. I actually found 31 Notes related to this one function. Needless to say my throat got a little tight and my mouth dry. Most of the Notes were all related to some sort of error, and one Note in particular delivered the crushing blow, the final death. SAP Note 382318 basically sums it up: "Don't use it!!"

Lesson Learned: Check the OSS before you get too far into the application, especially if you are using a standard BAPI/FM. Might save yourself some time.


At this point I figured the score was...
Web Developer 0
SAP 2


Having discussed my findings with my co-workers, we decided that I should rewrite the program. But how? I mean it took us so long to find this "not to be used" FM in the first place and now? After pondering over the problem for a while, we realized that this wasn't a terribly huge set back or failure, in fact we accomplished the task we set out to do in the first place. Determine which method of development we want to use, so why not rewrite the project using a new method and analyze the result?

By this point we've installed our first WebAS 6.20 system and it seems to be up and running and stable now, so we decided to try our hand at BSPs.

So back to the beginning: where to find data on BSPs and how they work? This went actually quite a bit easier as there are many example BSPs delivered with the system. So I began playing around with the layout and I managed to get get the page layout and the BSP working just the way I wanted. The next problem came when trying to get the data. Sound familiar? The exact same problem as before.

Once again I hit the message forums and the MarketPlace and started looking. Much to my surprise there were lots more examples and help available, but still nothing that screamed "solution".

The next blog entry from this series will go into details about the entire search process we used to figure out how to create this BSP and to retrieve the data we wanted from the systems.