Show TOC

Redefining OData Service (GW)Locate this document in the navigation structure

Overview
The Service Builder allows you to redefine the OData services for SAP NetWeaver Gateway. A service can be redefined only for the projects of type Service with SAP Annotations and Service with Vocabulary-Based Annotations.
The Redefine Gateway Service function allows the user to do the following:
  • Redefine a service - Select this option if you want to redefine a service for the first time in the Service Builder.
  • Extend the existing model - Select this option if you wish to add more artifacts to your model from an existing model. If your model already has artifacts from a reference model, you can add more artifacts from this model only.
  • Overwrite existing model - Select this option to overwrite the existing model in the Service Builder with a new model from a different service.
After choosing one of the redefinition options, the user is provided with options to select the relevant service he or she wants to redefine (only those services that are registered in the current SAP Business Suite backend system can be selected). After the service has been selected, the model is displayed in a tree view allowing the user to select the required artifacts (entity types, associations, function imports) for the new model. The Modification Generator enables the user to make certain restricted changes in the services created using an external framework like SAP Business Information Warehouse (BW), Service Provider Interface (SPI), and Generic Interaction Layer (GenIL). For example, these services might not have a proper label or might not need all the artifacts. In these cases, the Modification Generator enables the user to make cosmetic changes without influencing the underlying data provider class, and reuses the existing model.During the generation process, two new DPC classes are generated. The new DPC inherits from the DPC of the existing (original) service. As a result the logic for the existing (original) service is still available. The new DPC extension class inherits from the new DPC base class, enabling you to edit the logic for your service.
Note In the new DPC extension class, you can change the behavior of the existing (original) service but you cannot change its interface.
Redefining a service for the first time - Empty project:
When you select the Redefine option for an empty project, you will be provided with a redefine wizard that allows you to specify a model of your preference.
  1. Log onto the SAP NetWeaver Gateway system.
  2. Open transaction SEGW.

    The SAP NetWeaver Gateway Service Builder opens.

  3. Open an existing project you want to redefine.
  4. Click Display<-> Change (Display<-> Change) to switch to editing mode.
  5. Right-click on the Data Model folder and in the resulting submenu, select Start of the navigation path Redefine  Next navigation step OData Service (GW) End of the navigation path. The Wizard Step 1 of 2: Redefine Service wizard appears.
  6. In the Select Service region, enter the technical name of the service you wish to redefine in the Technical Service Name field. Alternatively, you can also use the input help available for this field.
  7. On selecting the service from the input help window, the version of the service is automatically populated.
    Note If you enter the technical service name manually, you must specify the version.
  8. If the metadata of the selected service resides in another system, select Metadata to be fetched from an external system. in the Target System for Metadata.
  9. On the selection of the Metadata to be fetched from an external system the RFC Destination field becomes editable to select the RFC destination of the external system using the input help
  10. Click Next to continue.
    Note If the RFC destination is incorrect, an error message is displayed.
    On successful validation of the RFC destination, the Wizard Step 2 of 2: Redefine Service opens.
  11. Select the required artifacts. Refer to the artifacts selection logic described in the To Overwrite a model section.
  12. Follow steps 14 to 19 in the To Overwrite a model section to complete the procedure.
    Note Since the Wizard Step 2 of 2: Redefine Service is same for all the redefinition scenarios, these steps (14 to 19) are only mentioned in the “To Overwrite a model, proceed as follows” section.
Redefining a service for the first time - Project with a model
When you select redefine option for a project with an existing model created by methods other than redefine, for example, by importing a data model, importing a data source or hand craft a model in the Service Builder, you will be provided with the option to overwrite the existing model. On choosing to overwrite, the existing model and the generated classes will be overwritten.
  1. Log onto the SAP NetWeaver Gateway system.
  2. Open transaction SEGW.The SAP NetWeaver Gateway Service Builder opens.
  3. Open an existing project you want to redefine.
  4. Click Display<-> Change (Display<-> Change) to switch to editing mode.
  5. Right-click on the Data Model folder and in the resulting submenu, select Start of the navigation path Redefine  Next navigation step OData Service (GW) End of the navigation path. The Wizard Step 1 of 2: Redefine Service wizard appears.
    Note A message box is displayed in which you are prompted to confirm whether you want to overwrite an existing model
  6. Click Yes to overwrite the existing model. The Wizard Step 1 of 2: Redefine Service wizard is displayed.
  7. Enter the technical name of the service you wish to redefine in the Technical Service Name. Alternatively, you can also use the input help available for this field.
  8. On selecting the service from the input help window, the version of the service is automatically populated.
    Note If you enter the technical service name manually, you must specify the version.
  9. If the metadata of the selected service resides in another system, select Metadata to be fetched from an external system. in the Target System for Metadata.
  10. On the selection of the Metadata to be fetched from an external system the RFC Destination field becomes editable to select the RFC destination of the external system using the input help
  11. Click Next to continue.
    Note If the RFC destination is incorrect, an error message is displayed.
  12. On successful validation of the RFC destination, the Wizard Step 2 of 2: Redefine Service opens.
  13. Select the required artifacts. Refer to the artifacts selection logic described in the To Overwrite a model section.
  14. Follow steps 14 to 19 in the To Overwrite a model section below to complete the procedure.
