With Solution Manager 7.2 SP06, Dynamic Tiles for Cross-Database Comparison were introduced. Dynamic Tiles in the SAP Solution Manager Launchpad display information periodically retrieved from an OData Service in the Solution Manager backend. The Dynamic Tiles for Cross-Database Comparison show the latest result of a comparison (group) run and indicate if the number of inconsistencies increased or decreased from the previous comparison run.
In this WIKI page, we will explain the example delivered with SAP standard and how to create new tiles for your CDC comparisons.
With SP06, there is one Dynamic Tile delivered with SAP standard and displayed in the Data Consistency Management group in the Solution Manager Launchpad. The example tile displays the results of the comparison CDC_DEMO_BUSINESS_PARTNER_72. This comparison is as well delivered with SP06. You can see a picture of the tile below.
In the tile, you can see the following information:
- Title: "CDC Comparison: Business Partner"
- The title should contain "CDC Comparison" and a description of the comparison.
- Subtitle: "ID: CDC_DEMO_BUSINESS_PARTNER_72"
- The subtitle contains "ID:" and the comparison name.
- Number of inconsistencies: "10"
- This is the sum of all inconsistencies in the comparison run.
- State: Red font color
- As soon as there is an inconsistency, the number is displayed in red color.
- Trend: Down arrow
- Number of inconsistencies decreased since last comparison run.
The data displayed in the tile is retrieved with an OData service in Solution Manager backend. The OData service has to return the data in a specified format. You can find the response of the OData service for the example tile in JSON format below.
As you can see, the tile parameters are configurable with the OData service. In the Solution Manager backend, you have to provide an ABAP function module which returns the parameter values. In the function module, the internal CDC API is called to return the necessary information for the provided comparison instance name.
Create Dynamic Tile for CDC Comparison
After providing an overview of the new functionality, we will now explain how to create a dynamic tile for any CDC comparison in SAP Solution Manager. In the end, you will be able to create new dynamic tiles and show them in SAP Solution Manager Launchpad. Depending on your customization needs, it will be sufficient to only add the new Dynamic Tile in the Tile Configuration. If you want to modify the information returned from CDC API (f.e. key figures, title, subtitle), you will have to create a new function module and OData service project.
Dynamic Tile in Solution Manager Launchpad
We have to create the dynamic tile in the Solution Manager Launchpad configuration. You can access the configuration using the URL https://<host>:<port>/sap/bc/ui5_ui5/sap/arsrvc_upb_admn/main.html?sap-client=<client>?scope=CUST and replacing the placeholders with the values from your Solution Manager system. In the configuration app, you have to select the catalog in which you want to create the new tile. In the catalog overview, select "Add Tile". In order to create a dynamic tile, select the template "App Launcher - Dynamic". In the new view, you can maintain all the parameters necessary for the dynamic tile. Please find below the configuration used for the demo dynamic tile.
For the new dynamic tile, you should take over all parameters from the demo tile and change the service URL and the navigation parameters accordingly.
- Keywords: Cross-Database Comparison
- Service URL: /sap/opu/odata/SAP/DSWP_CDC_DYNAMIC_TILE_SRV/CDCDynamicTile('<comparison name>')
- Semantic Object: Action
- Action: WDADswpCdcMain
- Parameters: DISPLAY_RESULT=X&COMPARISON_INSTANCE=<comparison name>
Afterwards you save the new tile. In order to see the tile in your Launchpad, you have to add it to one of your tile groups.
ABAP Function Module for OData Service
In case you want to modify the information shown in the Dynamic Tile, you will have to create a new ABAP function module. You can use the function module DSWP_CDC_DYNAMIC_TILE from function group DSWP_CDC_ODATA as a template.
In the function module, the CDC API is called to retrieve the information for the provided comparison instance. After the API call, you can modify the variables according to your needs.
After creating the function module to extract the comparison result, we will implement the OData service which populates the extracted data. The OData maintenance is done in transaction SEGW. At first, open the project DSWP_CDC_DYNAMIC_TILE. You can copy the project DSWP_CDC_DYNAMIC_TILE from the example dynamic tile. If you have already created a dynamic tile, you can reuse the OData service. Right-click the project name and select "Copy Project". In the copy popup deselect "Service Implementation" to only copy the data model from the template project.
In the new OData service, we start with adapting the entity type. You can rename the entity type and entity set to your specific need. You must not change the properties of the entity type as the exact structure and parameters are necessary for the dynamic tile.
In the service implementation, you have to add the mapping to the ABAP function module. Use the operation GetEntity (Read) and add the mapping to the created function module. Right-click on "GetEntity (Read)" and select "Map to Data Source". Now you select "Remote Function Call" and the function module you just created. You can use the mapping for the example dynamic tile as a template.
You have to register the new OData service in your local Solution Manager. This is done in the Service Maintenance area. Mark the Solution Manager system and register it. In the popup, choose the correct system and confirm. Assign the package of the ICF service and confirm the popup.
As the last step, we save the changes and generate the service.
Now we can test the service using the SAP Gateway Client (accessable in Service Maintenance). To call the service, select the entity set created earlier and complete the URI to trigger the GetEntity operation (i.e. /CDCDynamicTile('CDC_DEMO_BUSINESS_PARTNER_72'). The result set should look similar to the one shown above in the example dynamic tile.
- No labels