As of SAPUI5 version 1.30, APF uses the manifest.json
file as descriptor. It replaces the application configuration file. The manifest.json
file defines static information about the application, such as the name of the application or the location of various files. It is written in JavaScript Object Notation (JSON) format.
If your application still uses the application configuration file, you can skip this section.
You can also omit this step if you create an APF-based application using the generic APF runtime application because the
manifest.json
file is already contained in it. However, if you create your own BSP application with a component that extendssap.apf.base.Component
, you must also create amanifest.json
file.
Customer modifications may conflict with the SAP namespace and can be overwritten when updates are imported.
For information about the structure and content of the manifest.json
file, see Manifest (Descriptor for Applications, Components, and Libraries).
APF expects certain entries in the manifest of a component that extends sap.apf.core.Component
. Entries for four different data sources have to be defined in the sap.app
namespace:
-
For the data source
AnalyticalConfigurationLocation
, you must specify the location of the analytical configuration file. Enter the relative path from the Component.js. -
The following three data sources are predefined and must not be changed:
-
PathPersistenceServiceRoot
-
SmartBusiness
-
LogicalSystem
The data sources differ depending on whether you use SAP Business Suite powered by SAP HANA, or SAP S/4HANA. The following table gives an overview about the relevant entries that you must use in your own
manifest.json
file:Data Source
...for SAP Business Suite powered by SAP HANA and SAP BW on SAP HANA
...for SAP S/4HANA
PathPersistenceServiceRoot
/sap/hba/r/apf/core/odata/apf.xsodata
/sap/opu/odata/sap/BSANLY_APF_RUNTIME_SRV
SmartBusiness
/sap/hba/r/sb/core/odata/runtime/SMART_BUSINESS.xsodata
Not required
LogicalSystem
/sap/hba/apps/wca/dso/s/odata/wca.xsodata
Not required
-
The sap.app
namespace also contains the title of the application. This "title" entry references the text key AnalyticalConfigurationName
. When you export the text pool from APF Configuration Modeler, the up-to-date configuration title is written into the .properties file with the text key AnalyticalConfigurationName
. Ensure you also keep the location of the .properties file up to date in the manifest.json
file (entry "i18n"). At runtime, this title is displayed as the browser tab title.
{
"_version": "1.1.0",
"sap.app": {
"_version": "1.1.0",
"id": "<component ID>",
"type": "application",
"i18n": "i18n/texts.properties",
"title": "{{AnalyticalConfigurationName}}",
"description": "{{<key in .properties file>}}",
"applicationVersion": {
"version": "${project.version}"
},
"ach": "<ach>",
"dataSources": {
"<data source for analytical request>": {
"uri": "<service root of analytical request>",
"type": "OData",
"settings": {
"annotations": [
"<annotation data source>"
],
"odataVersion": "2.0"
}
},
"<annotation data source>": {
"uri": "<location of annotation file>",
"type": "ODataAnnotation",
"settings": {
"localUri": "<location of local annotation file>"
}
},
"PathPersistenceServiceRoot": {
"uri": "<URI of path persistence>",
"type": "OData",
"settings": {
"odataVersion": "2.0"
}
},
"SmartBusiness": {
"uri": "/sap/hba/r/sb/core/odata/runtime/SMART_BUSINESS.xsodata",
"type": "OData",
"settings": {
"odataVersion": "2.0"
}
},
"LogicalSystem": {
"uri": "/sap/hba/apps/wca/dso/s/odata/wca.xsodata",
"type": "OData",
"settings": {
"odataVersion": "2.0"
}
}
},
"AnalyticalConfigurationLocation": {
"uri": "./config/analyticalConfiguration.json",
"type": "JSON"
},
"resources": "resources.json",
"offline": false
},
"sap.fiori": {
"_version": "1.1.0",
"registrationIds": [
"<FioriId>"
],
"archeType": "analytical"
},
"sap.ui": {
"_version": "1.1.0",
"technology": "UI5",
"deviceTypes": {
"desktop": true,
"tablet": true,
"phone": false
},
"supportedThemes": [
"sap_horizon_hcb",
"sap_horizon"
]
},
"sap.ui5": {
"_version": "1.1.0",
"dependencies": {
"minUI5Version": "1.38.1",
"libs": {
"sap.ui.core": {
"minVersion": "1.38.1",
"lazy" : false
},
"sap.ca.ui": {
"minVersion": "1.38.1",
"lazy" : false
},
"sap.m": {
"minVersion": "1.38.1",
"lazy" : false
},
"sap.ui.layout": {
"minVersion": "1.38.1",
"lazy" : false
},
"sap.ushell": {
"minVersion": "1.38.1",
"lazy" : false
},
"sap.apf": {
"minVersion": "1.38.1",
"lazy" : false
},
"sap.viz": {
"minVersion": "1.38.1",
"lazy" : false
}
}
},
"extends": {
"component": "sap.apf.base"
},
"contentDensities": {
"compact": true,
"cozy": true
},
"models": {
"i18n": {
"type": "sap.ui.model.resource.ResourceModel",
"uri": "i18n/texts.properties"
}
},
"config": {
"sapFiori2Adaptation": true
}
}
}
The following settings reside in the sap.apf
name space:
"sap.apf": {
"activateFilterReduction" : true,
"activateLrep" : true,
},
-
activateFilterReduction
:This property is relevant if you use CDS views that are executed on the Analytic Engine or BW OData queries. It defines whether filters that are generated during a path update are reduced so that the Analytic Engine can handle them.
Alternatively, you can use the equivalent boolean URL parameter
sap-apf-filter-reduction
, which you can set to true. If a URL parameter exists, it overrules the entry in themanifest.json
. If you use the generic APF runtime application, you must use the URL parameter.If you use filter reduction, make sure you don't use more than one property in the filter mapping configuration.
-
activateLrep
If you use SAP S/4HANA, this property is mandatory and must be set to
true
.This property defines that the layered repository of SAPUI5 flexibility is used for persistence of the analytical configuration.