Skip to Content
Technical Articles

Creating a Custom Instance of SAP Asset Manager Application

SAP Asset Manager is the next generation mobile application for asset management. SAP Asset Manager is based on the /IWFND/ and /IWBEP/ gateway framework and uses oData as the communication protocol with the SAP S/4 Hana or SAP ECC 6.0 backends.

In this blog post we will answer the question of how to copy SAP Asset Manager configuration successfully to create a custom instance of the SAP Asset Manager application for testing purposes on embedded SAP Gateway scenario. Please note that for productive applications, customer instances of SAP Asset Manager are NOT recommended. The SAP Asset Manager application is made to be modular and easily extendable, so it should not be copied into the customer namespace and then used as a productive application. ONLY the SAP standard application should be used as a productive application.

Prerequisites:

  1. SAP S/4 Hana System: SAP S/⁠4HANA 1610 FPS 03 or higher or SAP ECC 6.0 System: SAP Enhancement Package 7 for SAP ERP 6.0 Support Package 14 or higher or SAP Enhancement Package 8 for SAP ERP 6.0 Support Package SP07 or higher
  2. Fully functioning Syclo Configuration Panel
  3. Functioning SAP Asset Manager standard application (backend component only)
  4. Administrator /IWBEP/ and /IWFND/ role
  5. Customizing transport

For set up of the SAP Asset Manager backend component please refer to the SAP Asset Manager documentation linked below.

https://help.sap.com/viewer/product/SAP_ASSET_MANAGER/4.0/en-US

In order to make sure that you have a working SAP Asset Manager standard application from the backend component, follow the steps below:

 

  1. Open SAP GUI and log into the backend system
  2. From the SAP Easy Access Menu, navigate to transaction /n/IWFND/GW_CLIENT
  3. Make sure that the request URI is: /sap/opu/odata/MERP/SAP_ASSET_MANAGER_40/?sap-client=800&sap-language=EN (in this case the application is SAP Asset Manager version 4.0). If you are attempting to copy a different version, just change the version at the end of the path. In addition to this make sure that the client is set to your test client, for the purposes of this blog post our test client is 800 and we are operating in the English language as noted by sap-language=EN. If you wish to operate in another language that parameter will need to be set accordingly
  4. Set the HTTP Header Request to: Header Name: Accept, Value: application/json (this is for readability purposes)
  5. Click execute at the top left corner of the screen
  6. Note the response – the response code should be 200 and there should be numerous entity sets in the body of the response, as there are many entity sets defined in SAP Asset Manager. The response should look something like the following screen shot

 

 

This indicates that SAP Asset Manager is configured correctly in the backend, which is required in order to successfully copy the application.

The next sections in creating the copy of Asset Manager are as follows:

  1. Create model in the customer namespace for each one of the SAP Asset Manager components
  2. Create service in the customer namespace for each one of the SAP Asset Manager components and bind the models created in Step 1 to the services
  3. Copy the configuration from the configuration panel
  4. Run the compare report to find any filters which were not updated in the copy and fix them in the configuration panel
  5. Register the customer namespace Asset Manager service to the SAP Gateway and test that the newly created application is working correctly in the SAP Gateway Client

Section 1: Create model in customer namespace for all SAP Asset Manager Components

  1. From the SAP Easy Access Menu in Development Client navigate to transaction /n/syclo/configpanel
  2. If a login screen appears, login with your backend user name and password
  3. From the configuration panel home, under oData Channel Integration Settings click the oData Model Configuration link
  4. Set the filter at the top of the page to the standard application and expand the hierarchy on the left. This will show all of the services that have to be re-created in the customer namespace in order to be able to copy the application correctly
  5. Next from the SAP Easy Access Menu navigate to transaction /n/IWBEP/REG_MODEL
  6. Enter Model Name: ZSAP_ONLINE_LOOKUP_EXT_01, Model Version: 1 . Please note that this is the same name in the configuration panel when we expanded the model for SAP Asset Manager with one difference: the /MERP/ prefix is replaced by the customer prefix Z. The suffix 0001 is automatically attached by the system, so it is not necessary to add this.
  7. Click the Create button
  8. Enter Model Provider Class: /MFND/CL_CORE_ODATA_V2_MPC – this is a generic model provider class which means that it will be selected in all components of Asset Manager
  9. Enter Description: Model – SAP Asset Manager Online Lookup Extension Service – this description can be anything you choose
  10. Click the Save button at the top of the screen
  11. In the Create Object Directory Entry prompt click local object
  12. The model object is now saved
  13. Click the back button
  14. Repeat Steps 6 – 13 with the following model names and descriptions, the Model Provider Class is exactly the same as the one we entered in Step 8 for all models:
Model Description
ZSAP_ASSET_CENTRAL_EXT_20 SAP Asset Central Extension 2.0
ZSAP_ASSET_MANAGER_40 SAP Asset Manager 4.0
ZSAP_CREW_MANAGER_12 SAP Crew Manager 1.2
ZSAP_FIELD_OPER_WORKER_12 SAP Field Operations Worker 1.2

If SAP Asset Manager with Meter Management is being copied the following additional model is required

