Setting the Table Type

Setting the Table Type

In the manifest.json file, and through annotations, you can control which table type is rendered in the list report and on the object page.

These are the type properties available within tableSettings:

Note

  • On smart phones, responsive tables are shown.

  • List report only: If the type property within tableSettings is AnalyticalTable, set the annotation sap:semantics to aggregate for the specified entity type. Note that sap:semantics is a back-end entity type definition and cannot be changed in the SAP Web IDE.

  • If you do not maintain the type property within tableSettings , and if sap:semanticsto aggregate has been set in the back-end, an analytical table is rendered.

Additional Features in SAP Fiori Elements for OData V2

In addition to using the manifest.json file, you can also use annotations to control which table type is rendered in the list report and on the object page.

These are the additional type properties available within tableSettings:

  • AnalyticalTable
  • TreeTable

Examples

Set the type property within tableSettings to the required value in the sap.ui.generic.app section of the manifest.json:

Example for the list report:

"sap.ui.generic.app": {
			"pages": [{
				"entitySet": "Zfarvd_Bs_Hd_Bo",
				"component": {
					"name": "sap.suite.ui.generic.template.ListReport",
					"list": true,
					"settings": {
						"tableSettings": {
							"type": "GridTable"
							}
					}
				},	

Examples for the object page:

"sap.ui.generic.app": {
        "pages": [
            {
                "entitySet": "STTA_C_MP_Product",
                "component": {
                    "name": "sap.suite.ui.generic.template.ListReport",
                    "list": true
                },
                "pages": [
                    {
                        "entitySet": "STTA_C_MP_Product",
                        "component": {
                            "name": "sap.suite.ui.generic.template.ObjectPage"
                            "settings": {
                                "sections": {
                                    "to_ProductText::com.sap.vocabularies.UI.v1.LineItem": {
                                        "navigationProperty": "to_ProductText",
                                        "entitySet": "STTA_C_MP_ProductText",
                                        "tableSettings": {
								      "type": "TreeTable"
								 }
                                    }
                                }
                            }
                        },

Defining tableTypes under the settings is supported for backward compatibility. However, using tableSetings is recommended for defining table types.

Note

If you maintain the type property within tableSettings in sections, it has a higher priority than the type property of tableSettings in an object page.

"pages": [{
                "entitySet": "STTA_C_MP_Product",
                "component": {
                    "name": "sap.suite.ui.generic.template.ObjectPage",
                    "settings": {
                        "showRelatedApps": true,
                        "tableSettings": {
                            "type":"ResponsiveTable"
                        },
                        "sections": {
                            "to_ProductText::com.sap.vocabularies.UI.v1.LineItem": {
                                "navigationProperty": "to_ProductText",
                                "entitySet": "STTA_C_MP_ProductText",
                                "tableSettings": {
                                    "type":"GridTable"
                                }
                            }
                        }
                    }

Additional Features in SAP Fiori Elements for OData V4

In the manifest.json file, you can control which table type is rendered in the list report and on the object page.

Examples

Set the type property within tableSettings to the required values in sap.ui5: routing: targets of the manifest.json file.

Example for the list report:

Sample Code

"targets": {
                "SalesOrderManageList": {
                    "type": "Component",
                    "id": "SalesOrderManageList",
                    "name": "sap.fe.templates.ListReport",
                    "options": {
                        "settings" : {
                            "entitySet" : "SalesOrderManage",

                            "variantManagement": "Page",

                            "initialLoad": true,                                 
                            "controlConfiguration" : {
                                "@com.sap.vocabularies.UI.v1.LineItem" : {
                                    "tableSettings": {
                                        "type": "ResponsiveTable"
                                    }
                                }
                                "@com.sap.vocabularies.UI.v1.SelectionFields" : {
                                    "filterBarSettings": {
                                        "personalization": {
                                            "item" : true,
                                            "value" : true
                                    
                                        }

                                    }
                                }
                            },

Example for the object page:

Sample Code

"SalesOrderManageObjectPage": { 

                    "type": "Component", 

                    "id": "SalesOrderManageObjectPage", 

                    "name": "sap.fe.templates.ObjectPage", 

                    "options": { 

                        "settings": { 

                            "entitySet": "SalesOrderManage", 

                            "navigation": { 

                                "_Item": { 

                                    "detail": { 

                                        "route": "SalesOrderItemObjectPage" 

                                    } 

                                } 

                            }, 

                            "variantManagement": "Control", 

                            "showRelatedApps": true, 

                            "editableHeaderContent": false, 

                            "sectionLayout": "Tabs", 

                            "controlConfiguration": { 

                                "_Item/@com.sap.vocabularies.UI.v1.LineItem": { 

                                    "tableSettings": { 

                                        "type": "GridTable", 

                                        "personalization": { 

                                            "column": true, 

                                            "sort": false 

                                        }, 

                                        "creationMode": { 

                                            "name": "CreationRow", 

                                            "createAtEnd": true 

                                        } 

                                    } 

                                }, 

                                "_Partner/@com.sap.vocabularies.UI.v1.LineItem": { 

                                    "tableSettings": { 

                                        "personalization": false 

                                    } 

                                } 

                            } 

                        } 

                    } 

                }, 

More Information

For a description of the available table types, see Tables.

For information about setting up tables in the list report through annotations, see Settings for List Report Tables.

For information about setting up tables in the object page, see Settings for Object Page Tables.