Skip to Content
author's profile photo
Former Member

Design customized webtransaction with Netweaver

I'm working at a client who is planning to design Design a customized web solution for service management, using SAP Netweaver technology and Enterprise portal.

Simple custom webtransactions need to be designed for creating a service notification by a third party service organisation on the web. The custom web transaction needs to use SAP R/3 master data for lookup/ validation (such as material, BOM, serial master data). This master data resides in SAP enterprise (r/3)

Then,after submitting a notification from the web this needs to trigger a transaction in SAP Enterprise eg IW511- create notification).

We are looking for the best technology to use to come up with a custom design (BAPI, RFC, Idoc etc)

Critical part is how to get data from SAP with best performance results. The master data tables in SAP Enterprise are large and might not be indexed on required fields.

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

3 Answers

  • author's profile photo
    Former Member
    Aug 11, 2004 at 05:38 PM

    Hello Adrienne,

    here is what I would recommend:

    As you mentioned, your app needs to look up against material, BOM, serial master /equipment (depending if you just serialize materials or create equipment records as well).

    To do this, you will need to find what RFC/BAPI support search functionality against these objects. If you find an RFC or BAPI method, then we can wrap it with a web service. If not, or if the search capabilities are not deep enough, I would recommend writing an RFC for this.

    Now, you are absolutely right that the tables may not be properly indexed, but, here is a little trick...

    You can leverage matchcodes. When you define the search matchcodes against these objects in R/3, the system creates the underlying tables that are indexed based on the structure of the search criteria defined in the matchcode definition. The tables, if I recall correclty, are named MCxxx, where xxx is the matchcode object. Once you localized these tables, you can write an RFC that would search accordingly. But, for performance and network traffic reasons, do not allow unqualified searches, and additionally, limit the number of returned records (as these can be VERY large). Once you have the RFCs, create a Web service (either through SAP WAS or XI - WAS would be preferrable due to better performance). Once you have your data in good shape, you will need to find an RFC/BAPI/IDOC to create notification, wrap it with a service and you should be good to go.

    Hope this helps. John Conte

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Aug 11, 2004 at 05:50 PM

    Adrienne,

    I agree with John that making calls against the Rfc's to trigger transactions in R/3 from web notifications makes sense. Expose the rfc as a web service, call the web service from the app.

    For look-up / validation from Master Data we have also exposed services from BW. Load the Master Data into BW then use it as a set of Data Services. We created a number of List of Values / Value Help related Services. This has the advantage of being both performant and reducing load on R/3 for this kind of call. You also could do your own cache of master data for the application session, so that you again remove need to call the BAPI's for every request.

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Aug 12, 2004 at 12:29 PM

    Adrienne,

    There are also the possibility to write a BSP application. The Business Server Pages can be built using the MVC concept(like WebDynpro), but it's not necessary. And since BSP's are pure ABAP code (mixed with HTML(B), javascript, ...), all the great functionality of ABAP is available.

    Then it's quite easy to create an iView in the portal based on the BSP.

    Good luck!

    Regards,

    Leif

    Add comment
    10|10000 characters needed characters exceeded