Extending the existing model
After you have added the artifacts for your service in the Service Builder, there might be instances when you would want to add more artifacts without overwriting the model. In such cases, you can use the Extend Current Model option and select the artifacts from the model that was redefined. In such cases, the Technical Service Name field in the Select Service region is read-only and displays the specific service from which you can add more artifacts.
  1. Log onto the SAP NetWeaver Gateway system.
  2. Open transaction SEGW. The SAP NetWeaver Gateway Service Builder opens.
  3. Open an existing project to be redefined.
  4. ClickDisplay<-> Change (Display<-> Change)
  5. Right-click on the Data Model folder and in the resulting submenu, select Start of the navigation path Redefine Service Next navigation step Gateway Service End of the navigation path. The Wizard Step 1 of 2: Redefine Service wizard opens.
  6. Select the Extend current model. The Technical Service Name field in the Select Service region displays the source model's technical service name and the version. This field is read-only.
  7. If the metadata of the selected service resides in another system, select Metadata to be fetched from an external system in the Target System for Metadata.
  8. On the selection of the Metadata to be fetched from an external system the RFC Destination field becomes editable to select the RFC destination of the external system using the input help
  9. Choose Next to continue.
    Note If the RFC destination is incorrect, an error message is displayed.
  10. On successful validation of the RFC destination, the Wizard Step 2 of 2: Redefine Service opens.
    Note The artifacts that were already selected will be read-only.
  11. Select the required artifacts. Refer to the artifacts selection logic described in the To Overwrite a model section.
  12. Add more artifacts as required and choose Finish.. The added artifacts are displayed in the tree view under the appropriate folder.
  13. Follow steps 14 to 19 in the To Overwrite a model section below to proceed.
Overwriting a model
If you want to overwrite an existing model you can use the overwrite the existing model option. On choosing to overwrite, the existing model and the generated classes will be overwritten.
  1. Log onto the SAP NetWeaver Gateway system.
  2. Open transaction SEGW. The SAP NetWeaver Gateway Service Builder opens.
  3. Open an existing project to be redefined.
  4. ClickDisplay<-> Change (Display<-> Change)
  5. Right-click on the Data Model folder and in the resulting submenu, select Start of the navigation path Redefine Service Next navigation step Gateway Service End of the navigation path. The Wizard Step 1 of 2: Redefine Service wizard opens.
  6. Select the Overwrite model radio button to select and add more artifacts from a different model. This action overwrites the existing model.
  7. Enter the technical name of the service you want to redefine in the Technical Service Name. Alternatively, you can also use the input help available for this field.
  8. On selecting the service from the input help window, the version of the service is automatically populated.
    Note If you enter the technical service name manually, you must specify the version.
  9. If the metadata of the selected service resides in another system, select Metadata to be fetched from an external system in the Target System for Metadata.
  10. On the selection of the Metadata to be fetched from an external system the RFC Destination field becomes editable to select the RFC destination of the external system using the input help.
  11. Click Next to continue.
    Note If the RFC destination is incorrect, an error message is displayed.
  12. On successful validation of the RFC destination, the Wizard Step 2 of 2: Redefine Service opens.
  13. Select the required artifacts.

    There is a selection logic in the backend, which automatically includes all the entity types that are end types/return type of chosen association/function import. The reverse is not selected. For example, consider the following model:

    Example
    1. COMPLEX TYPES
      • complex_type_1
      • complex_type_2
    2. ENTITY TYPES
      • entity_type_1
      • entity_type_2
      • entity_type_3
    3. ASSOCIATIONS
      • association_1 (between Entity_type_1 & Entity_type_2)
      • association_2 (between Entity_type_1 & Entity_type_3)
    4. FUNCTION IMPORTS
      • function_import_1
      Case1: User selects Entity_Type_1, Entity_Type_2 and Association_1. All these entities are selected and used in the new model. If Entity_Type_1 & Entity_Type_2 uses Complex_Type_1 & Complex_Type_2, they are automatically selected.

      Case2: User selects Entity_Type_1, Association_2. Since Entity_Type_3 is part of the Association_2, Entity_Type_3 is selected automatically along with Entity_Type_1 and Association_2.

  14. Choose Finish after you have made the relevant selections.
  15. The Service Builder performs the consistency check of the imported model and a message is displayed. The selected artifacts are then transferred to the respective folders in the tree view of the Service Builder. Also, an entry with the name and the version of the service selected for redefinition is created under the Model Reference folder in the Service Builder.
  16. Double-click the referenced model and the mass maintenance view displays Model Reference Type as Extend to indicate that this model can be extended.
    Note If the model has been referenced as an Include, the model reference type displayed is Include instead of Extend.
  17. You can perform the following redefinitions for the model imported:
    • Delete the artifacts.
    • Change the Node Names and Labels
      1. Switch to edit mode.
      2. Choose the Redefine Attribute button. The Node Name and the Label fields can be edited.
      3. Choose the Undo Redefinition button to revert the redefined value to the original value.
      4. Choose the Undo Identical Redefinition button to view the fields which have been reverted to their original values in the course of editing.
      Note During redefinition of a service, changes to the external name and labels are allowed, but deleting a label is not supported. In case if you delete a label, the following will be the impact.
      • Metadata will not reflect the deletion and will still show the label.
      • There will be issues in the assignment of text keys to labels in the generated MPC, which will lead to incorrect label settings for other artifacts.
  18. After you have completed the redefinition process, you can generate runtime objects.
    Note Generation of MPC and DPC:
    • Case 1:Overwrite Base/Extended Service - If you have redefined an existing service, an additional section Service Extension will appear in this wizard. Select Overwrite Base/Extended Service, to overwrite the contents of the referenced service class. This option allows you to access the redefined (new) service using the redefining (base) service URL. You can no longer access the redefining service using the same URL.
    • Case2: Create a new service — A new service and a new model will be created and registered during the generation process. A new set of DPC classes will be generated.
    After the service has been generated, the MPC classes are stored in the Runtime Artifacts folder.