Skip to Content

Introduction

In this BSP Developer’s Journal, I will look at a subject that isn’t really directly BSP

related: WebServices developed in ABAP. Although the WebService technology isn’t technically

part of BSP, it is an import aspect of the infrastructure that we have created to support our

BSP development. Our standalone WebAS has allowed us to extend our 46C R/3 by exposing

functionality via WebServices. Also for the first time in one of my developer’s journals, I

will discuss how our upcoming NetWeaver 04 upgrade will impact and extend the functionality

that we already have.

Shop Floor Interfaces

6 months ago, our IT department was faced with a new challenge. We had been asked to build

several interfaces from our Global R/3 system to our localized Shop Floor systems. Each of our

facilities around the world (North America, Europe, and Asia) have on site systems (MSSQL

written in Visual Basic) that capture data directly from the production lines. Our goal was to

take this information that was being captured by these shop floor systems and feed it back to

our R/3 system in near real time (no more than 10 or 15 minutes lag time). The data we would be

sending would be QM defect information, production counts, and assembly/sub-assembly backflushes

and scraps. The challenge came from the fact that we would need robust interfaces that would

operate 24×7 on a global scale across a sometimes tenuous wide area network. To complicate

matters, many of the shop floor systems were localized to run in the native language and code

page of their respective areas. Also our support staff is our development staff – currently

only 4 people. We therefore needed a solution that wouldn’t require 24×7 babysitting.

Traditionally we would have looked to external interface tools to bridge this gap. Our

development group’s expertise lies within the Microsoft tools arena, so we have used the DCom

connector or the new .Net Connector in the past. Although both good tools, we were really

concerned about inserting another failure point into this solution. We were ready to try out

something new. Since our WebAS landscape was already highly available and well supported, it

made since to try and leverage it for this solution as well. We had experimented with the

WebService technology in 620 before and it certainly seemed simple enough to give it a try.

Also because of its very design, WebServices took care of several of our problems. HTTP(s) is

obviously well suited to network transmission over a wide area network. Ultimately using HTTPS

did give us a measure of security as well. Finally WebServices easily supports Unicode. This

made bridging the gap between the code pages of our localized shop floor systems and our MDMP

SAP solutions a breeze.

First up you will want to make sure that your Service Nodes are active. Everything that we

will be interested in is under sap/bc. These are the nodes that exposed the documentation and

WSDL definitions for your webservices, in addition to being the interface for calling them as

well. All of your webservices are exposed under a single service node (unlike in 640, where

each generated webservice has its own node). This does reduced your configuration options.

!https://weblogs.sdn.sap.com/weblogs/images/1918/ws_sicf.jpg|height=74|alt=image|width=376|src=https://weblogs.sdn.sap.com/weblogs/images/1918/ws_sicf.jpg|border=0!

Next up we will need to create an RFC in our WebAS to be exposed as a webservice. In a 620

system with an active SOAP service, all RFCs are automatically exposed as webservices. This is

where having a standalone WebAS came in quite handy. Because our R/3 system, which houses the

RFCs that would expose our business logic, must be bridged by creating proxy RFCs in our

standalone WebAS, we retain a measure of control over what is exposed to the outside. This also

allows us to simplify the interface to the WebServices or to combine multiple R/3 RFCs into a

single WebService call. Many of these “problems” with WebServices in 620 have been corrected in

640 – I will show this later in the weblog. For this weblog, let’s look at very simple example

that is a small part of total solution. In this example we will expose a WebService that shows

the listing of Plants that we have setup in our system along with a description of each plant.

Function Interface

function z_e_rfc_ws_get_plant_values.

*”—-


“Local interface:

*”  EXPORTING

*”     VALUE(MSG_TEXT) TYPE  MSG

*”     VALUE(SUBRC) TYPE  SYSUBRC

*”     VALUE(SHSVALTAB) TYPE  SHSVALTAB

*”—-


The interface of our proxy RFC has no input parameters. Rather than throwing exceptions, as

you normally would in ABAP, we decided to handle errors by returning a SUBRC (Return Code) and

MSG_TEXT (string with the description of the error). This should make the handling of errors a

little clearer on the calling side and gives us better control over error situations. Finally

in this example we will return the Plant/Plant Description in the structure SHSVALTAB. This

structure has a simple KEY and VALUE components and is commonly used in BSP programming (no

reason to reinvent the wheel).

Don’t forget to mark your RFC as remotely callable:

image

The Coding

In the following coding you can see that all we are doing is exposing an SAP BAPI to the outside