Model Descriptionl
ZMISU_SAP_ASET_MANAGER_40 SAP Asset Manager 4.0 – ISU extension

 

Section 2. Create oData Service for each one of the SAP Asset Manager components and bind the previously created models

  1. Starting from the SAP Easy Access menu navigate to transaction /n/IWBEP/REG_SERVICE
  2. Enter Technical Service Name: ZSAP_ONLINE_LOOKUP_EXT_01 and Servicer Version: 1
  3. Click the Create Button
  4. Enter Description: SAP Asset Manager Online Lookup Extension
  5. Enter Data provider class: /MFND/CL_CORE_ODATA_V2_DPC, like the model provider class at the creation of the models, this data provider class is generic and will be used for all of the services that we will create
  6. Click the Save Button at the top
  7. In the Create Object Directory Entry prompt click local object and then the save button
  8. Now your service is saved and it is time to assign the model to it
  9. Click the Assign Model button and enter the name of the model we created in Section 1, step 6
  10. Click the green checkmark button
  11. Click the Save button at the top of the screen
  12. The changes have been saved
  13. Click the back button
  14. Repeat Steps 2 – 13 with the following technical services and descriptions:
Technical Service Description Model
ZSAP_ASSET_CENTRAL_EXT_20 Service Definition – SAP Asset Central Extension 2.0 ZSAP_ASSET_CENTRAL_EXT_20
ZSAP_ASSET_MANAGER_40 Service Definition – SAP Asset Manager 4.0 ZSAP_ASSET_MANAGER_40
ZSAP_CREW_MANAGER_12 Service Definition – SAP Crew Manager 1.2 ZSAP_CREW_MANAGER_12
ZSAP_FIELD_OPER_WORKER_12 Service Definition – SAP Field Operations Worker 1.2 ZSAP_FIELD_OPER_WORKER_12

If SAP Asset Manager with Meter Management is being copied, the following additional service is required

Model Description Model
ZMISU_SAP_ASET_MANAGER_40 SAP Asset Manager 4.0 – ISU extension ZMISU_SAP_ASET_MANAGER_40

Section 3: Copy the configuration from the configuration panel

  1. Starting from SAP Easy Access navigate to transaction /n/SYCLO/CONFIGPANEL
  2. If the login screen appears, login with your backend username and password
  3. From the configuration panel home page, under General Info click on Mobile Application Configuration
  4. Under the defined applications, click on the application you would like to copy. For our example we will select SAP_ASSET_MANAGER_40
  5. Click the Copy Button
  6. Change the New Mobile Application Name to ZSAP_ASSET_MANAGER_40 – deleting the suffix _CPY
  7. In the Find and Replace section, click in “Find What” and enter _CPY leave the “Replace With” blank. This will remove all of the _CPY from the strings
  8. Click the replace button – note Target Exchange Object names should look exactly the same as the source
  9. Again in the Find and Replace section click in “Find What” and enter SAM40, click in “Replace With” and enter ZSAM40
  10. Click the Replace Button
  11. Now you should note that the Target Exchange object prefix has changed from SAM40 to ZSAM40
  12. Click on the oData Service Assignment Tab
  13. Use the dropdown to select the corresponding service created in Section 2 and click the checkbox. If the checkbox is not selected, the configuration under the particular service will not be copied.
  14. Click the Copy Button
  15. If the Prompt for Customizing Request appears, create or select your customizing request and click continue.
  16. If the copy was successful you will see a green check mark in the upper right hand side of the screen
  17. Refresh your browser and when you go back into the mobile application configuration, you will see your new application

 

Section 4: Run the compare report to find out which filter values need to be manually updated

This step is required because the configuration panel copy find and replace does not search inside oData Mobile Data Object(oMDO) Filters. These filters (more particularly filter rules) need to be updated manually. The easiest way to identify the differences is to run the Syclo Application Comparison Report Utility in transaction SE38 which will identify the oMDO and the filter which needs to be updated.

  1. Starting from the SAP Easy Access Menu navigate to transaction SE38 ABAP Editor
  2. In the program field enter /SMFND/CORE_MAPP_COMPARE_PROG
  3. Click execute
  4. We want to compare 2 oData Applications, so we can disable the entire 4th section “Comparison Options” because they are not applicable. You can do this by clicking on the button outlined and labeled 1 below
  5. Next select everything in the oData Comparison options which can be done with the button immediately to the right of the variant
  6. Source Application would be the SAP Asset Manager application we copied SAP_ASSET_MANAGER_40
  7. Target Application will be the application which we created ZSAP_ASSET_MANAGER_40
  8. Reference Object Pattern is the prefix of of the Source Application which is SAM40
  9. New Object Pattern is the prefix of our application which is ZSAM40
  10. Since we did not make any adjustments in the descriptions we will leave those patterns blank
  11. In the oData Model Comparison Service Mapping Section, we will need to input the names of our services that we created. For the purposes of this guide we are working with the base SAP Asset Manager. However, if the application you are copying contains the Meter Management extension, or ISU extension, you will have to enter the New Meter Mngr Service pattern which as described above is ZMISU_SAP_ASSET_MANAGER_40
  12. Click the execute button
  13. The output of the program is as follows:
  14. What the program indicates is that the filter rule in the oMDO ZSAM40 Equipment Read Partner Function does not conform to the pattern which we have input, as compared to the standard application oMDO Equipment Read Partner Function. This is accurate because in this rule we can see the oMDO in the target application on the right still states prefix SAM40. This should be adjusted to ZSAM40_PARTNER_FUNCTION.
  15. In order to do this we navigate to the configuration panel transaction /n/SYCLO/CONFIGPANEL
  16. Under the oData Channel Integration Settings click on oData Mobile Data Object Configuration
  17. In the filter select our application ZSAP Asset Manager 4.0
  18. On the right side expand the hierarchy and select ZSAM40_EQUIPMENT
  19. Click on Data Filter Tab
  20. Expand operation Read
  21. Expand Standard Filter
  22. Find and select the PARTNER_FUNCTION filter, in the input parameter you will notice that it is still pointing to the standard application
  23. Click the change button
  24. Change the input parameter to point to our application ZSAM40_PARTNER_FUNC
  25. Click the Save Button
  26. Record the change against your customizing request
  27. Proceed to correct all of the filters that the Comparison Report Utility presents. There is only 1 informational message that it will present in the Service Header Comparison, which is not a problem that needs to be corrected. Everything in the oMDO Comparison result section needs to be corrected.
  28. The following section does not need to be corrected:

 

