Skip to Content
Technical Articles

Creating a bare-bone Analytical List Page (ALP) application

In this blog, we will look at the steps to create the bare-bone of an Analytical List Page or ALP application and also discuss some of the very important ALP application manifest settings and concepts.

Prerequisites

  1. Make sure you have been to the previous blog of this blog series.
  2. For reference, you can clone the GIT repo for this sample application which we are building.

Steps to create an ALP application in Web IDE

  1. go to Web IDE –> File –> New –> Project From Template.
  2. In the “Template Selection” pop up –> select “SAP Fiori Elements” in the category drop down –> Select  “Analytical List Page/Object Page” –> click Next
  3. Fill the details about the project like name, title, namespace and description etc.
  4. In “Data Connection” pop up –> Select “Service Catalog” –> Select the system “ES5” which we have created in the previous blog of this blog series. select service “SEPMRA_PROD_MAN”
  5. In the next annotation selection step, for this blog demo purpose, I have not selected any backend annotation as I wanted the create the annotation using annotation modeller so that I can explain them in detail, But for productive scenarios, it’s better to use the backend annotations.
  6. Provide the details for entity set and settings as below. I have described all the manifest setting in the next section of this blog. And click on finish, this will create the project in your workspace.

Understanding the autogenerated manifest file

manifest.json is the application descriptor file for any SAP UI5 application which defines the static attributes of the application. In the case of an ALP application, manifest.json will have a separate namespace i.e. “sap.ui.generic.app” which will contain the attributes specifically for ALP application. This namespace  is shared bu ALP and LROP both. let’s try to understand these  attributes below:

"sap.ui.generic.app": {
		"_version": "1.3.0",
		"settings": {
			"objectPageHeaderType": "Dynamic"
		},
		"pages": {
			"AnalyticalListPage|SEPMRA_C_PD_ProductSalesData": {
				"entitySet": "SEPMRA_C_PD_ProductSalesData",
				"component": {
					"name": "sap.suite.ui.generic.template.AnalyticalListPage",
					"list": true,
					"settings": {
						"condensedTableLayout": true,
						"showGoButtonOnFilterBar": true,
						"enableTableFilterInPageVariant": true,
						"tableType": "AnalyticalTable",
						"multiSelect": true,
						"autoHide": true,
						"smartVariantManagement": true,
						"keyPerformanceIndicators": {
							"KPIRevenue": {
								"model": "",
								"entitySet": "SEPMRA_C_PD_ProductSalesData",
								"qualifier": "KPIRevenue"
							}
						}
					}
				},
				"pages": {
					"ObjectPage|SEPMRA_C_PD_ProductSalesData": {
						"entitySet": "SEPMRA_C_PD_ProductSalesData",
						"component": {
							"name": "sap.suite.ui.generic.template.ObjectPage"
						}
					}
				}
			}
		}
	},

entitySet –> Name of the main entity set of your service. Please note that this should be the entity set name and not the entity type.

Following are the setting inside “component”:

name –> name of the floorplan for the application. it should be “sap.suite.ui.generic.template.AnalyticalListPage”.

Following are the settings inside “settings”:

condensedTableLayout –> decides whether table style should be condensed or compact.

showGoButtonOnFilterBar –> decides whether the live mode of filters (compact and visual) should be enabled or not. For this blog, we will always make it true as making the filter mode to live will result in extra calls at application start for chart and table and the demo backend system results in a timeout error.

in case you have some connected visual filters then the live mode of filters should be disabled to avoid intermediate data fetch calls.

tableType –> table type of the ALP application. As of now ALP supports three table types:

  1. AnalyticalTable
  2. GridTable
  3. ResponsiveTable

multiSelect –> whether selection of multiple table is enabled or not.

selectAll –> whether select all shauld be enabled for table or not

selectionLimit –> maximum number of table rows can be selected at once

smartVariantManagement –> when set to true page-level variant management is used instead of specific control level variant management.

keyPerformanceIndicators –> Defines the setting for the KPI tag. I’ll discuss this in detail in my blog for KPI tags.

Then we again have a “pages” setting which is used to ALP’s inner app application if configured. I’ll this this in details in my blog for ALP navigation.

Conclusion

We were able to create a blank ALP application and also run the application. We also learnt about a few ALP manifest settings.

What Next?

In the next blog, I’ll discuss configuring ALP filters both visual and compact filter.

Be the first to leave a comment
You must be Logged on to comment or reply to a post.