Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member181883
Active Participant
0 Kudos

Deriving the ABAP data model class name from a Gateway service name

The assumption made here is that the Gateway service you are wanting to investigate has been created using the OData Channel technique (good ol' ABAP coding) and not by the Gateway model wizard!

The GAteway service name is the name that appears in the URL when executing the service from a browser.

The first thing you need to know is how your Gateway system has been installed.  There are two possibilities here. Since the Gateway software is nothing more than a set of ABAP add-ons, the first task is to determine whether all the software components exist on your backend business system, or whether the components have been split between your backend business system and a separate Gateway system.

  1. Log on to your Gateway ABAP system and select System -> Status.
  2. Select the "Component Information" button in the section "SAP System Data"
  3. Scroll down the list looking for component IW_BEP.
  4. If IW_BEP does not exist in the Gateway system, then you will need to locate the correct backend system with which the Gateway service communicates.

If the IW_BEP component has not been installed on your Gateway system, then you must log on to whichever system has this component.

  1. In the system where component IW_BEP is located, run txn SM34 and enter the cluster name of /IWBEP/VC_MGW_SG.  Select "Display".
  2. From the left hand navigation tree, select "Define Object Model Group".
  3. The 3rd column lists the external service name seen in the URL.
  4. Scroll down the list to locate  your service name and in the next column (labelled "Runtime Class  Name"), you will see the name of the ABAP class that implements this  service.
  5. You can now look at this ABAP class in SE80

If you want to identify the metadata class that is used to define the Gateway service's interface, then proceed as follows:

  1. Still in SM34, select the "Define Object Model Group" node from the tree display on the left.
  2. Select the row of the table containing your external service name and double click on the "Assign Object Models to Model Groups" tree node on the left side of the display.
  3. You will now see the Technical Model name. Remember this name.
  4. Now, select "Define Object Model" from the tree structure on the left of the screen.
  5. Locate the Technical Model Name in the first column of the table, and once found, the third column of the table will show you the ABAP class that defines the Gateway service's metadata.
  6. You can now look at this ABAP class in txn SE80

Important!

Now that you've located the two ABAP classes that implement a Gateway service, you might be a little puzzled as to how they operate together.

From the perspective of the ABAP coding, there is no direct connection between the Gateway metadata class and the Gateway runtime class.

The only connection between these classes is the configuration you've just reverse engineered by looking at cluster /IWFND/VC_MGW_SG.  The association is like this:

  • The metadata class is wrapped in an Object Model.
  • The runtime class is wrapped in an Object Model Group.
  • The Object Model (wrapping the metadata class) is then assigned to the Object Model Group (that wraps the runtime class).

So there you have it, simple really (!?)

🙂

Chris W