Section 5. Expose the newly created oData Service to the SAP Gateway

  1. In the system’s development client starting at the SAP Easy Access Menu navigate to transaction /n/IWFND/MAINT_SERVICE
  2. Click the Add Service button at the top of the screen
  3. Enter System Alias: LOCAL
  4. Enter Technical Service Name: ZSAP_ASSET_MANAGER_40 – the service we created for our new SAP Asset Manager application. If SAP Asset Manager with Meter Management extension is copied enter the ISU service ZMISU_SAP_ASSET_MANAGER_40
  5. Click the Get Services Button in the upper left hand side
  6. Our ZSAP_ASSET_MANAGER_40 or ZMISU_SAP_ASSET_MANAGER_40 service should appear in the Selected Backend Services. If the service appears select it and Click the Add Selected Service Button
  7. On the next screen click the Local Object button
  8. Uncheck the Set Current Client as Default Client in ICF Node – we will be setting up a system alias to the test client in the next step
  9. Click the green check mark button, you should get a message that you are creating the service in the customer namespace
  10. Click the green check mark button again and you should get a message “Service ZSAP_ASSET_MANAGER_40 was created and its metadata was successfully loaded”
  11. Log in your system’s test client. In this example the test client is 800 – the client number may be different for your system
  12. From the SAP Easy Access Menu again navigate to transaction /n/IWFND/MAINT_SERVICE
  13. Click the filter button at the top of the screen
  14. In the filter Technical Service Name Type: ZSAP_ASSET_MANAGER_40 which is the service that we created, and External Service name ZSAP_ASSET_MANAGER_40 which is the external application name we selected when exposing the technical service to the SAP Gateway(see screenshot after step 8). If SAP Asset Manager with Meter Management extension is being copied enter ZMISU_SAP_ASSET_MANAGER_40 instead
  15. Click the green check mark and select the service we added ZSAP_ASSET_MANAGER or ZMISU_SAP_ASSET_MANAGER_40 in the case of Meter Management component
  16. Click on the Add System Alias button
  17. An information prompt will appear letting you know that entries are not recorded against a change request which means this alias will need to be set in every system after the transport has been imported
  18. Click the green checkbox
  19. Click the New Entries button at the top of the screen
  20. Enter the Service name followed by the wild card character ZSAP_ASSET_MANAGER_40* and press the F4 button on your keyboard to pull up the selection help, or ZMISU_SAP_ASSET_MANAGER_40* in the case of Meter Management component
  21. Double click on the service to select it
  22. Enter the system alias – this is a self referencing RFC connection that is maintained in the system. For example if our system name is ABC and we are in test client 800 self referencing RFC connection defined should be referring to system ABC test client 800.
  23. Select the checkboxes Default System and Metadata Default
  24. Hit Enter; the system should populate any additional fields
  25. Click the Save Button at the top of the screen
  26. Record the change against your customization request and hit the green check button
  27. Click the back button navigating back to the Activate and Maintain Services transaction
  28. Click the SAP Gateway Client button
  29. Change the request URI where format = xml, set it to format=json
  30. Click the execute button
  31. You should receive the service document of your new application. This indicates that you have successfully set up a copy of SAP Asset Manager 4.0 in your system

Please note the URI that is being called from the gateway client includes the newly created application and this URI needs to be added to the mobile destination in the SAP Hana Cloud Platform Mobile Services if you would like to do testing from the front end mobile application

 

It is important to note that the customer namespace application created by the copy program IS NOT used as a productive application. The copy application should be USED FOR TESTING PURPOSES ONLY. SAP Asset Manager standard application was designed to be modular and extensible which means that any customizations intended to be used in production should be applied to the officially released SAP Asset Manager application.

 

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