world. However we have greatly simplified the interface to this BAPI by making it specific to

our situation. That way the programmers on the calling side really don’t have to understand

anything about the SAP system. They just need to know that they want a plant code and

description. You can also see that we dynamically look up our RFC destination from a

configuration table. This gives us greater flexibility, especially when testing between Dev and

QAS systems.

function z_e_rfc_ws_get_plant_values.

*”—-


“Local interface:

*”  EXPORTING

*”     VALUE(MSG_TEXT) TYPE  MSG

*”     VALUE(SUBRC) TYPE  SYSUBRC

*”     VALUE(SHSVALTAB) TYPE  SHSVALTAB

*”—-


  constants: rfc_name type rs38l_fnam

                         value ‘Z_E_RFC_WS_GET_PLANT_VALUES’.

  data: rfcdest type rfcdest.

****Read the RFC Destination from the configuration Table

  select single rfcdest from zes_rfc_dest

         into rfcdest

        where name = rfc_name.

  field-symbols:

To report this post you need to login first.

48 Comments

You must be Logged on to comment or reply to a post.

  1. VIJAY M
    Please keep writing such nice Articles of Enabling Web Services in ABAP – the most powerful language for business applications.
    (0) 
  2. VIJAY M
    Please keep writing such nice Articles of Enabling Web Services in ABAP – the most powerful language for business applications.
    (0) 
  3. VIJAY M
    Please keep writing such nice Articles of Enabling Web Services in ABAP – the most powerful language for business applications.
    (0) 
  4. Matthias Kasig
    hi Thomas,

    two questions:
    I was trying to check the webservice capabilities of   my WAS 6.40 – I was checking the WS-Wizzard – when trying to display the created WS (I used a BAPI) with WSADMIN I get an xml-file which displays this Error after logon prompt:



      soap-env:Server
      SOAP processing failure, error id = 112
     

     
     

    so its an soap failure – I checked sicf, all relevant srt and soap entries – their all active.

    Do you know what went wrong?

    2. the pasge
    bc/bsp/sap/webservicebrowser/search.htm
    does not exist in my systems – neither in 6.20 nor 6.40…

    thanx for a hint,
    matthias

    (0) 
    1. Matthias Kasig
      oops – checked in transaction wsadmin the server settings – it pointed to a wrong url – now everything’s fine – it’s only the webservicebrowser, which is not in my icf…
      greetings, matthias
      (0) 
      1. Thomas Jung
        I’m glad to hear that your first problem is correct.  As far as the webservicebrowser is concerned, there is something a little strange.  I went to SICF in my system and I don’t see it either?!?  But if I go to SE80 and pull up BSP Applications – I can find an application named webservicebrowser.  I can run it from here and the page loads fine.  The following is the URL displayed in my browser:
        http://kww-d15s.kimball.com/sap(bD1lbiZjPTA4OA==)/bc/bsp/sap/webservicebrowser/search.html
        I really can’t explain why I can run it, but it doesn’t show up in SICF.  Please try and see if it shows up in SE80 for you.  (Note – the system I am trying in is a 640 SP10 system).
        (0) 
    2. Matthias Kasig
      hello once again – i turned the bapi_flight_getdetail into a webservice. when entering the required input,  I receive a new error:
      Deserialisation failed

      what is the reason for that?
      can I get it repaired?

      thanx once more, matthias

      (0) 
      1. Thomas Jung

        I got the same thing when I test that BAPI with the WebService Home page test tool (generated page by the J2EE personality).  However that tool gives a little more detail about the deserialization error:

        (0) 
  5. Matthias Kasig
    hi Thomas,

    two questions:
    I was trying to check the webservice capabilities of   my WAS 6.40 – I was checking the WS-Wizzard – when trying to display the created WS (I used a BAPI) with WSADMIN I get an xml-file which displays this Error after logon prompt:



      soap-env:Server
      SOAP processing failure, error id = 112
     

     
     

    so its an soap failure – I checked sicf, all relevant srt and soap entries – their all active.

    Do you know what went wrong?

    2. the pasge
    bc/bsp/sap/webservicebrowser/search.htm
    does not exist in my systems – neither in 6.20 nor 6.40…

    thanx for a hint,
    matthias

    (0) 
    1. Matthias Kasig
      oops – checked in transaction wsadmin the server settings – it pointed to a wrong url – now everything’s fine – it’s only the webservicebrowser, which is not in my icf…
      greetings, matthias
      (0) 
      1. Thomas Jung
        I’m glad to hear that your first problem is correct.  As far as the webservicebrowser is concerned, there is something a little strange.  I went to SICF in my system and I don’t see it either?!?  But if I go to SE80 and pull up BSP Applications – I can find an application named webservicebrowser.  I can run it from here and the page loads fine.  The following is the URL displayed in my browser:
        http://kww-d15s.kimball.com/sap(bD1lbiZjPTA4OA==)/bc/bsp/sap/webservicebrowser/search.html
        I really can’t explain why I can run it, but it doesn’t show up in SICF.  Please try and see if it shows up in SE80 for you.  (Note – the system I am trying in is a 640 SP10 system).
        (0) 
    2. Matthias Kasig
      hello once again – i turned the bapi_flight_getdetail into a webservice. when entering the required input,  I receive a new error:
      Deserialisation failed

      what is the reason for that?
      can I get it repaired?

      thanx once more, matthias

      (0) 
      1. Thomas Jung

        I got the same thing when I test that BAPI with the WebService Home page test tool (generated page by the J2EE personality).  However that tool gives a little more detail about the deserialization error:

        (0) 
  6. Matthias Kasig
    hi Thomas,

    two questions:
    I was trying to check the webservice capabilities of   my WAS 6.40 – I was checking the WS-Wizzard – when trying to display the created WS (I used a BAPI) with WSADMIN I get an xml-file which displays this Error after logon prompt:



      soap-env:Server
      SOAP processing failure, error id = 112
     

     
     

    so its an soap failure – I checked sicf, all relevant srt and soap entries – their all active.

    Do you know what went wrong?

    2. the pasge
    bc/bsp/sap/webservicebrowser/search.htm
    does not exist in my systems – neither in 6.20 nor 6.40…

    thanx for a hint,
    matthias

    (0) 
    1. Matthias Kasig
      oops – checked in transaction wsadmin the server settings – it pointed to a wrong url – now everything’s fine – it’s only the webservicebrowser, which is not in my icf…
      greetings, matthias
      (0) 
      1. Thomas Jung
        I’m glad to hear that your first problem is correct.  As far as the webservicebrowser is concerned, there is something a little strange.  I went to SICF in my system and I don’t see it either?!?  But if I go to SE80 and pull up BSP Applications – I can find an application named webservicebrowser.  I can run it from here and the page loads fine.  The following is the URL displayed in my browser:
        http://kww-d15s.kimball.com/sap(bD1lbiZjPTA4OA==)/bc/bsp/sap/webservicebrowser/search.html
        I really can’t explain why I can run it, but it doesn’t show up in SICF.  Please try and see if it shows up in SE80 for you.  (Note – the system I am trying in is a 640 SP10 system).
        (0) 
    2. Matthias Kasig
      hello once again – i turned the bapi_flight_getdetail into a webservice. when entering the required input,  I receive a new error:
      Deserialisation failed

      what is the reason for that?
      can I get it repaired?

      thanx once more, matthias

      (0) 
      1. Thomas Jung

        I got the same thing when I test that BAPI with the WebService Home page test tool (generated page by the J2EE personality).  However that tool gives a little more detail about the deserialization error:

        (0) 
  7. Debbie Lane
    Hi

    You appear to be using a custom table to hold the rfc destination.
    ”  select single rfcdest from zes_rfc_dest
             into rfcdest
            where name = rfc_name.”

    We’ve been following SOAP Runtime for the SAP Web AS SAP documentation to get Web Services set up to transfer XML messages. We have activated the WebService SOAP/Rfc, set up the function module and created the WSDL. All works okay from a program in which we specify the host / port and service to be used.

    According to the SAP doc we should be able to define an RFC destination for an HTTP connection. We have populated the HTTP Rfc destination with host and port. However running the program using the rfcdest gives us a 403 error. Are we missing something in SM59? Or do we need a custom table, if so what would the table structure / contents be.

    We are working with 6.2.

    Many thanks for any help you can give.
    Debbie Lane

    (0) 
    1. Thomas Jung
      Don’t be confused by my inner RFC call.  That is just a call from my WebAS to my R/3 system to retreive additional data to fulfill the WebService Request. 

      I am a little confused by your question though.  Are you exposing an RFC via a WebService or wanting to call a WebService. This weblog only pertains to exposing functionality as a webservice.  SM59 doesn’t have anything to do with that.

      (0) 
      1. Debbie Lane
        I’m new to this, so maybe I didn’t explain it very well. We want to transfer data via an XML Message / SOAP / HTTP.

        We’ve been following SAP documentation (SOAP Runtime for the SAP Web AS). The sample program TEST_SCL001 uses a destination based call (parameter “dest like rfcdes-rfcdest”) and the documentation refers to the need to create a corresponding destination in SM59. If we try to make the SOAP call using a destination based call in this way it fails with http 403 error. We have set up the RFC destination as type H with the FDQN and the HTTP port number.

        If we make the call from a program where the host / port and services are supplied by way of parameters then the call is successful.

        I’m wondering what we are missing in our efforts to use a destination based call.

        Thanks for your help.

        (0) 
        1. Thomas Jung
          It does sound like you are trying to consume a webservice on another system (inside your network or outside?).  I should say that the SOAP runtime for calling webservices in 620 has been completely redone in WebAS 640.  Development done in 620 is NOT forward compatible with 640.  In my 640 system I don’t even have the program you mention (TEST_SCL001).  Therefore it is difficult for me to determine exacly what you are trying to do. 

          In the end though it sounds like you just want to make a client HTTP call.  Your ICM Trace might have more details about the failed HTTP RFC destination call.  You might have to increase the trace level as well (Transaction SMICM). 

          The following weblog also has some details about SM59 and HTTP based Destinations.  Perhaps it will help:
          Calling WebServices from ABAP via HTTPS

          (0) 
  8. Debbie Lane
    Hi

    You appear to be using a custom table to hold the rfc destination.
    ”  select single rfcdest from zes_rfc_dest
             into rfcdest
            where name = rfc_name.”

    We’ve been following SOAP Runtime for the SAP Web AS SAP documentation to get Web Services set up to transfer XML messages. We have activated the WebService SOAP/Rfc, set up the function module and created the WSDL. All works okay from a program in which we specify the host / port and service to be used.

    According to the SAP doc we should be able to define an RFC destination for an HTTP connection. We have populated the HTTP Rfc destination with host and port. However running the program using the rfcdest gives us a 403 error. Are we missing something in SM59? Or do we need a custom table, if so what would the table structure / contents be.

    We are working with 6.2.

    Many thanks for any help you can give.
    Debbie Lane

    (0) 
    1. Thomas Jung
      Don’t be confused by my inner RFC call.  That is just a call from my WebAS to my R/3 system to retreive additional data to fulfill the WebService Request. 

      I am a little confused by your question though.  Are you exposing an RFC via a WebService or wanting to call a WebService. This weblog only pertains to exposing functionality as a webservice.  SM59 doesn’t have anything to do with that.

      (0) 
      1. Debbie Lane
        I’m new to this, so maybe I didn’t explain it very well. We want to transfer data via an XML Message / SOAP / HTTP.

        We’ve been following SAP documentation (SOAP Runtime for the SAP Web AS). The sample program TEST_SCL001 uses a destination based call (parameter “dest like rfcdes-rfcdest”) and the documentation refers to the need to create a corresponding destination in SM59. If we try to make the SOAP call using a destination based call in this way it fails with http 403 error. We have set up the RFC destination as type H with the FDQN and the HTTP port number.

        If we make the call from a program where the host / port and services are supplied by way of parameters then the call is successful.

        I’m wondering what we are missing in our efforts to use a destination based call.

        Thanks for your help.

        (0) 
        1. Thomas Jung
          It does sound like you are trying to consume a webservice on another system (inside your network or outside?).  I should say that the SOAP runtime for calling webservices in 620 has been completely redone in WebAS 640.  Development done in 620 is NOT forward compatible with 640.  In my 640 system I don’t even have the program you mention (TEST_SCL001).  Therefore it is difficult for me to determine exacly what you are trying to do. 

          In the end though it sounds like you just want to make a client HTTP call.  Your ICM Trace might have more details about the failed HTTP RFC destination call.  You might have to increase the trace level as well (Transaction SMICM). 

          The following weblog also has some details about SM59 and HTTP based Destinations.  Perhaps it will help:
          Calling WebServices from ABAP via HTTPS

          (0) 
  9. Debbie Lane
    Hi

    You appear to be using a custom table to hold the rfc destination.
    ”  select single rfcdest from zes_rfc_dest
             into rfcdest
            where name = rfc_name.”

    We’ve been following SOAP Runtime for the SAP Web AS SAP documentation to get Web Services set up to transfer XML messages. We have activated the WebService SOAP/Rfc, set up the function module and created the WSDL. All works okay from a program in which we specify the host / port and service to be used.

    According to the SAP doc we should be able to define an RFC destination for an HTTP connection. We have populated the HTTP Rfc destination with host and port. However running the program using the rfcdest gives us a 403 error. Are we missing something in SM59? Or do we need a custom table, if so what would the table structure / contents be.

    We are working with 6.2.

    Many thanks for any help you can give.
    Debbie Lane

    (0) 
    1. Thomas Jung
      Don’t be confused by my inner RFC call.  That is just a call from my WebAS to my R/3 system to retreive additional data to fulfill the WebService Request. 

      I am a little confused by your question though.  Are you exposing an RFC via a WebService or wanting to call a WebService. This weblog only pertains to exposing functionality as a webservice.  SM59 doesn’t have anything to do with that.

      (0) 
      1. Debbie Lane
        I’m new to this, so maybe I didn’t explain it very well. We want to transfer data via an XML Message / SOAP / HTTP.

        We’ve been following SAP documentation (SOAP Runtime for the SAP Web AS). The sample program TEST_SCL001 uses a destination based call (parameter “dest like rfcdes-rfcdest”) and the documentation refers to the need to create a corresponding destination in SM59. If we try to make the SOAP call using a destination based call in this way it fails with http 403 error. We have set up the RFC destination as type H with the FDQN and the HTTP port number.

        If we make the call from a program where the host / port and services are supplied by way of parameters then the call is successful.

        I’m wondering what we are missing in our efforts to use a destination based call.

        Thanks for your help.

        (0) 
        1. Thomas Jung
          It does sound like you are trying to consume a webservice on another system (inside your network or outside?).  I should say that the SOAP runtime for calling webservices in 620 has been completely redone in WebAS 640.  Development done in 620 is NOT forward compatible with 640.  In my 640 system I don’t even have the program you mention (TEST_SCL001).  Therefore it is difficult for me to determine exacly what you are trying to do. 

          In the end though it sounds like you just want to make a client HTTP call.  Your ICM Trace might have more details about the failed HTTP RFC destination call.  You might have to increase the trace level as well (Transaction SMICM). 

          The following weblog also has some details about SM59 and HTTP based Destinations.  Perhaps it will help:
          Calling WebServices from ABAP via HTTPS

          (0) 
  10. Bhavik Devisha
    Hi,

    I tried and it worked technically.
    But, here I am more concerned about usability of this work around in the rpoduction servers.

    Can we take use of Web services in WSA6.20 ABAP stack for production?

    Do you know any solutions or any companies who has used this approach in the production?

    Thanks in advance,
    Bhavik

    (0) 
    1. Thomas Jung Post author
      Well I know of at least one company who took this productive – the company I used to work for.  This article was written at the time that we were using 6.20 Web Services in production.

      That company has since upgraded to Netweaver04 and we converted the web services as well.  However we did run for a year with the 6.20 approach.

      The main thing to consider is about security. Because all the webservices share a single endpoint (without trying to setup your ICF alias) you have only one security configuration.  What we did is setup all of our services to use HTTPS even if they didn’t need it.  There is no doubt that the 6.40 and higher approach is superior – but that shouldn’t necessarily keep you from using Web Services in 6.20.  It took only about 2 hours to convert our 20 or so webservices from the 6.20 approach to 6.40 post upgrade – because they are both still based upon RFCs. 

      (0) 
  11. Bhavik Devisha
    Hi,

    I tried and it worked technically.
    But, here I am more concerned about usability of this work around in the rpoduction servers.

    Can we take use of Web services in WSA6.20 ABAP stack for production?

    Do you know any solutions or any companies who has used this approach in the production?

    Thanks in advance,
    Bhavik

    (0) 
    1. Thomas Jung Post author
      Well I know of at least one company who took this productive – the company I used to work for.  This article was written at the time that we were using 6.20 Web Services in production.

      That company has since upgraded to Netweaver04 and we converted the web services as well.  However we did run for a year with the 6.20 approach.

      The main thing to consider is about security. Because all the webservices share a single endpoint (without trying to setup your ICF alias) you have only one security configuration.  What we did is setup all of our services to use HTTPS even if they didn’t need it.  There is no doubt that the 6.40 and higher approach is superior – but that shouldn’t necessarily keep you from using Web Services in 6.20.  It took only about 2 hours to convert our 20 or so webservices from the 6.20 approach to 6.40 post upgrade – because they are both still based upon RFCs. 

      (0) 
  12. Bhavik Devisha
    Hi,

    I tried and it worked technically.
    But, here I am more concerned about usability of this work around in the rpoduction servers.

    Can we take use of Web services in WSA6.20 ABAP stack for production?

    Do you know any solutions or any companies who has used this approach in the production?

    Thanks in advance,
    Bhavik

    (0) 
    1. Thomas Jung Post author
      Well I know of at least one company who took this productive – the company I used to work for.  This article was written at the time that we were using 6.20 Web Services in production.

      That company has since upgraded to Netweaver04 and we converted the web services as well.  However we did run for a year with the 6.20 approach.

      The main thing to consider is about security. Because all the webservices share a single endpoint (without trying to setup your ICF alias) you have only one security configuration.  What we did is setup all of our services to use HTTPS even if they didn’t need it.  There is no doubt that the 6.40 and higher approach is superior – but that shouldn’t necessarily keep you from using Web Services in 6.20.  It took only about 2 hours to convert our 20 or so webservices from the 6.20 approach to 6.40 post upgrade – because they are both still based upon RFCs. 

      (0) 
  13. Anthony Tripp
    When I look at Function groups, bapi’s, SE80, etc. the options to create a web service do not exist.  Your blog talks about 4.6C so I was wondering if you can tell me what needs to be activated to have these options appear.

    For example:
    *In SE80 there is no tab called “Enterprise Services”
    * On transaction BAPI there is no option under tools to “Create Web Service”

    Thanks in advance,
    Anthony

    (0) 
    1. Thomas Jung Post author
      As listed, those options are only available on WebAS 6.40 (NetWeaver 2004) and higher. 

      R/3 4.6C runs on Basis 4.6C.
      R/3 Enterprise 4.7 runs on WebAS 6.20.
      SAP ERP 2004 runs on NetWeaver 2004 (WebAS 6.40).
      SAP ERP 6.0 (former known as mySAP 2005) runs on NetWeaver 7.0 (former known as NetWeaver 2004s).

      You wouldn’t the options shown until ERP 2004 or ERP  6.0.

      (0) 
      1. Anthony Tripp
        Thank you for the input.  I know we have upgraded our WebAS but it makes since that we still need to enhance our R/3 system.  Thanks you
        (0) 
  14. Anthony Tripp
    When I look at Function groups, bapi’s, SE80, etc. the options to create a web service do not exist.  Your blog talks about 4.6C so I was wondering if you can tell me what needs to be activated to have these options appear.

    For example:
    *In SE80 there is no tab called “Enterprise Services”
    * On transaction BAPI there is no option under tools to “Create Web Service”

    Thanks in advance,
    Anthony

    (0) 
    1. Thomas Jung Post author
      As listed, those options are only available on WebAS 6.40 (NetWeaver 2004) and higher. 

      R/3 4.6C runs on Basis 4.6C.
      R/3 Enterprise 4.7 runs on WebAS 6.20.
      SAP ERP 2004 runs on NetWeaver 2004 (WebAS 6.40).
      SAP ERP 6.0 (former known as mySAP 2005) runs on NetWeaver 7.0 (former known as NetWeaver 2004s).

      You wouldn’t the options shown until ERP 2004 or ERP  6.0.

      (0) 
      1. Anthony Tripp
        Thank you for the input.  I know we have upgraded our WebAS but it makes since that we still need to enhance our R/3 system.  Thanks you
        (0) 
  15. Anthony Tripp
    When I look at Function groups, bapi’s, SE80, etc. the options to create a web service do not exist.  Your blog talks about 4.6C so I was wondering if you can tell me what needs to be activated to have these options appear.

    For example:
    *In SE80 there is no tab called “Enterprise Services”
    * On transaction BAPI there is no option under tools to “Create Web Service”

    Thanks in advance,
    Anthony

    (0) 
    1. Thomas Jung Post author
      As listed, those options are only available on WebAS 6.40 (NetWeaver 2004) and higher. 

      R/3 4.6C runs on Basis 4.6C.
      R/3 Enterprise 4.7 runs on WebAS 6.20.
      SAP ERP 2004 runs on NetWeaver 2004 (WebAS 6.40).
      SAP ERP 6.0 (former known as mySAP 2005) runs on NetWeaver 7.0 (former known as NetWeaver 2004s).

      You wouldn’t the options shown until ERP 2004 or ERP  6.0.

      (0) 
      1. Anthony Tripp
        Thank you for the input.  I know we have upgraded our WebAS but it makes since that we still need to enhance our R/3 system.  Thanks you
        (0) 

Leave a Reply