SAP FIORI FOR SAP CRM 1.0 PDF download from SAP Help Portal: http://help.sap.com/saphelp_fiori_crm_100/helpdata/en/7f/4d54528a120A7de10000000a445394/frameset.htm Created on March 06, 2014 The documentation may have changed since you downloaded the PDF. You can always find the latest information on SAP Help Portal.
Note This PDF document contains the selected topic and its subtopics (max. 150) in the selected structure. Subtopics from other structures are not included.
© 2014 SAP AG or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Please see www.sap.com/corporateen/legal/copyright/index.epx#trademark for additional trademark information and notices.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 1 of 96
TABLE OF CONTENT 1 SAP Fiori for SAP CRM 1.0 1.1 SAP Fiori 1.1.1 SAP Fiori Search 1.1.2 SAP Fiori App Types and Database Requirements 1.1.3 Implementation Overview 1.2 Central Implementation Information 1.2.1 Installation 1.2.1.1 System Landscape 1.2.1.1.1 Deployment Options 1.2.1.2 Installation of SAP NetWeaver Gateway on Front-End Server 1.2.1.3 Installation of Central UI Components 1.2.1.4 Installation of Product-Specific UI Components 1.2.1.5 Important SAP Notes 1.2.1.6 Downloading and Installing Product Versions 1.2.2 Configuration 1.2.2.1 Configuring SAP Web Dispatcher (Fact Sheets) 1.2.2.2 Configuring SAP Fiori Search 1.2.2.3 Configuring SAP NetWeaver Gateway 1.2.2.3.1 Connect SAP NetWeaver Gateway to SAP Business Suite (Trusted RFC 1.2.2.3.2 Create System Alias for Applications 1.2.2.3.3 Activate OData Services 1.2.2.3.4 Specify Language Settings 1.2.2.4 Configuration of Central UI Add-On 1.2.2.4.1 Setup of SAP Fiori Launchpad 1.2.2.5 Configuration of Product-Specific UI Add-On 1.2.2.5.1 Activate ICF Services 1.2.2.5.2 Setup of Catalogs, Groups, and Roles in the SAP Fiori Launchpad 1.2.2.5.2.1 Creating Custom Catalog 1.2.2.5.2.2 Creating Custom Group 1.2.2.5.2.3 Creating PFCG Role and Assigning Catalogs and Groups 1.2.2.6 Roles, Users, and Authorizations 1.2.2.6.1 Roles, Users, and Authorizations on Back-End Server 1.2.2.6.1.1 Copying and Adjusting Roles 1.2.2.6.2 Assigning Users to Roles 1.2.3 Security 1.2.3.1 User Administration 1.2.3.1.1 User Management Concept 1.2.3.1.1.1 Users in ABAP Front-End System 1.2.3.1.1.2 Users in ABAP Back-End System 1.2.3.1.1.3 Users in SAP HANA System 1.2.3.1.2 User Authentication and Single Sign-On 1.2.3.1.2.1 Maintaining Single Sign-On for SAP HANA XS Applications 1.2.3.1.2.1.1 Maintaining SAP HANA Trust Stores 1.2.3.1.2.1.2 Configuring the SAP Web Dispatcher Profile 1.2.3.1.2.1.3 Maintaining SSO with X.509 Authentication for SAP HANA XS Applic 1.2.3.1.2.1.4 Maintaining SSO with SAP Logon Tickets for SAP HANA XS Applicati 1.2.3.1.3 Authorizations 1.2.3.1.3.1 Authorizations and Roles for Transactional Apps and Fact Sheets 1.2.3.1.3.2 Authorizations and Roles for SAP Fiori Launchpad 1.2.3.1.3.3 Authorizations and Roles for Analytical Apps and SAP Smart Busin 1.2.3.2 Session Security Protection 1.2.3.2.1 ABAP Server Session Security 1.2.3.2.2 SAP HANA XS Session Security 1.2.3.2.3 Logout from Multiple Systems 1.2.3.2.4 Cross-Site Request Forgery Protection (CSRF) 1.2.3.3 Network and Communication Security 1.2.3.3.1 Communication Channel Security 1.2.3.3.2 Network Security 1.2.3.3.2.1 SAP Web Dispatcher 1.2.3.3.2.2 Rewriting URLs 1.2.3.3.2.3 Internet-Facing Deployment 1.2.3.3.2.4 Virus Scanning 1.2.3.4 Internet Communication Framework Security 1.2.4 Operations 1.2.4.1 Monitoring SAP Fiori Apps 1.2.5 Extensibility 1.2.5.1 Extending SAP Fiori Applications 1.2.5.1.1 Architecture Overview 1.2.5.1.2 Application Types 1.2.5.1.3 Content Layer Considerations 1.2.5.1.4 Extending Content Layers 1.2.5.2 Extending the SAP NetWeaver Gateway Layer 1.2.5.2.1 OData Extensibility 1.2.5.2.1.1 OData Extensibility in Gateway 1.2.5.3 Extending the SAP HANA Layer 1.2.5.4 Extending the UI Layer 1.2.5.4.1 Custom Application Extensibility 1.2.5.4.2 UI Extensibility Workflow 1.2.5.4.2.1 Download the SAP-Delivered Standard Application from the ABAP Sy 1.2.5.4.2.2 Testing the SAP-Delivered Standard Application
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 2 of 96
1.2.5.4.2.3 Creating a Custom Application 1.2.5.4.2.4 Checking the SAP-Enabled Extension Options 1.2.5.4.2.5 Defining Extensions Metadata 1.2.5.4.2.6 Testing the Custom Application 1.2.5.4.2.7 Uploading the Custom Application to SAPUI5 Repository 1.2.5.4.2.8 Smoke-Testing the Custom Application on the ABAP System 1.2.5.4.2.9 Configuring the Custom Application on the Fiori Launchpad 1.2.5.4.2.10 Testing the Custom Application on the Fiori Launchpad 1.2.5.4.3 UI Extensibility for Analytical Apps using Smart Business 1.2.5.5 Extending the Search Model Layer 1.2.5.5.1 Fact Sheet Extensibility 1.2.5.5.1.1 Extending a Search Model 1.2.5.5.1.2 Checking the Properties of an OData Service 1.2.5.5.1.3 Annotation File 1.2.5.5.1.3.1 Using Annotation Tags 1.2.5.5.1.3.1.1 Adding a New Field to a Fact Sheet 1.2.5.5.1.3.1.2 Adding Key Figures to a Fact Sheet 1.2.5.5.1.3.1.2.1 Adding Internal Key Figures to a Fact Sheet 1.2.5.5.1.3.1.2.2 Adding External Key Figures to a Fact Sheet 1.2.5.5.1.4 Register a BSP Application in Launchpad Customizing 1.2.5.6 Additional References 1.2.6 Implementing Apps in Customer Relationship Management 1.3 SAP Fiori Apps for SAP CRM 1.3.1 My Accounts 1.3.1.1 App Implementation: My Accounts 1.3.1.2 App Extensibility: My Accounts 1.3.2 My Contacts 1.3.2.1 App Implementation: My Contacts 1.3.2.2 App Extensibility: My Contacts 1.3.3 My Appointments 1.3.3.1 App Implementation: My Appointments 1.3.3.2 App Extensibility: My Appointments 1.3.4 My Notes 1.3.4.1 App Implementation: My Notes 1.3.4.2 App Extensibility: My Notes 1.3.5 My Tasks 1.3.5.1 App Implementation: My Tasks 1.3.5.2 App Extensibility: My Tasks 1.3.6 My Leads 1.3.6.1 App Implementation: My Leads 1.3.6.2 App Extensibility: My Leads 1.3.7 My Opportunities 1.3.7.1 App Implementation: My Opportunities 1.3.7.2 App Extensibility: My Opportunities 1.3.8 Track Sales Pipeline 1.3.8.1 App Implementation: Track Sales Pipeline 1.3.8.2 App Extensibility: Track Sales Pipeline 1.3.9 Simulate Sales Pipeline 1.3.9.1 App Implementation: Simulate Sales Pipeline 1.3.9.2 App Extensibility: Simulate Sales Pipeline 1.3.10 Approve Requests 1.3.10.1 App Implementation: Approve Requests 1.3.10.2 App Extensibility: Approve Requests
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 3 of 96
1 SAP Fiori for SAP CRM 1.0 Product Information Product
SAP Fiori for SAP CRM
Release
1.0
Based on
SAP enhancement package 3 for SAP CRM 7.0, SPS 03
Documentation published
February 2014
1.1 SAP Fiori SAP Fiori is a collection of apps that represent the new SAP user experience paradigm. These apps speak a consistent design language and make use of a common technical infrastructure. By blurring traditional computing boundaries and by using interactive and attractive UI elements, they provide a consistent end-to-end user experience and can be used across all device types without creating additional implementation effort. Organized by user role, the SAP Fiori launchpad is the central entry hub to all Fiori apps, where users access apps via tiles. Within the launchpad are services for navigation, personalization, single sign-on, and search. The launchpad and the tiles are flexible and can be adapted to your needs. You can use the search in the SAP Fiori launchpad to search for business objects and for apps. For more information, see SAP Fiori Search. The Fiori apps focus on the most critical and common activities and are designed around how people work: Role-based: Fiori apps decompose complex applications into a task-based experience with one central entry point for each user. Responsive: Fiori apps adapt to all sizes, devices, versions, and channels to provide a common user experience across all channels. Simple: Fiori apps follow the 1-1-3 experience (1 user, 1 scenario, 3 screens). They know and provide the right context and meaningful data integration. Coherent: user experience with apps that speak the same design language. This implies coherence for common activities as well as coherence for your brand. Instant value: with a low barrier to adoption, enabling customers to adapt and users to personalize. All UIs are built using state-of-the-art technology such as HTML5 and SAP UI5 mobile. Fiori apps allow you to access the most recent version of your back-end data via OData services. Through previously defined roles and authorizations you can specify which apps and which data a user is allowed to access.
Note Please note that you might need additional licences to run SAP Fiori apps.
More Information For more information about how to set up and implement SAP Fiori apps and the search in the SAP Fiori launchpad, see Implementation Overview, Installation and Configuration . For more information about the SAP Fiori Launchpad, see SAP Library for User Interface Add-On 1.0 for SAP NetWeaver on SAP Help Portal at http://help.sap.com/nw-uiaddon. In SAP Library, choose Administration Guide Content Administration SAP Fiori Launchpad .
1.1.1 SAP Fiori Search SAP Fiori search enables you to search for business objects across your core SAP Business Suite applications and to search for apps in the SAP Fiori Launchpad. It uses the SAP NetWeaver Embedded Search technology on an SAP HANA database. With SAP HANA as a basis, the search directly accesses transactional database tables. Searching for business objects, you can use the following operators:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 4 of 96
Symbol None
Example share warrants
Description Finds results that contain both the word "shares" and the word "warrants".
OR
shares OR warrants
Finds results that contain either the word "shares" or the word "warrants".
-
shares -warrants
Finds results that contain the word "shares" but not the word "warrants".
*
warr*
Finds results containing words that start with "warr", for example "warrants", "warranty", and "warranted".
""
"with best regards"
Finds results that contain the exact phrase "with best regards".
The result list is sorted by relevance, which is calculated based on the following factors: Weights of attributes, for example, a hit in the surname is ranked higher than a hit in the first name. Number of hits within an object (proportional to the text length and frequency of other words).
Recommendation To narrow down your search to a certain business object, add the name of the business object to the search term. For example, to search for purchase orders addressed to a certain supplier, enter a supplier name and then the term purchase order. In the search results, the purchase orders are then listed before any other objects related to the supplier. If you cannot find the expected results try again using *, for example *12345 or *john*. Be aware that entering letters of search term in uppercase or in lowercase does not make a difference. The search is not casesensitive. New SAP HANA-enabled search models are available for important business objects of the SAP Business Suite. They have a simple, table-based structure, which enables a high performance in the determination of search results. You can find an up-to-date list about the delivered SAP HANA-enabled search models in SAP Note 1861013. You can call up fact sheets from the results of the SAP Fiori search to display details about the objects found and to navigate to their related object, to transactional apps. You can also access back-end transactions through fact sheets (from desktop devices only). For more information, see SAP Fiori App Types and Database Requirements
1.1.2 SAP Fiori App Types and Database Requirements SAP Fiori has three app types, each distinguished by their focus and infrastructure requirements: Transactional apps Fact sheets Analytical apps When installing Fiori apps, we recommend separating the front-end components with the UI layer from the back-end components that contain the business logic and the back-end data. For more information about this deployment option, see Implementation Overview. All Fiori apps can be accessed internally via the intranet. The transactional apps can also be accessed externally via the internet. We recommend to use SAP Web dispatcher as reverse proxy server. Other options are possible but will not be described in the documentation. Transactional Apps These apps let you perform transactional tasks, such as creating a leave request for an employee. They represent simplified views and interaction with existing business processes and solutions. They run best on an SAP HANA database, but can also be ported to other databases with acceptable performance. The figure below shows an overview of the architecture for the transactional apps.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 5 of 96
Transactional Apps
For the transactional apps, the ABAP front-end server contains the UI layer with the necessary product-specific UI components for the respective products (for example, ERP Financials (ERP-FIN), Customer Relationship Management (CRM), Supply Chain Management (SCM) and so on) as well as the infrastructure components. The infrastructure comprises the central UI component with the SAP UI5 control library and the SAP Fiori launchpad as well as SAP NetWeaver Gateway with the OData enablement. These front-end components have access through a trusted RFC connection to the ABAP back-end server containing the business logic. The underlying database can be an SAP HANA database, or any database, and can be accessed from the back-end server. The SAP Web dispatcher is the entry point for HTTP(s) requests into your system. It can reject or accept connections. When it accepts a connection, it selects and appropriate application server and balances the load to ensure an even distribution across the servers. Fact Sheets These apps display contextual information and key facts about central objects used in your business operations. Fact sheets are designed to be intuitive and harmonized. From a fact sheet area (tile), you can drill down into its details. You can easily navigate from one fact sheet to its related fact sheets. For example, you can navigate from a document to the related business partner or to the master data. From fact sheets, you can start transactions by navigating to transactional apps, or by accessing the back-end system directly. For example, from a document fact sheet, you can access the back-end system to display document details or to edit the document in SAP GUI or Web Dynpro.
Note From mobile devices or tablets, you cannot access SAP GUI or Web Dynpro transactions through the SAP Fiori launchpad. You can call up the fact sheets from these locations: from the search results displayed in the launchpad, from other fact sheets, or from transactional or analytical apps. The displayed data is consumed immediately from the SAP HANA database, mainly through search models. Fact sheets run only on an SAP HANA database and require an ABAP stack. They cannot be ported to the SAP HANA live (2-tier) architecture. The following figure shows an architectural overview of the fact sheets.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 6 of 96
Fact Sheets
For the fact sheets, the ABAP front-end server contains the UI layer with the central UI component and the necessary product-specific UI components for the respective products used (for example, ERP-FIN, CRM, SCM and so on) as well as SAP NetWeaver Gateway. The central UI component contains for example the SAP UI5 control library and the SAP Fiori launchpad. The front-end server has read access to the ABAP back-end server through a trusted RFC connection. The ABAP back-end server contains the SAP Business Suite with the business logic, search models, OData services, and the model provider. The SAP Web dispatcher selects the appropriate server for HTTP(s) requests, for example for the INA search protocol requests to the search models in the ABAP back-end server. Analytical Apps These apps let you get a role-based insight into real-time operations of your business by collecting and displaying key figures directly in your browser. They can be SAP Smart Business applications but can also be other analytical, predictive, and planning applications. Analytical apps combine the data and analytical power of SAP HANA with the integration and interface components of SAP Business Suite. They provide real-time information on large volume data in a simplified front end for enterprise control. With SAP Smart Business, you can closely monitor your most important key performance indicators (KPIs) in real time and react immediately on changes in market conditions or operations. To do this, you can easily use the pre-delivered KPIs and insight-to-action scenarios or define your own ones based on the KPI modeler tool. For more information on the KPI modeler, see SAP Library for SAP Smart Business 1.0 on SAP Help Portal at http://help.sap.com/ssb Application Help Tools SAP Smart Business, Component for KPI Modeling . These apps run only on an SAP HANA database following the SAP HANA live (2-tier) architecture using virtual data models (VDM). The following figure shows an architectural overview of the analytical apps.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 7 of 96
Analytical Apps
The ABAP front-end server contains the UI layer with the infrastructure and the necessary product-specific UI components for the respective products used (for example, ERP-FIN, CRM, SCM and so on). The infrastructure comprises SAP NetWeaver Gateway with the OData enablement and the central UI component with the SAP UI5 control library and the SAP Fiori launchpad. These front-end components have access through a trusted RFC connection to the ABAP back-end server with the business logic. The underlying database can only be an SAP HANA database. The HANA XS Engine also contains the SAP Fiori app content for the different Business Suite products and the SAP Smart Business component with the KPI modeler and the generic drill-down app as well as the Virtual Data Model (VDM) reuse content. The SAP Web dispatcher selects the appropriate server for HTTP(s) requests, for example for the OData calls to the ABAP front-end server or the HANA XS Engine.
1.1.3 Implementation Overview To use the SAP Fiori apps, you need to install the necessary front-end components and the Gateway services to make a connection to the back end possible. We recommend separating the business logic and the back-end data from the UI layer for the following strategic advantages: Decoupling the lifecycle of the UI apps from the back end, especially for the apps also that run on any database, which has these advantages: Faster iterations for the UI apps Changes to the UI are possible without having development authorizations in the back end. Single point of maintenance for UI issues, such as browser support and updated versions of SAP UI5 libraries Central place for theming and branding SAP Fiori apps To separate back-end from front-end components, set up SAP NetWeaver Gateway with the deployment option Central Hub Deployment. This means you must install SAP NetWeaver Gateway independent of consumer technologies in a standalone system, either behind or in front of the firewall, depending on whether you want to enable users to consume the Fiori apps only internally or also externally. In this scenario, the complete UI layer consisting of the central UI component, the product-specific UI components and the SAP NetWeaver Gateway is contained in the ABAP front-end server. The central UI component contains the SAP UI5 control library and the SAP Fiori launchpad. In addition, the product-specific UI components contain the UI developments for the respective Business Suite product, such as ERP-FIN, ERP-SD, ERP-MM, CRM or SCM. SAP NetWeaver Gateway is a development framework, which offers development and generation tools to create OData services to a variety of client development tools. Put simply, it establishes a connection between SAP Business Suite data and target clients, platforms, and programming framework. The ABAP back-end server contains the business logic and the back-end data. The SAP Web dispatcher is the entry point for HTTP(s) requests. It can reject or accept connections. When it accepts a connection, it selects an appropriate application server and balances the load to ensure an even distribution across the servers. The figure below shows an overview of the necessary steps that need to be completed to install and configure Fiori apps.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 8 of 96
Overview of Necessary Implementation Steps
All the steps to install and configure a Fiori app from the figure above are explained in the table below. Activity Transactional Apps Fact Sheets Analytical Apps Check Prerequisites Not relevant Not relevant SAP HANA live Install SAP NetWeaver Gateway Components (Front End)
Yes
Yes
Yes
Install Central UI Components (Front End)
Yes
Yes
Yes For SAP Smart Business apps: install KPI framework in addition
Install Product-Specific UI Components (Front-End)
Yes
Yes
Yes
Install SAP Web Dispatcher or Any Other Reverse Proxy (Front End)
Not relevant
Yes
Yes
Configure SAP Web Dispatcher Not relevant or Any Other Reverse Proxy (Front End)
Yes
Yes
Configure Enterprise Search (Back End)
Not relevant
Yes
Not relevant
Configure SAP NetWeaver Gateway (Front End)
Yes
Yes
Yes
Configure Central UI Component (Front End)
Yes
Yes
Yes
Configure Product-specific UI Components (Front End)
Yes
Yes
Yes
Configure Back End (Back End)
Copy and adjust delivered back-end roles and assign users to them. For more information, see Installation and Configuration.
Copy and adjust delivered back-end roles and assign users to them. For more information, see Installation and Configuration.
Configure the PFCG roles in the ABAP back end system and the privileges in SAP HANA live. For more information, see SAP Smart Business 1.0 on SAP Help Portal at http://help.sap.com/s sb Administrator’s Guide .
Note The installation requirements for the analytical apps are slightly more complex because the distribution of the requests is more complex in a 2-tier architecture.
More Information For more information about the installation, configuration and operation of Fiori apps, see Installation and Configuration. For more information about security, see Security. For more information about extensibility of Fiori apps (such as adding new fields or layout options), see Extending SAP Fiori Applications.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 9 of 96
For more information about the installation and configuration of SAP HANA live, see SAP HANA Live for SAP Business Suite 1.0 on SAP Help Portal at http://help.sap.com/hba Administrator’s Guide . For more information about the installation of SAP Smart Business, see SAP Smart Business 1.0 on SAP Help Portal at http://help.sap.com/ssb Administrator’s Guide . For more information about the individual Fiori apps (such as the names of the PFCG roles for each app, the name of the gateway service, the system prerequisites), see the functional description and the implementation documentation for each app in the product documentation for the respective product (CRM, ERP, SCM and so on). For more information about SAP NetWeaver Gateway deployment options, see SAP Library for SAP NetWeaver Gateway 2.0 SPS07 on SAP Help Portal at http://help.sap.com/nwgateway20 Application Help Support Package 07 SAP NetWeaver SAP NetWeaver Gateway Master Guide Deployment Options, and Embedded Versus Hub Deployment .
1.2 Central Implementation Information
1.2.1 Installation This document covers the general steps to take when installing SAP Fiori apps. Where necessary, these instructions refer to appspecific documentation.
System Landscape According to the type of app you want to use, the system landscape for SAP Fiori apps consists of different components for the front end and the back end. For more information, see System Landscape. For the installation of SAP NetWeaver Gateway, SAP recommends to use the Central Hub Deployment option, which means that you separate business content from front-end content. You therefore have to install components on a back-end server and a front-end server. For more information, see Deployment Options.
Prerequisites The following software versions are required:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 10 of 96
Software Database
Minimum Release Required anyDB (transactional apps, only)
Details See the installation guide for the respective SAP Business Suite product release.
HANA 1.0 SPS 07 Revision 71
See the documentation for SAP HANA Platform at http://help.sap.com/hana_plat form Installation and Upgrade Information SAP HANA Server Installation Guide .
SAP NetWeaver
Back-End Server: SAP NetWeaver 7.40 SPS 05 Front-End Server: SAP NetWeaver 7.31 SPS 04 or 7.40 SPS 04
See the documentation at http://help.sap.com/nwgateway 20 Installation and Upgrade Information Installation Guide .
Respective Business Suite product
Back-End Server: See the documentation at SAP enhancement package 7 for SAP ERP http://help.sap.com/erp607 6.0 SPS 03 Installation and Upgrade Information (EHP7 FOR SAP ERP 6.0) Installation Guide . Back-End Server: SAP enhancement package 3 for SAP Supply Chain Management 7.0 SPS 03 (EHP3 FOR SAP SCM 7.0)
See the documentation at http://help.sap.com/scm703 Installation and Upgrade Information Installation Guide .
Back-End Server: SAP enhancement package 3 for SAP CRM 7.0 SPS 03 (EHP3 FOR SAP CRM 7.0)
See the documentation at http://help.sap.com/crm703 Installation and Upgrade Information Installation Guide .
Back-End Server: SAP enhancement package 3 for SAP Supplier Relationship Management 7.0 SPS 03 (EHP3 FOR SAP SRM 7.0)
See the documentation at http://help.sap.com/srm703 Installation and Upgrade Information Installation Guide .
Back-End Server: SAP Portfolio and Project Management 6.0 SPS 01 (SAP PPIM 6.1)
See the documentation at http://help.sap.com/ppm Installation and Upgrade Information Master Guide .
Back-End Server: SAP Access Control 10.1 SPS 04 (SAP GRC ACCESS CONTROL 10.1)
See the documentation at http://help.sap.com/grc-ac Installation and Migration Information Installation Guide .
Installation Tasks The table lists the installation tasks required for SAP Fiori apps: Step Task 1 Front-End Server Install the required SAP NetWeaver Gateway components.
Details Relevant for See Installation of SAP Transactional apps and fact NetWeaver Gateway on Front- sheets End Server.
2
Front-End Server Install the central UI components.
See Installation of Central UI Components.
Transactional apps and fact sheets
3
Front-End Server Install the product-specific UI component that corresponds to the Business Suite product that you use.
See Installation of ProductSpecific UI Components.
Transactional apps and fact sheets
4
Front-End Server For SAP Web Dispatcher, see Install SAP Web Dispatcher 7.40 or any other reverse proxy http://help.sap.com/n w74 System Administration and Maintenance Information Technical Operation for SAP NetWeaver Administration of SAP Standalone Engines Technical Operations for SAP WebDispatcher .
Fact sheets
5
Install SAP Notes.
Transactional apps and fact sheets
See Important SAP Notes.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 11 of 96
Installation Tool We recommend that you use Software Update Manager in combination with Maintenance Optimizer to install the components. This facilitates SAP NetWeaver-based application system upgrades, enhancement package updates, and support package installation, while offering a harmonized UI. Software Update Manager is shipped as part of the software logistics toolset (SL Toolset) 1.0 – independently of the applications. You can download Software Update Manager from the Download Center on SAP Service Marketplace at http://service.sap.com/swdc SAP Software Download Center Search for Software Downloads Software Update Manager . Maintenance Optimizer in SAP Solution Manager is the central point of access for all maintenance activities. It supports the installation of updates and upgrades and completely manages the maintenance activities for your whole solution, and is centrally accessible from inside SAP Solution Manager. You can find more information under https://service.sap.com/mopz.
Note Alternatively, you can use the add-on installation tool (transaction SAINT) for the installation. For more information about SAINT, see Add-On Installation Tool.
1.2.1.1 System Landscape The following graphics show the detailed system landscape for SAP Fiori transactional apps and fact sheets. Transactional App Landscape
System Landscape for Transactional Apps
Fact Sheet Landscape
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 12 of 96
System Landscape for Fact Sheets
Components of the System Landscape Depending on the system landscape, the following components are used: Client
To be able to run SAP Fiori apps, the runtime environment (such as the browser) of the client must support HTML5. SAP Web Dispatcher
The SAP Fiori apps send requests to several systems, depending on the application type and the connected system landscape. SAP Fiori are processed as follows: First, the client loads the UIs for the SAP Fiori apps. Second, while running, the app consumes data from the SAP Business Suite back-end systems. Standard browsers have a "same origin" policy, that is, HTTPS requests for the UI data and the back-end data must communicate with just one web address. To meet this requirement, a reverse proxy server between the client and the SAP system must be installed. The reverse proxy server acts as the only point of entry for all HTTPS requests. Depending on the requests that the app sends, the reverse proxy server selects the appropriate application server, the ABAP front-end server, the HANA XS Engine, or SAP NetWeaver Gateway server.
Note We recommend to use SAP Web Dispatcher as reverse proxy server.
ABAP Front-End Server
The ABAP front-end server contains all the infrastructure components to generate a SAP Fiori app-specific UI for the client and to communicate with the SAP Business Suite back-end systems. The UI components and the gateway are based on SAP NetWeaver. Typically, both are deployed on the same server. The central UI component is a framework that provides the common infrastructure for all SAP Fiori apps: SAP Fiori launchpad is the basis of all SAP Fiori UIs, and provides fundamental functions for SAP Fiori apps such as logon, surface sizing, navigation between apps, and role- based app catalogs. End-users access the SAP Fiori apps from the SAP Fiori launchpad. The specific UIs for the apps are delivered as SAP Business Suite product-specific UI add-on products, which must be additionally installed on the front-end server. SAP NetWeaver Gateway handles the communication between the client and the SAP Business Suite backend. SAP NetWeaver Gateway uses OData services to provide back-end data and functions, and processes HTTPS requests for OData services. The transactional apps, which are updating data in the SAP Business Suite systems, use this communication channel. ABAP Back-End Server
In the ABAP back-end server, the SAP Business Suite products are installed, which provide the business logic and the back-end data, including users, roles, and authorizations. The add-ons for the SAP Fiori apps are continuously released in Support Packages. The backend server is based on SAP NetWeaver. Database
SAP HANA is an in-memory database platform that you can use to analyze large volumes of data in real-time. anyDB stands for any database that stores the data for the back-end server. For transactional apps, any database can be deployed instead of SAP HANA.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 13 of 96
More Information For more information, see SAP Fiori App Types and Database Requirements.
1.2.1.1.1 Deployment Options Deployment of SAP NetWeaver Gateway For running SAP Fiori apps, we recommend that you use a Central Hub Deployment of SAP NetWeaver Gateway. This means you install SAP NetWeaver Gateway independent of consumer technologies in a standalone system, either behind or in front of the firewall. You therefore separate back-end components from front-end components. We do not recommend the Embedded Deployment option. This document is entirely based on the Central Hub Deployment option. For more information about SAP NetWeaver Gateway deployment options, see SAP Library for SAP NetWeaver Gateway 2.0 SP07 on SAP Help Portal at http://help.sap.com/nwgateway20 Application Help Support Package 07 SAP NetWeaver Gateway Master Guide Deployment Options/Embedded Versus Hub Deployment .
Internet-Facing Deployment Only transactional SAP Fiori apps can be used externally via the internet. This also applies to mobile devices that are not directly connected to the corporate intranet (in case users are travelling). For more information, see Internet-Facing Deployment.
1.2.1.2 Installation of SAP NetWeaver Gateway on Front-End Server On your front-end server, some components have to be available as part of your SAP NetWeaver Gateway installation: If you run SAP NetWeaver 7.31 SPS 04 or higher on your front-end server, you have to install the listed components. If you run SAP NetWeaver 7.40 SPS 04 or higher on your front-end server, the listed components are automatically installed with your SAP NetWeaver installation. Verify that they are in place. You can download the product versions containing the Gateway components from SAP Service Marketplace. For more information, see Downloading and Installing Product Versions. Required SAP NetWeaver Gateway Components You can find details on the installation of SAP NetWeaver Gateway in the SAP Library for SAP NetWeaver Gateway 2.0 SPS 07 on SAP Help Portal, at http://help.sap.com/nwgateway20 Application Help Support Package 07 SAP NetWeaver Gateway SAP NetWeaver Gateway Installation Guide . SAP EhP3 for SAP NetWeaver 7.0
If you run EhP 3 for SAP NetWeaver 7.0 on your front-end server, install the following components of SAP NetWeaver Gateway 2.0: SAP NW Gateway Product Instance Comprised Component Versions Support Package Gateway Server Core NW 703/731 GW_CORE 200 (GW_Core 200) SP07 SP07 SAP IW FND 250 (IW_FND 250) SP09 SAP WEB UIF 7.31 (WEBCUIF 731) Gateway PGW
SAP IW PGW 100 (IW_PGW 100) SAP IW BEP 200 (IW_BEP 200)
SP04 SP07
SAP EhP4 for SAP NetWeaver 7.0
If you run EhP 4 for SAP NetWeaver 7.0 on your front-end server, install the following components of SAP NetWeaver Gateway 2.0: NW Gateway Product Instance Comprised Component Versions Support Package As of SAP NetWeaver 7.4, the components GW_CORE, IW_FND and IW_BEP are SP04 replaced by a new software component for the SAP NetWeaver Gateway foundation, SAP_GWFND. This component is included in the SAP NetWeaver installation. Only for the Approve Requests app: Install Gateway PGW NW 740.
SAP IW PGW 200 (IW_PGW 200)
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
SP04
Page 14 of 96
1.2.1.3 Installation of Central UI Components If you run SAP NetWeaver 7.31 on your front-end server, you have to install the listed central SAP UI5 components. If you run SAP NetWeaver 7.4 on your front-end server, the components are automatically installed with your SAP NetWeaver installation. Verify that they are in place. SAP NW Release Required Central SAP UI5 Add-On Product Comprised Component Versions Version EHP3 FOR SAP NETWEAVER 7.0 (AS UI ADD-ON 1.0 FOR NW 7.03 (minimum SAP IW BEP 200 (IW_BEP 200), SP07 ABAP) (minimum support package stack support package stack 07), instances SAP UI ADD-ON INFRA V1.0 (UI_INFRA 04) or higher Integration Services: Provider and 100), SP07 or Integration Services: Libs SAP UI2 SERVICES V1.0 (UI2_SRVC SAP EhP1 for SAP NetWeaver 7.3 or 100), SP07 higher SAPUI5 CLIENT RT AS ABAP 1.00 (UISAPUI5 100), SP07 SAP UI2 FOUNDATION V1.0 (UI2_FND 100), SP07 SAP UI2 IMPL. FOR NW 7.00 V1.0 (UI2_700 100), SP07 SAP UI2 IMPL. FOR NW 7.01 V1.0 (UI2_701 100), SP07 SAP UI2 IMPL. FOR NW 7.02 V1.0 (UI2_702 100), SP07 SAP UI2 IMPL. FOR NW 7.31 V1.0 (UI2_731 100), SP07 SAP NETWEAVER 7.4 (AS ABAP), SAP NETWEAVER 7.4 FOR SUITE (AS ABAP) (minimum support package stack 04 and component SAP UI 7.40 SP07 for both)
All required components are included in the SAP NetWeaver 7.4 installation. Verify that the above-mentioned components are in place.
You can download the UI components from SAP Service Marketplace. For more information, see Downloading and Installing Product Versions.
1.2.1.4 Installation of Product-Specific UI Components Depending on the Business Suite product(s) you use, you need to install the applicable user interface (UI) components on your front-end server.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 15 of 96
Business Suite Product SAP ERP
Based On EHP 3 for SAP NetWeaver 7.0
SAP CRM
SAP SRM
Relevant Instance
Components That Are Automatically Installed Installing the instances on the left automatically installs the following software component versions: UIEAAP01 100 UIRT401 100
SAP Fiori for SAP ERP 1.0 SPS 01 (UI FOR EHP7 FOR SAP ERP 6.0)
UI for Central App NW731 UI for Retail NW731
SAP Fiori principal apps for SAP ERP 1.0 SPS 01 (FIORI ERP APPLICATIONS X1 1.0)
Central App UI NW731 HCM UI NW731 Travel UI NW731
Installing the instances on the left automatically installs the following software component versions: UIX01EAP 1.0 UIX01HCM 1.0 UIX01TRV 1.0
SAP Fiori for SAP ERP 1.0 SPS 01 (UI FOR EHP7 FOR SAP ERP 6.0)
UI for Central App NW740 UI for Retail NW740
Installing the instances on the left automatically installs the following software component versions: UIEAAP01 100 UIRT401 100
SAP Fiori principal apps for SAP ERP 1.0 SPS 01 (FIORI ERP APPLICATIONS X1 1.0)
Central App UI NW740 HCM UI NW740 Travel UI NW740
Installing the instances on the left automatically installs the following software component versions: UIX01EAP 1.0 UIX01HCM 1.0 UIX01TRV 1.0
EHP 3 for SAP NetWeaver 7.0
SAP Supply Network Collaboration, UI add-on for purchase order collaboration 1.0 SPS 01 (SAP SNC USABILITY EXT 1.0)
SNC Mobile UI Ext. NW731
Installing the instances on the left automatically installs the following software component version: SCMSNC_EXT1 100 (SCMSNCE1)
EHP 4 for SAP NetWeaver 7.0
SAP Supply Network Collaboration, UI add-on for purchase order collaboration 1.0 SPS 01 (SAP SNC USABILITY EXT 1.0)
SNC Mobile UI Ext. NW740
Installing the instances on the left automatically installs the following software component version: SCMSNC_EXT1 100 (SCMSNCE1)
EHP 3 for SAP NetWeaver 7.0
SAP Fiori for SAP CRM 1.0 SPS 01 (UI FOR EHP3 FOR SAP CRM 7.0)
CRM AS ABAP UI NW731
Installing the instances on the left automatically installs the following software component version: UICRM001 100
EHP 4 for SAP NetWeaver 7.0
SAP Fiori for SAP CRM 1.0 SPS 01 (UI FOR EHP3 FOR SAP CRM 7.0)
CRM AS ABAP UI NW740
Installing the instances on the left automatically installs the following software component version: UICRM001 100
EHP 3 for SAP NetWeaver 7.0
SAP Fiori for SAP SRM 1.0 SPS 01 (UI FOR EHP3 FOR SAP SRM 7.0)
SRM Server UI NW731
Installing the instances on the left automatically installs the following software component version: UISRM200 100
SAP Fiori principal apps for SAP SRM 1.0 SPS 01 (FIORI SRM APPLICATIONS X1 1.0)
SRM Server UI NW 731
Installing the instance on the left automatically installs the following software component version: UIX01SRM 1.0
SAP Fiori for SAP SRM
SRM Server UI
Installing the instances
EHP 4 for SAP NetWeaver 7.0
SAP SCM
Required UI Component
EHP 4 for SAP
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 16 of 96
NetWeaver 7.0
SAP GRC
SAP PORTF AND PROJ MGMT
SAP ILM
For the Approve Requests app: SAP NetWeaver and, optionally, SAP ERP and/or SAP SRM
1.0 SPS 01 (UI FOR EHP3 FOR SAP SRM 7.0)
NW740
on the left automatically installs the following software component version: UISRM200 100
SAP Fiori principal apps for SAP SRM 1.0 SPS 01 (FIORI SRM APPLICATIONS X1 1.0)
SRM Server UI NW 740
Installing the instance on the left automatically installs the following software component version: UIX01SRM 1.0
EHP 3 for SAP NetWeaver 7.0
SAP Fiori for SAP Access Control 1.0 SPS 01 (UI FOR SAP ACCESS CONTROL 10.1)
UI for Access Control NW731
Installing the instances on the left automatically installs the following software component version: UIGRC001 100
EHP 4 for SAP NetWeaver 7.0
SAP Fiori for SAP Access Control 1.0 SPS 01 (UI FOR SAP ACCESS CONTROL 10.1)
UI for Access Control NW740
Installing the instances on the left automatically installs the following software component version: UIGRC001 100
EHP 3 for SAP NetWeaver 7.0
SAP Fiori for SAP Portfolio and Project Management 1.0 SPS 01 (UI FOR SAP PORTF PROJ MGMT 6.0)
UI for PPM NW731
Installing the instances on the left automatically installs the following software component version: UIPPM001 100
EHP 4 for SAP NetWeaver 7.0
SAP Fiori for SAP Portfolio and Project Management 1.0 SPS 01 (UI FOR SAP PORTF PROJ MGMT 6.0)
UI for PPM NW740
Installing the instances on the left automatically installs the following software component version: UIPPM001 100
EHP 3 for SAP NetWeaver 7.0
SAP Fiori for SAP Information Lifecycle Management 1.0 (UI FOR SAP ILM 1.0)
UI for ILM NW731
Installing the instances on the left automatically installs the following software component version: UIILM001 100
EHP 4 for SAP NetWeaver 7.0
SAP Fiori for SAP Information Lifecycle Management 1.0 (UI FOR SAP ILM 1.0)
UI for ILM NW740
Installing the instances on the left automatically installs the following software component version: UIILM001 100
EHP 3 for SAP NetWeaver 7.0
SAP Fiori for Request Approvals 1.0 (FIORI APPROVE REQUESTS X1 1.0)
Approve Requests UI NW731
Installing the instance on the left automatically installs the following software component version: UIX01CA1 1.0
EHP 4 for SAP NetWeaver 7.0
SAP Fiori for Request Approvals 1.0 (FIORI APPROVE REQUESTS X1 1.0)
Approve Requests UI NW740
Installing the instance on the left automatically installs the following software component version: UIX01CA1 1.0
You can download the product versions containing the UI components from SAP Service Marketplace. For more information, see Downloading and Installing Product Versions.
1.2.1.5 Important SAP Notes The SAP Notes below provide important overview information and links to further SAP Notes that you need to implement.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 17 of 96
Central SAP Notes SAP Note Number SAP Fiori Search 1965792
Target Server
Description
Back-end server
Release Information Note for SAP NetWeaver Embedded Search in Fiori
SAP Fiori Fact Sheets 1965215
Front-end server and back-end server, see Release Information Note for SAP Fiori SAP Note long text Fact Sheets SP3
Product-Specific Release Information Notes (RIN) Product Target Server ERP Back-end server
CRM
SRM
PPM
SCM
GRC
ILM
SAP Note Number 1737650
Description EHP7 for SAP ERP 6.0 SP Stacks – Release & Information Note
Front-end server
1914499
Release Information Note: UI FOR EHP7 FOR SAP ERP 6.0
Back-end server
1737725
EHP3 for SAP CRM 7.0 SP stacks – Release Information Note
Front-end server
1914501
Release Information Note: UI FOR EHP3 FOR SAP CRM 7.0
Back-end server
1818517
EHP3 for SAP SRM 7.0 SP stacks – Release Information Note
Front-end server
1914502
Release Information Note: UI FOR EHP3 FOR SAP SRM 7.0
Back-end server
1826383
PPM 6.0: Support package information, notes, and schedule
Front-end server
1928934
Release Information Note: UI FOR SAP PORTF PROJ MGMT 6.0
Back-end server
1907850
SAP SNC USABILITY EXT 1.0: Release Information Note
Front-end server
1914553
Rel. Info for Mobile UI ext. for SAP SNC USABILITY EXT 1.0
Back-end server
1870233
Release Information Note for SAP Access Control 10.1
Front-end server
1929930
Release Information Note for UI for Access Control 10.1
Front-end server
1964761
Release Information Note for SAP FIORI FOR SAP ILM 1.0
1.2.1.6 Downloading and Installing Product Versions SAP recommends using Maintenance Optimizer in SAP Solution Manager to install and update product versions. SAP Solution Manager calculates the required software components that have to be deployed on each server. Alternatively, you can download the required files directly from SAP Service Marketplace and deploy them manually. For more information about Maintenance Optimizer, see SAP Help Portal at http://help.sap.com/solutionmanager71 Application Help SAP Library SAP Solution Manager Maintenance Management Maintenance Optimizer .
Procedure SAP Solution Manager
Note For product versions on the SAP HANA server: Your SAP HANA database has to be registered in the System Landscape Directory (SLD). For more information about how to register in SLD, see SAP Help Portal at http://help.sap.com/hana_appliance Installation and Upgrade Information SAP HANA Server Installation Guide .
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 18 of 96
In SAP Solution Manager, run transaction lmdb. On the Product Systems tab, select your product system and choose Display. In the navigation tree, click on the top node (Product System). 3. On the Product Versions tab, under Maintenance Optimizer Transactions, choose Create Transaction. Then choose Calculate Files Automatically. If you are not yet running SPS 07, set it as your target stack and choose Continue. 1. 2.
Note This will update your SAP HANA DB to SPS 07. 4. 5.
6. 7. 8.
Confirm your selections and select all product versions that you want to install. Confirm and add them to the download basket. If not all dependencies as given in the respective tables are automatically resolved, you must select them manually. On the Stack Files tab, download the system-specific stack XML file: In the SAP HANA system, for SAP Application Lifecycle Manager (ALM) In the ABAP system, for the transaction SAINT Save and close the Maintenance Optimizer windows. Download the calculated files using SAP Download Manager from SAP Service Marketplace. Make the downloaded files and XML files available on your systems, which need to be updated. Depending on the product versions that you want to install or update, do the following: Step For Product Versions on the SAP HANA For Product Versions on the ABAP Server Server 1 As a SYSTEM user in the SAP HANA Start transaction SAINT. studio, right-click on the server node in the navigation pane, and select Lifecycle Management. 2
Under Update SAP HANA System, select Apply Support Package Stack.
Upload the stack XML file to get the software components that need to be installed on the ABAP server.
3
Choose Manually downloaded content, then browse to find the content that you downloaded in step 7 and run the installation and update procedure.
Start the installation and update.
SAP Service Marketplace
Note For product versions on the SAP HANA server: You must have updated your SAP HANA appliance to SPS 07. You can download the product versions from the SAP Service Marketplace as follows: 1. Open the software download center at http://service.sap.com/swdc. 2. Choose Search for Software Downloads. 3. Enter the technical name of the software component, for example, UI FOR EHP7 FOR SAP ERP 6.0. 4. Download the component. 5. Repeat steps 2 to 4 for each required component. For more information which components you need to install, see the Installation Tasks in the Installation overview for your app type. After downloading the components, you can start the installation and update. Ensure that the components that you install in your landscape have the latest support package level.
1.2.2 Configuration Once the complete infrastructure for SAP Fiori apps has been installed, you must perform the required configuration activities. This table gives an overview of the required configuration tasks:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 19 of 96
Component in System Landscape SAP Web Dispatcher
Tasks Configure SAP Web Dispatcher
Relevant for Fact sheets
Back-end server
Configuring SAP Fiori search
Fact sheets
Front-end server
Configuration of SAP NetWeaver Gateway Connect SAP NetWeaver Gateway to SAP Business Suite (trusted RFC) Create system alias for applications Activate OData services Specify language settings
Transactional apps and fact sheets
Configuration of central UI add-on Set up SAP Fiori Launchpad
All app types
Configuration of product-specific UI add-on All app types Activate ICF services Set up catalogs, groups, and roles in the SAP Fiori Launchpad Back-end server
Roles, users, and authorizations on the back-end server Copy and adjust roles Assign users to roles
Transactional apps and fact sheets
1.2.2.1 Configuring SAP Web Dispatcher (Fact Sheets) To facilitate communication between the browser and the different systems in the SAP Fiori system landscape, you must implement and configure SAP Web Dispatcher as an SSL client in the system landscape. By implementing SAP Web Dispatcher between the browser and the various servers in the system landscape, you can ensure requests are directed to the correct server. As SAP Fiori apps access multiple back-end systems but JavaScript code is constrained by the Same Origin Policy, all systems are exposed to the browser thorough SAP Web Dispatcher (or another reverse proxy), which brings them into a common origin (combination of protocol, hostname, and port).
Prerequisites You have implemented SAP Web Dispatcher and enabled it for multiple systems. You have enabled single sign-on (SSO).
Procedure 1.
Configure SAP Web Dispatcher to use HTTPS requests. All communication to back-end systems should be handled using HTTPS requests and SAP Web Dispatcher itself should be called using only HTTPS. To configure HTTPS settings, you can copy the following source code and adapt it to your business requirements:
Syntax 1. ssl/ssl_lib =
ssl/server_pse = icm/HTTPS/verify_client = 0 ssl/client_pse = wdisp/ssl_encrypt = 1 wdisp/ssl_auth = 2 wdisp/ssl_cred = icm/HTTPS/forward_ccert_as_header = true 2.
Configure SAP Web Dispatcher ports. To configure the ports, you can copy the following source code and adapt it to your business requirements:
Syntax 1. icm/server_port_0 = PROT=HTTPS,PORT=443,TIMEOUT=120 wdisp/system_conflict_resolution = 1 wdisp/add_clientprotocol_header = 1 wdisp/handle_webdisp_ap_header = 1 wdisp/add_xforwardedfor_header = true 3.
Define the routing rules to the required target system:
Recommendation
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 20 of 96
SAP recommends that only those requests corresponding to the services required for the applications that you want to use should be routed to the application servers. URL Prefix /sap/bc
Target System SAP NetWeaver Gateway
/sap/public
SAP NetWeaver Gateway
/sap/opu
SAP NetWeaver Gateway
/sap/es
Back-end server where Enterprise Search is installed
Note For all routing rules, if you use a reverse proxy other than SAP Web Dispatcher, you must ensure it is configured to preserve the host name of the reverse proxy. If the reverse proxy overwrites or replaces the host name, responses from the various systems cannot be sent back to the reverse proxy. For this reason, SAP Web Dispatcher automatically preserves the host name; however, other reverse proxies may not do so. 1.
Configure SAP Web Dispatcher for the SAP NetWeaver Gateway server. To configure the SAP Web Dispatcher for the SAP NetWeaver Gateway server, you can copy the following source code and adapt it to your business requirements:
Syntax 1. wdisp/system_0 = SID=, NR=, MSHOST=, MSPORT=, SRCSRV=*:443, SRCU RL=/sap/opu/odata/ 2.
Configure SAP Web Dispatcher for the front-end server. To configure the SAP Web Dispatcher for the front-end server, you can copy the following source code and adapt it to your business requirements:
Syntax 1. wdisp/system_1 = SID=, NR=, MSHOST=, MSPORT=, SRCSRV=*:443, SRCU RL=/sap/public/bc/;/sap/bc/ 3.
Configure SAP Web Dispatcher for the back-end server where the Enterprise Search is installed. To configure the SAP Web Dispatcher for the front-end server, you can copy the following source code and adapt it to your business requirements:
Syntax 1. wdisp/system_2=SID=, MSHOST=, MSPORT=, SRCSRV=*:443, SRCURL=/sap/es/
More Information For more information about SAP Web Dispatcher as an SSL client, see http://help.sap.com SAP NetWeaver SAP NetWeaver Platform SAP NetWeaver 7.4 Application Help Function-Oriented View Application Server Application Server Infrastructure Components of SAP NetWeaver Application Server SAP Web Dispatcher Architecture and Functions of the SAP Web Dispatcher SAP Web Dispatcher and SSL . For more information about modifying HTTP requests, see http://help.sap.com SAP NetWeaver SAP NetWeaver Platform SAP NetWeaver 7.4 Application Help Function-Oriented View Application Server Application Server Infrastructure Components of SAP NetWeaver Application Server SAP Web Dispatcher Administration of the SAP Web Dispatcher Modification of HTTP Requests .
1.2.2.2 Configuring SAP Fiori Search Under Activities, you find the steps you need to perform to configure the SAP Fiori Search. You can find an up-to-date list of the search models delivered for central business objects in SAP Note 1861013. The SAP Note also provides further information about these search models. SAP Fiori Search and SAP Fiori Fact Sheets Since the search models are the basis for the SAP Fiori fact sheets, the configuration of the SAP Fiori search is a prerequisite to use the SAP Fiori fact sheets. For more information about fact sheets, see SAP Fiori App Types and Database Requirements.
Activities PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 21 of 96
Configuring Embedded Search in the Back End You must have set up the Embedded Search technology. For more information, enter the key phrase Setting Up Embedded Search in the documentation of SAP NetWeaver under http://help.sap.com. There, you find a documentation of the steps required to set up the embedded search. You must perform the following main steps: Activate UI services Create a connection between embedded search and SAP HANA Create connectors in the Connector Administration Cockpit (transaction ESH_COCKPIT)
Note SAP Note 1861013 contains a list of the connectors required for each fact sheet. They are also documented in the implementation documentation for the single fact sheets. Start indexing of connectors
Note When search models are transported, for example in the event of a system upgrade, manual steps can be required. For more information, enter the search term Transporting Search Models in the documentation of SAP NetWeaver under http://help.sap.com.
Activate Search and Fact Sheet in SAP Business Suite Foundation You must have activated the following business functions in Customizing for your SAP Business Suite application under Activate Business Functions: To enable SAP Fiori search and fact sheets: SAP HANA Search for SAP Business Suite (BSESH_HANA_SEARCH) To enable fact sheets: SAP HANA Navigation for SAP Business Suite (BSCBN_HANA_NAV) Furthermore, the activities under Cross-Application Components General Application Functions HANA-Based Search for SAP Business Suite are relevant in Customizing for your SAP Business Suite product.
1.2.2.3 Configuring SAP NetWeaver Gateway On your front-end server, you must configure SAP NetWeaver Gateway. For more information about configuring SAP NetWeaver Gateway below SAP NetWeaver 7.40, see SAP Library for SAP NetWeaver Gateway on SAP Help Portal at http://help.sap.com/nwgateway20 Application Help Support Package 07 SAP NetWeaver Gateway SAP NetWeaver Gateway Configuration Guide . For more information about configuring SAP NetWeaver Gateway for SAP NetWeaver 7.40 and above, see SAP Library for SAP NetWeaver Gateway on SAP Help Portal at http://help.sap.com/nw74 Application Help Function-Oriented View SAP NetWeaver Gateway Foundation (SAP_GWFND) SAP NetWeaver Gateway Foundation Configuration Guide
1.2.2.3.1 Connect SAP NetWeaver Gateway to SAP Business Suite (Trusted RFC) You must set up a connection between SAP NetWeaver Gateway on your front-end server and your existing SAP Business Suite system on your back-end server. For detailed steps, see Defining Trust between the SAP NetWeaver Gateway Host and Your SAP Systems for Type 3 Connections.
1.2.2.3.2 Create System Alias for Applications The next step is to specify the SAP system alias. For detailed steps, see Creating the SAP System Alias for Applications.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 22 of 96
1.2.2.3.3 Activate OData Services In SAP NetWeaver Gateway, entities are defined and connected using data models. These data models can be exposed as OData services during runtime. Runtime processing is handled by data provider classes (DPCs) that are assigned to the object models. For each SAP Fiori app, a corresponding OData service is delivered. For security reasons, these OData Services are delivered in an inactive state. After installation, you must activate the OData Services for the apps you want to use.
Note Note that for fact sheets, you must activate the required search connectors before you activate the OData services. For more information about the specific search connectors you must activate for the individual apps, see the app-specific SAP Fiori documentation. For more information about the specific OData services you must activate for the individual apps, see the app-specific SAP Fiori documentation. For more information about the common OData services you must activate, see SAP Library for User Interface Add-On 1.0 for SAP NetWeaver on SAP Help Portal at http://help.sap.com/nw-uiaddon . In SAP Library, choose User Interface Add-On for SAP NetWeaver Administration Guide Content Administration SAP Fiori Launchpad Setting Up the Launchpad and Launchpad Designer Initial Configuration Maintaining SAP Gateway OData Services . For general information on OData Services, see SAP NetWeaver Gateway.
1.2.2.3.4 Specify Language Settings You must specify the settings for supported languages in the SAP NetWeaver Gateway system. Settings include default and logon languages.
Note The default language of the SAP NetWeaver Gateway system must be the same as the default language of the back-end system, for example, English. If this is not the case, ensure that the SAP NetWeaver Gateway system contains a subset of the languages of the back-end system. The logon language for the ABAP Application Server is set according to the following process: If the Mandatory Logon Data indicator has been activated for a service in transaction SICF, the system uses the language that was entered there. If this is not the case, but the HTTP request contains the language in the HTTP header (as a header or a form field), you log onto the system using this language. The browser settings of the calling client are then used. The system selects as the logon language the first language from the list that is maintained in the browser, and which is also installed in the SAP system. The language list is specified using the HTTP header field accept-language.
Note With Internet Explorer, you can for example set the language you require by choosing
Tools Internet Options Languages .
If no language is defined by this process, the classic SAP system mechanisms are used. The logon language is based on the user settings (in transaction SU01) and if nothing is entered here, the default language of the SAP system is used automatically. For more information, see SAP Library for SAP NetWeaver Gateway on SAP Help Portal at http://help.sap.com/nwgateway20 Application Help Support Package 06 SAP NetWeaver Gateway Configuration Guide Basic Configuration Settings Language Settings .
1.2.2.4 Configuration of Central UI Add-On The central UI Add-On contains the components that comprise the common infrastructure for all SAP Fiori apps, including the SAP Fiori Launchpad.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 23 of 96
1.2.2.4.1 Setup of SAP Fiori Launchpad The SAP Fiori Launchpad is the entry point to the apps, from desktop and mobile devices. You need to configure the SAP Fiori Launchpad so that users can access those apps that have been assigned to their respective role. For detailed information about the configuration tasks for the Fiori Launchpad, see SAP Library for User Interface Add-On 1.0 for SAP NetWeaver on SAP Help Portal at http://help.sap.com/nw-uiaddon. In SAP Library, choose Administration Guide Content Administration SAP Fiori Launchpad . For more information about configuring SAP Web Dispatcher, see Configuring SAP Web Dispatcher. Define System Alias for Navigation Targets in the Back End (Fact Sheets) From fact sheets, you can access the back-end server and start transactions there (in SAP GUI or Web Dynpro). To enable this, you need to establish a connection between the SAP Fiori launchpad and the back-end system. Perform the following steps on the front-end server:
Note From mobile devices or tablets, you cannot access SAP GUI or Web Dynpro transactions through the SAP Fiori launchpad. 1. 2.
Define an RFC connection of type H (HTTP connection) in transaction Configuration of RFC Connections (sm59). Identify the system alias for the back-end transactions as follows: 1. Run transaction Overview of Launchpads (LPD_CUST) on the front-end server. 2. Select the relevant role with Instance ‘TRANSACTIONAL’ and double-click it.
Note There is a role for each front-end application. Select the front-end application that corresponds to the back end for which you want to define the RFC connection. Example: You want to establish an RFC connection that enables users to run the transaction Display Purchase Order in the SAP SRM back-end system. In this case, you need to select the role corresponding to the SAP SRM front-end application. In the left-hand screen area, select a row where Transaction is displayed as the Application Description. The system alias is displayed in the right-hand screen area. 3. Enter this system alias as the Target System in transaction Configuration of RFC Connections (sm59). 3.
1.2.2.5 Configuration of Product-Specific UI Add-On The product-specific UI add-ons contain those components that are required for specific apps. You have to configure some of these app-specific components and adjust them according to your needs.
1.2.2.5.1 Activate ICF Services You must activate the central services relevant for all SAP Fiori apps, as well as the services relevant for the apps you want to use. This is because, for security reasons, all Internet Communication Framework (ICF) services are made available in an inactive state.
Note For security reasons, we recommend that you only activate the services for the apps you wish to use. For each app, you can find the technical name of the corresponding ICF service in the App Implementation documentation under Technical Data Front-End Components UI5 Application . To activate an ICF service, proceed as follows: 1. Choose transaction SICF. 2. Select the respective service under default_host sap bc ui5_ui5 sap . 3. To activate the service, choose Service/host Activate .
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 24 of 96
1.2.2.5.2 Setup of Catalogs, Groups, and Roles in the SAP Fiori Launchpad The Fiori launchpad is the access point to apps on mobile or desktop devices. The apps are organized through the entities displayed in the following graphic and explained in the following text:
SAP Fiori Launchpad: Content Concept
Catalog: Set of apps you want to make available for one role. Depending on the role and the catalog assigned to the role, the user can browse through the catalog, choose apps from this catalog, and add them to the entry page of the SAP Fiori launchpad. Technically, apps are represented by the following: App launchers. These are tiles that are used to launch applications.
Note App launchers exist exclusively for those apps that can be accessed directly from the entry page of the SAP Fiori launchpad. Fact sheets, for example, do not have any app launchers. The target mappings referencing the actual navigation targets. The navigation targets are UI5 applications defined in transaction LPD_CUST in the SAP GUI of the front-end server. Group: Subset of catalog that contains the apps visible on the Fiori launchpad entry page. Which tiles are displayed on a user’s entry page depends on the group assigned to the user’s role. In addition, the user can personalize the entry page by adding or removing apps to pre-delivered groups or self-defined groups. Roles (PFCG): Contains references to catalogs and groups and provides users with access to the apps in these groups and catalogs. The entities delivered by SAP are divided into technical entities and business entities: Technical catalogs and technical PFCG roles These contain apps per component. Business catalogs, business catalog groups, and business PFCG roles These contain apps for a specific role. The catalogs, groups, and roles required for each of the SAP Fiori apps are listed in the app-specific documentation. In the following section, these entities are explained in more detail: Entities in the SAP Fiori Launchpad
Note The abbreviations in brackets behind the entities’ names are used as identifiers in the technical names of the actual object instances. For example, a business PFCG role in Sales and Distribution has the technical name SAP_SD_BCR_FIELDSALESREP.
Technical Catalog (TC)
Technical catalogs contain all target mappings and app launcher tiles relevant for an application, for example, SD or SAP SRM. As an administrator, you can use them as a repository to create your own role-specific business catalogs. Technical PFCG Role (TCR)
Technical PFCG roles contain references to technical catalogs, and they allow users to access the apps contained in these catalogs. Business Catalog (BC)
Business catalogs contain a sample collection of target mappings and app launcher tiles relevant for a business role. The content of the business catalog is a subset of the content of the technical catalog. This subset reflects the authorization requirements of a certain business user.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 25 of 96
Business Catalog Group (BCG)
Business catalog groups contain a set of applications from a business catalog that are displayed to a user by default on the entry page of the SAP Fiori launchpad. Users can adjust groups by adding or removing apps. Business PFCG Role (BCR)
A business PFCG role contains references to business catalogs and business catalog groups. Once you - as an administrator - assign the business PFCG role to a user, the user sees the apps included in the business catalog group on the entry page of the SAP Fiori launchpad. Through the business catalog referenced, users have access to further relevant role-specific apps. The user can select the apps from the catalog to make them available directly on the entry page. Technical PFCG Role for Fact Sheet Annotation Files (FSA)
The technical PFCG role for fact sheet annotation files contains BSP pages and is a prerequisite to use fact sheets. It is not a role to enable navigation, like the roles mentioned above. It is an authorization role that enables users to view fact sheet content. For more information, see Authorizations and Roles for Transactional Apps and Fact Sheets. Back-End Entities For more information about back-end PFCG roles, see Roles, Users, and Authorizations on Back-End Server.
Activities Use the technical catalogs delivered by SAP as repositories to create your own catalogs as an administrator. To display specific apps to a user by default in the entry page of the SAP Fiori launchpad, create a group. Then add apps from your catalog to the group. Both the catalog and the group must be assigned to users. Do this by assigning groups and catalogs to users’ PFCG roles. The business PFCG roles with the assigned catalogs and groups serve as examples based on which you can create you own business catalogs, groups, and roles. Activities in Detail Activate app-specific ICF services. For more information, see Activate ICF Services. Create your own catalog based on a delivered technical catalog. For more information, see Creating Custom Catalog. 3. Create a group with apps from the custom catalog. For more information, see Creating Custom Group. 4. Assign catalogs and groups to a PFCG role. For more information, see Creating PFCG Role and Assigning Catalogs and Groups. 5. Assign adjusted roles to users. For more information, see Assigning User to Role. 1. 2.
1.2.2.5.2.1 Creating Custom Catalog Note This procedure is not relevant for Smart Business apps. To group the apps needed by a role, you create your custom catalog.
Recommendation SAP recommends to use the delivered technical catalog as repository to create your custom catalog as the technical catalog contains all apps belonging to your area.
Procedure 1. 2.
Create your custom catalog based on the delivered technical catalog. Adjust the content of your custom catalog to your needs. For more information, see SAP Library for User Interface Add-On 1.0 for SAP NetWeaver on SAP Help Portal at http://help.sap.com/nw-uiaddon. In SAP Library, choose Administration Guide Content Administration SAP Fiori Launchpad Launchpad Designer Adding Tiles to and Removing Tiles from Catalog .
Recommendation If you want to include tiles from different technical catalogs into your custom catalog, SAP recommends to create the tiles in your catalog from scratch.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 26 of 96
1.2.2.5.2.2 Creating Custom Group To make apps available on the entry page of the Fiori Launchpad, you create a group and assign apps from your custom catalog to this group. The user can then modify the group in the Fiori Launchpad and add or remove apps.
Procedure 1. Create a custom group and assign apps from your custom catalog. For more information, see SAP Library for User Interface Add-On 1.0 for SAP NetWeaver on SAP Help Portal at http://help.sap.com/nw-uiaddon. In SAP Library, choose Administration Guide Content Administration SAP Fiori Launchpad Launchpad Designer Creating and Removing Group .
1.2.2.5.2.3 Creating PFCG Role and Assigning Catalogs and Groups To make your custom catalog and group available to the users, you create a PFCG role and assign catalog and group to this role.
Procedure 1. 2.
Create a PFCG role. Assign your custom catalog and group to the role. For more information, see SAP Library for User Interface Add-On 1.0 for SAP NetWeaver on SAP Help Portal at http://help.sap.com/nw-uiaddon. In SAP Library, choose Administration Guide Content Administration SAP Fiori Launchpad Setting Up the Launchpad and Launchpad Designer Assigning Catalogs and Groups to Roles .
1.2.2.6 Roles, Users, and Authorizations To use SAP Fiori apps, users need authorizations on the front-end server (in the SAP Fiori launchpad) and on the back-end server. For more information, see: Setup of Catalogs, Groups, and Roles in the SAP Fiori Launchpad Roles, Users, and Authorizations on Back-End Server
1.2.2.6.1 Roles, Users, and Authorizations on Back-End Server For SAP Fiori apps, back-end users need specific authorizations. In most cases, users in the back-end system already exist and have application-specific authorizations. SAP delivers back-end a PFCG role for every app. These delivered roles contain references to the corresponding OData services that are required to use the applications. Based on the OData service reference, authorization proposals of the OData service can be used to create authorization profiles. Back-end PFCG roles for fact sheets contain the authorizations to use the underlying search models and to display the business data from the back end. For more information about authorizations for search models, see the Authorizations section in the Security Guide for Search and Operational Analytics. Enter the key words Security Guide for Search and Operational Analytics in the documentation of SAP NetWeaver under http://help.sap.com. Note the following system behavior regarding fact sheets display: Fact sheets correspond to business objects and include tiles with information about related business objects. By clicking on a tile, users can open another fact sheet. For example, the purchase order fact sheet includes a tile with information about related contracts. For these related business objects, search model authorizations are included in the back-end PFCG role for the original fact sheet. In the example above, the PFCG role for the purchase order fact sheet includes the authorization for the contract search model. Users with the back-end PFCG role for the purchase order fact sheet are thus enabled to see the following: Tiles for contracts in purchase order fact sheets Contracts as search results in the SAP Fiori search These users, however, do not necessarily have the authorization for the OData service corresponding to the contract business object. Therefore, they may not be able to navigate to the contract fact sheet.
Recommendation
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 27 of 96
Check the underlying search models for a fact sheet. These search models have corresponding fact sheets with corresponding back-end PFCG roles as well. To prevent situations where users arrive at a “dead end” in fact sheet navigation, assign these second-level back-end PFCG authorizations to them, as long as the user is supposed to see the related data. Then, to enable a deeper navigation, consider the second-level fact sheets and the required roles for their related search models, and so on.
Features You can copy the delivered role and adjust the authorizations. For more information, see Copying and Adjusting Roles. You can assign the application users to the adjusted roles. For more information, see, Assigning Users to Roles.
1.2.2.6.1.1 Copying and Adjusting Roles SAP delivers back-end roles for each transactional app and fact sheet as templates for customer-specific roles. For every role, authorizations must be granted according to the customer-specific roles and authorization concept. For more information about the delivered roles, see the documentation of the related application.
Prerequisites After a release installation or upgrade, you can compare the default check indicators and the field values of the previous and new releases using transaction SU25. For more information see the documentation at http://help.sap.com SAP NetWeaver 7.3 Including Enhancement Package 1 Application Help Function-Oriented View Security Identity Management User and Role Administration of Application Server ABAP Configuration of User and Role Administration : First Installation Procedure Upgrade Procedure Comparing Check Indicators/Field Values After Upgrade
Procedure 1. 2.
Copy the role to your name space. Create and adjust the authorizations in transaction PFCG according to your roles and authorization concept. For more information, see the documentation at http://help.sap.com SAP NetWeaver 7.3 Including Enhancement Package 1 Application Help Function-Oriented View Security Identity Management User and Role Administration of Application Server ABAP AS ABAP Authorization Concept .
1.2.2.6.2 Assigning Users to Roles You assign your application users to your adjusted roles.
Note Ensure that the users on the front-end server are identical to the users on the back-end server as there is not mapping available. You can use the Central User Administration (CUA) or your existing identity management system to ensure user names on both systems match.
Prerequisites You have adjusted the delivered roles according to your roles and authorization concept. For more information, see the documentation at http://help.sap.com SAP NetWeaver 7.3 Including Enhancement Package 1 Application Help Function-Oriented View Security Identity Management User and Role Administration of Application Server ABAP AS ABAP Authorization Concept .
Procedure 1.
Assign your application users to your adjusted roles in transaction SU01 or PFCG. For more information, see the documentation at http://help.sap.com SAP NetWeaver 7.3 Including Enhancement Package 1 Application Help Function-Oriented View Security Identity Management User and Role Administration of Application Server ABAP Configuration of User and Role Administration Role Administration .
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 28 of 96
1.2.3 Security When running your SAP Business Suite system, you must ensure that your data and processes support your business needs without allowing unauthorized access to critical information. User errors, negligence, or attempted manipulation of your system must not result in loss of information or processing time. These security requirements apply equally to SAP Fiori applications. This chapter provides security-relevant information applicable to SAP Fiori applications. The system landscape for SAP Fiori applications is built from multiple components, so the following component security guides also apply: For SAP Fiori transactional apps and fact sheets, the following component security guides apply: SAP Enterprise Resource Planning (ERP) SAP Customer Relationship Management (CRM) SAP NetWeaver Gateway For SAP Fiori analytical apps, the following component security guides apply: SAP Enterprise Resource Planning (ERP) SAP Customer Relationship Management (CRM) SAP NetWeaver Gateway SAP HANA Live Furthermore, for SAP Fiori fact sheets, the Security Guide for Search and Operational Analytics applies. For more information, enter the key words Security Guide for Search and Operational Analytics in the documentation of SAP NetWeaver under http://help.sap.com.
1.2.3.1 User Administration SAP Fiori apps adopt the user management and authentication mechanisms provided by SAP NetWeaver ABAP and SAP HANA platform (analytical apps and SAP Smart Business apps only). Therefore, the security recommendations and guidelines for user administration and authentication as described in the SAP NetWeaver Application Server ABAP Security Guide and SAP HANA Security Guide also apply to the applications. The following sections comprise information about user administration and authentication that specifically applies to SAP Fiori apps.
1.2.3.1.1 User Management Concept SAP Fiori apps are based on the following user management concept. For transactional apps and fact sheets, the following users are required Users in SAP NetWeaver Gateway / ABAP front-end server User in ABAP back-end server For analytical apps, the following users are required: Users in SAP NetWeaver Gateway / ABAP front-end server User in ABAP back-end system SAP HANA database users
1.2.3.1.1.1 Users in ABAP Front-End System SAP Fiori application users need a user in SAP NetWeaver Gateway. They must have the same user name as the users in the ABAP back-end system. The user requires certain authorizations that allow the services of the application to be triggered in the back end. To use the SAP Fiori fact sheets for a certain component, users furthermore require the authorizations included in the related front-end authorization role. You can find the role’s name and technical name (ending with _FSA) in the documentation for each fact sheet. The role is designed to grant authorizations for the business server pages (BSP) for the fact sheets.
1.2.3.1.1.2 Users in ABAP Back-End System PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 29 of 96
Existing users are relevant for the ABAP back-end system. The authorizations required for a particular application are provided using a PFCG role delivered for each application. You can use the Central User Administration (CUA) or your existing identity management system to synchronize users in the back-end and the front-end system to ensure user names on both systems match.
1.2.3.1.1.3 Users in SAP HANA System SAP Fiori analytical apps and SAP Smart Business applications can access an SAP HANA database on behalf of an individual user to retrieve data according to the user’s authorizations.
Caution Users on SAP HANA must have the same user name as the users in the ABAP systems. User names in SAP HANA have to comply with the following syntactical rules: User names have to start with a letter. User names can contain letters (Aa-Zz), digits, and underscores (“_”). Other characters like dots or minus are not allowed. User names in SAP ABAP can contain characters that are not allowed in SAP HANA. If you use SAP HANA and SAP ABAP, ensure that your ABAP users also comply with the SAP HANA rules. Information about synchronizing ABAP users with SAP HANA users is included in the guides for SAP Smart Business apps and SAP Fiori analytical apps.
1.2.3.1.2 User Authentication and Single Sign-On Initial Authentication When a user launches an SAP Fiori app, the launch request is sent from the client to the ABAP front-end server by the SAP Fiori Launchpad. During launch, the ABAP front-end server authenticates the user. To authenticate the user, the ABAP front-end server uses the authentication and single sign-on (SSO) mechanisms provided by SAP NetWeaver, in particular: X.509 certificates If you have implemented a PKI infrastructure for user authentication in your organization, you can use X.509 certificates by configuring the required back-end systems (ABAP or SAP HANA) to accept X.509 certificates. SAP logon tickets For SAP logon tickets, you must configure the ABAP front-end server to issue SAP logon tickets. Alternatively, you can use an existing system, such as a portal, in your landscape that already issues logon tickets. In addition, you must configure the required back-end systems (ABAP or SAP HANA) to accept SAP logon tickets. You must also ensure that users in the ABAP system have the same user names as the database users in SAP HANA; user mapping is not supported. SAML 2.0 If you have have implemented the security assertion markup language (SAML) version 2.0 as the method of SSO within your organization, you can configure the ABAP front-end server for use with SAML 2.0.
Recommendation As an alternative to the authentication and SSO mechanisms provided by SAP NetWeaver, SAP recommends to use Kerberos/SPNego authentication, which is available with the SAP NetWeaver Single Sign-On product. With Kerberos/SPNego authentication, you can simplify logon to the front-end server by using the users' Windows logon data. SAP NetWeaver Single SignOn also provides additional mechanisms for authentication and Single Sign-On, such as short-lived X.509 certificates. For an overview of SAP NetWeaver Single Sign-On, see http://www.sap.com/pc/tech/application-foundationsecurity/software/single-sign-on/index.html. For more information about the implementation of Kerberos/SPNego authentication, see the Secure Login Implementation Guide for SAP NetWeaver Single Sign-On on SAP Help Portal at http://help.sap.com/nwsso .
Authentication for Requests in the Back-End Systems After initial authentication on the ABAP front-end server, the SAP Fiori apps and the SAP Fiori Launchpad can send requests to the ABAP back-end server and to SAP HANA. How these requests are authenticated depends on the type of app. Transactional apps and Factsheet apps These apps send OData requests through the ABAP front-end server towards the ABAP back-end server. After initial authentication, a security session is established between the client and the ABAP front-end server. OData requests towards the ABAP back-end server are then communicated securely by trusted RFC.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 30 of 96
Note You must set up a trusted RFC between SAP NetWeaver Gateway and the ABAP back-end system. Analytical apps and SAP Smart Business apps These apps send OData requests from the client to SAP HANA Extended Services (XS). These requests can be authenticated with either SAP logon tickets or X.509 certificates. You can configure the ABAP front-end server to issue SAP logon tickets after initial authentication, or you can use your existing portal to do so. To configure user authentication methods for SAP HANA XS, you use theXS Applications tool of the Web-based SAP HANA XS Administration Tool. We recommend configuring user authentication methods for the following packages, which contain the content necessary for the applications: sap.hba.apps sap.hba.r
Note The authentication methods specified for these packages also apply to any subpackages. Search in SAP Fiori Launchpad Search in SAP Fiori Launchpad sends http/InA requests from the client to the ABAP back-end server. These requests can be authenticated either with SAP logon tickets or X.509 client certificates. You can configure the ABAP front-end server to issue SAP logon tickets after initial authentication, or you can use your existing portal to do so.
More Information For information about how to set up a trusted RFC, see http://help.sap.com/nw731/ Security Guide Security Guides for Connectivity and Interoperability Technologies RFC/ICF Security Guide RFC Scenarios . For information about configuring user authentication and SSO on the ABAP front-end server, see http://help.sap.com/nw702 Application Help Function-Oriented View Security User Authentication and Single Sign-On Authentication on the AS ABAP . For information about configuring SSO for SAP HANA XS, see Maintaining Single Sign-On for SAP HANA XS Applications.
1.2.3.1.2.1 Maintaining Single Sign-On for SAP HANA XS Applications You can configure SAP HANA applications to use single sign-on (SSO) authentication to confirm the logon credentials of a user calling an application service. For SAP Fiori and SAP Smart Business applications, SAP HANA supports SSO certificates based on SAP Logon Tickets or X.509. If you want your the SAP HANA XS applications to use an SSO certificate based on SAP Logon Tickets or X.509 as the logon authentication method, you must perform the following high-level steps: Maintain the SAP HANA trust store. Install the encryption software, for example, the SAP cryptographic library libsapcrypto.so and utility sapgenpse and maintain the trust store for SAP HANA. Maintain the internal SAP Web Dispatcher for SAP HANA XS Edit the SAP Web Dispatcher profile sapwebdisp.pfl, for example, to enable SSL and HTTPS.
Note The SAP Web Dispatcher referred to here is internal to SAP HANA XS and not the SAP Web Dispatcher included in the SAP Fiori / SAP Smart Business system landscape. Choose the SSO authentication method and configure the trust relationships: SSO with X.509 certificates Add the root certificate authority (CA) for the trusted X.509 certificates to both the SAP HANA trust store and the trust store for the SAP Web Dispatcher. SSO with SAP Logon Tickets Maintain the trust store that contains the SAP logon tickets and specify the server that issues the SAP logon tickets. Maintain the SSO provider for SAP HANA XS. Maintain a runtime configuration for the SAP HANA application, which indicates that user authentication is by means of SSO certificates based on either SAP Logon Tickets or X.509.
1.2.3.1.2.1.1 Maintaining SAP HANA Trust Stores The SAP HANA trust store contains the root certificate authority (CA) that is used to sign the trusted certificates required for SSO
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 31 of 96
authentication.
Prerequisites To maintain the trust stores for SAP HANA and the SAP Web Dispatcher, you need the following libraries and utilities, which you can download from the SAP Service Marketplace (SMP): The SAP encryption library libsapcrypto.so The SAP trust store generation utility sapgenpse
Note The SAP Web Dispatcher referred to here is internal to SAP HANA XS and not the SAP Web Dispatcher included in the SAP Fiori / SAP Smart Business system landscape.
Procedure Install the SAP HANA encryption library. Put the encryption library libsapcrypto.so in the following location on your SAP HANA server: /usr/sap//SYS/global/security/lib2. 2. Install the SAP HANA trust store utility. Put the trust store utility sapgenpse in the following location on your SAP HANA server: /usr/sap//SYS/global/security/lib3. 3. Create the trust store files. You need to set up several trust stores, for example, for SAP HANA and for the SAP Web Dispatcher. 1. Set up the SAP HANA trust store sapsrv.pse. ./sapgenpse gen_pse -p /usr/sap//HBD//sec/sapsrv.pse 1.
Note Do not define a personal identification number (PIN) for the trust store (press ENTER twice when prompted for the PIN). For the Distinguished name of PSE owner type CN=, where is the host name of the SAP HANA server. Set up the SAP Web Dispatcher trust store SAPSSL.pse. ./sapgenpse gen_pse -p /usr/sap//HBD//sec/SAPSSL.pse 3. Set up the trust store sapcli.pse. ./sapgenpse gen_pse -p /usr/sap//HBD//sec/sapcli.pse 4. Have the trust store (.pse files) signed by a CA. All the trust stores you create in this step are self-signed. In a productive environment, you must have the trust store files signed by a CA. 2.
1.2.3.1.2.1.2 Configuring the SAP Web Dispatcher Profile To enable SAP HANA applications to use SSL/HTTPS to secure both incoming and outgoing connections, you must maintain the SAP Web Dispatcher profile sapwebdisp.pfl.
Note The SAP Web Dispatcher referred to here is internal to SAP HANA XS and not the SAP Web Dispatcher included in the SAP Fiori / SAP Smart Business system landscape.
Prerequisites To configure the SAP Web Dispatcher to enable SSL/HTTPS for SAP HANA applications, note the following prerequisites: You need root/administrator access to the SAP HANA system hosting the SAP Web Dispatcher service. The SAP encryption library libsapcrypto.so is installed and available. The trust store utility sapgenpse is available. The SAP Web Dispatcher trust store (SAPSSL.pse) is available. You use the SAP Web Dispatcher profile to specify, among other things, the location of the encryption library (libsapcrypt.so) and the SAP Web Dispatcher trust store (SAPSSL.pse).
Procedure 1.
On the SAP HANA server, open the SAP Web Dispatcher profile in your favorite text editor. By default, the SAP Web Dispatcher profile sapwebdisp.pfl is located in the following directory: /usr/sap//HDB//wdisp/sapwebdisp.pfl
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 32 of 96
2.
Maintain the following values in the SAP Web Dispatcher profile sapwebdisp.pfl:
Syntax 1. wdisp/ssl_encrypt = 0 ssl/ssl_lib = /usr/sap//SYS/global/security/lib/libsapcrypto.so ssl/server_pse = SAPSSL.pse icm/HTTPS/verify_client = 1 icm/HTTPS/forward_ccert_as_header = true
Restart the SAP HANA XS engine. 1. In the SAP HANA studio’s Administrator editor, open the Landscape Services tab for the SAP HANA system where you want to restart the XS Engine service. 2. Right-click the service and choose the required option: Stop... The service is stopped normally and then typically restarted. Kill... The service is stopped immediately and then typically restarted. Reconfigure Service... The service is reconfigured; any changes made to parameters in the system configuration files are applied. 4. Restart the SAP Web Dispatcher.
3.
Syntax 1. sapcontrol -nr -function SendSignal
For example, to restart the SAP Web Dispatcher 00 with the process ID 28155, run the following command:
Syntax 1. sap control -nr 00 function SendSignal 28155 2 5.
Test HTTPS calls to the SAP HANA Web server. In a Web browser, call the SAP HANA XS Web server at the following URL: https://:43SAPHANAInstNo>
1.2.3.1.2.1.3 Maintaining SSO with X.509 Authentication for SAP HANA XS Applications SAP HANA applications can use single sign-on (SSO) authentication with X.509 certificates to confirm the logon credentials of a user calling an application service.
Prerequisites To configure SAP HANA to use trusted X.509 certificates for user authentication with SSO, note the following prerequisites: You need root/administrator access to the SAP HANA system hosting the SAP Web Dispatcher service.
Note To maintain security and authentication settings for SAP HANA XS applications, the user also needs the privileges granted by the SAP HANA XS role RuntimeConfAdministrator. The SAP encryption library libsapcrypto.so is installed and available. The trust store utility sapgenpse is available. The SAP Web Dispatcher trust store (SAPSSL.pse) is available.
Note The SAP Web Dispatcher referred to here is internal to SAP HANA XS and not the SAP Web Dispatcher included in the SAP Fiori / SAP Smart Business system landscape. The SAP HANA trust store (sapsrv.pse) is available.
Procedure To enable SAP HANA applications to use single sign-on (SSO) authentication with X.509 certificates to confirm the logon credentials of a user, you need to add the root CA of the trusted X.509 certificates to both the SAP HANA trust store (sapsrv.pse) and the trust store of the SAP Web Dispatcher SAPSSL.pse.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 33 of 96
1.
Add the root CA of the trusted X.509 certificates to the SAP HANA trust store (sapsrv.pse).
Syntax 1. ./sapgenpse maintain_pk -p /usr/sap//HDB///sec/sapsrv.pse -a SSO_CA.de r 2.
Add the root CA of the trusted X.509 certificates to the SAP Web Dispatcher SAPSSL.pse.
Syntax 1. ./sapgenpse maintain_pk -p /usr/sap//HDB//sec/ SAPSSL.pse -a SSO_CA.der
Reload the new trust store configuration. Whenever you import a new certificate into the trust store, you must restart the corresponding trust-store process, for example: SAP HANA trust store (sapsrv.pse) hdbxsengine and hdbindexserver SAP Web Dispatcher trust store (SAPSSL.pse) sapwebdisp_hdb 4. Maintain the authentication settings in the runtime configuration for your SAP HANA XS application. You can use the Web-based SAP HANA XS Administration Tool to complete this step. The tool is available on the SAP HANA XS Web server at the following URL: http://80/sap/hana/xs/admin/. 5. Create a database user whose identity is defined in an X.509 certificate. 1. Create a new user in the SAP HANA database based on the details specified in an existing X.509 certificate. The following example shows how to use the SQL statement CREATE USER WITH IDENTITY to create the database user “MyUserName” and the corresponding X.509 certificate:
3.
Syntax 1. CREATE USER MyUserName WITH IDENTITY 'CN=MyUserName, O=SAP-AG, C=DE' ISSUER 'CN=SSO_CA, O=SAP-AG, C=DE' FOR X509
6.
2. Import into the Web browser the X.509 certificate that is to be used to authenticate the new database user. Use a Web browser to test the logon authentication settings for the SAP HANA application. When you enter the URL for your application in the Web browser, the Web browser prompts you to select a certificate, which enables you to log on without supplying logon credentials manually.
1.2.3.1.2.1.4 Maintaining SSO with SAP Logon Tickets for SAP HANA XS Applications SAP HANA applications can use single sign-on (SSO) authentication with SAP logon tickets to confirm the logon credentials of the user calling an application service. To enable SAP HANA applications to use single sign-on (SSO) authentication with SAP logon tickets to confirm the logon credentials of a user requesting an application service, you must ensure that an SAP server is available that can issue SAP Logon tickets. You also need to maintain the trust store saplogon.pse, which holds the SAP logon tickets that are presented when a user logs on to the SAP HANA XS application.
Prerequisites To configure SAP HANA to use SAP logon tickets authenticate users who log on with SSO, note the following prerequisites: You need administrator access to the SAP HANA system hosting the applications to which you want to enable access with SAP logon tickets.
Note To maintain security and authentication settings for SAP HANA XS applications, the user also needs the privileges granted by the SAP HANA XS role RuntimeConfAdministrator. Administrator access to an ABAP system where you need to maintain the trust store used for the SAP logon tickets The SAP encryption library libsapcrypto.so is installed and available. The SAP logon trust store (saplogon.pse) is available on the SAP HANA system.
Procedure 1.
Maintain the trust store that contains the SAP logon tickets. The trust store saplogon.pse is used to hold the SAP logon tickets; you maintain this trust store with the ABAP transaction STRUST, rename the trust store and copy the resulting saplogon.pse file to the SAP HANA directory
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 34 of 96
/usr/sap//HDB//sec/. 1. Logon to the ABAP system as adm and start the Trust Manager with the transaction STRUST 2. Create a trust store. Choose System PSE Veri.PSE . 3. Add your own certificate to the new trust store. In the Trust Manager dialog, choose Yes. 4. Name the new trust store for the SAP logon tickets. In the Personal Security Environment dialog, enter saplogon in the File name field and choose Save.
Note Make sure you save the saplogon trust store as file type PSE (.pse). 5. Save the new trust store to a location of your choice. In SAP HANA, maintain details of the server that issues SAP logon tickets. 1. Start SAP HANA studio and open the Administration perspective. 2. In the Configuration tab, expand (or add) the section xsengine.ini authentication . 3. Set (or add) the parameter: logonticket_redirect_url. Enter the following URL: https://:44333/sap/bc/zredirectwlogon?sap-client=. 3. Maintain the runtime configuration for the application that you want to use SAP logon tickets to authenticate users. You can use the Web-based SAP HANA XS Administration Tool to complete this step. The tool is available on the SAP HANA XS Web server at the following URL: http://:80/sap/hana/xs/admin/. 2.
1.2.3.1.3 Authorizations The authorization concepts of SAP Fiori applications are based on the authorization mechanisms provided by the SAP NetWeaver ABAP and SAP HANA platform. Therefore, the recommendations and guidelines for user and role administration and authorization for SAP NetWeaver Application Server ABAP as well as the security guidelines for SAP HANA must be adhered to. In addition to these general authorization concepts, each type of SAP Fiori app has additional authorization and role concepts to be followed.
1.2.3.1.3.1 Authorizations and Roles for Transactional Apps and Fact Sheets The authorization and role concept for transactional apps and fact sheets consists of authorizations and roles in SAP NetWeaver Gateway and the ABAP back-end server.
Authorizations and Roles in SAP NetWeaver Gateway Fiori applications communicate with the ABAP back end through OData services, which must be activated during system installation. In addition to authorization in the back-end system, users must be granted authorization to access the HTML 5-based Fiori applications and the OData services in SAP NetWeaver Gateway. Fiori applications therefore require users and roles in SAP NetWeaver Gateway. A Gateway PFCG role contains start authorizations for OData Services. SAP will not deliver these roles to customers. To enable back-end OData service execution of the Fiori application, a role with authorization object S_SERVICE(Check at Start of External Services) with the corresponding service name has to be created and assigned to the user in SAP NetWeaver Gateway. 1. Activate the app-specific OData service while configuring SAP NetWeaver Gateway. The name of the activated service is required later to maintain the authorization. 2. In transaction PFCG, create a service-specific or app-specific role with authorization object S_SERVICE. Do not specify further authorization values. Exit authorization maintenance. 3. On the menu tab, insert a node into the role menu by choosing Authorization Default TADIR Service. Enter the following values: R3TR IWSG 4. Generate the profile in authorization maintenance. 5. Assign the new role to the SAP Fiori app user. After you create the SAP NetWeaver Gateway PFCG roles, you must identify the corresponding roles in the ABAP back-end server for execution of the OData services and define the corresponding profiles for the SAP NetWeaver Gateway roles.
Authorizations and Roles in the Front-End Server For fact sheets only, users need authorizations for business server pages (BSP) on the front-end server. SAP delivers one front-end authorization role for each component. Copy the roles you require to your namespace and assign users to roles.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 35 of 96
Authorizations and Roles in the ABAP Back-End Server For transactional applications and fact sheets, ABAP back-end users with corresponding roles and authorizations are necessary. SAP delivers back-end PFCG roles for every transactional application and fact sheet. Theses roles provide authorizations for the OData service of the apps. Observe that the roles for the transactional apps do not comprise authorizations for business data to be displayed in the app. It is assumed that these authorizations will be provided by the customer. The back-end roles for fact sheets contain authorizations to display business data, and furthermore they include the search models related to the fact sheets. SAP delivers back-end roles for each transactional application and fact sheet. For every role, authorizations need to be granted according to the customer’s roles and authorization concept. To copy and adjust the roles delivered by SAP and to assign users to these roles, proceed as follows: 1. Generate authorization profiles based on the OData service reference. For more information, see the documentation at http://help.sap.com under SAP NetWeaver 7.3 Including Enhancement Package 1 Application Help Function-Oriented View Security Identity Management User and Role Administration of Application Server ABAP Configuration of User and Role Administration First Installation Procedure . This step is required to prevent data overwriting during import of updates. 2. Copy the application-specific roles with the corresponding business authorizations to your namespace. 3. Adapt the authorizations of the roles in transaction PFCG according to your authorization concept. 4. Assign application users to these adapted roles in transaction SU01.
Note User names in the ABAP back-end server must be identical to the corresponding user names in the ABAP front-end server. User mapping is not supported. For this purpose, you can use Central User Administration (CUA) or identity management systems.
More Information For information about authorizations in SAP NetWeaver Gateway, see http://help.sap.com/nwgateway Configuration and Deployment Information Configuration Guide OData Channel Configuration User, Developer and Administrator Authorizations . For information about authorizations and roles required for the ABAP front-end server, see Setup of Catalogs, Groups, and Roles in the Fiori Launchpad. For information about authorizations and roles required for the ABAP back-end server (SAP Fiori Design transactional apps and Factsheet apps), see Roles, Users, and Authorizations on ABAP Back-End Server.
1.2.3.1.3.2 Authorizations and Roles for SAP Fiori Launchpad The basic ingredients for the authorization concept for SAP Fiori Launchpad are the authorizations in the ABAP back-end server and the authorizations to access the OData services in the SAP NetWeaver Gateway in the ABAP front-end server. All SAP Fiori apps are launched via SAP Fiori Launchpad. The SAP Fiori apps are delivered with SAP Fiori Launchpad catalogs and UI PFCG roles. A user is offered catalogs of applications in SAP Fiori Launchpad based on the UI PFCG role assigned to the user. The front-end user with the according UI PFCG role may then select a group of favorite apps from of the catalogs.
Note The catalog of SAP Fiori apps with provides information about the specific UI PFCG Role required for each app. In addition, a technical role is needed for the SAP Fiori Launchpad. SAP delivers a predefined set of technical objects for the SAP Fiori Launchpad, in particular the required profiles, which you can copy to set up your own catalogs for the roles within your company In order to use the SAP Fiori apps, corresponding back-end PFCG roles are provided and adjusted. The UI PFCG roles bundle all frontend privileges required for execution of the apps. Through the user assignment to back-end roles, additional privileges are provided to execute the application or OData service. Fact sheets additionally require authorization roles in the front end, which grant the users authorizations for the ICF services and business server pages (BSP) for the fact sheets.
More Information For more information about authorizations and role for SAP Fiori Launchpad, see SAP Library for User Interface Add-On 1.0 for SAP NetWeaver on SAP Help Portal at http://help.sap.com/nw-uiaddon Administration Guide Content Administration SAP Fiori Launchpad .
1.2.3.1.3.3 Authorizations and Roles for Analytical Apps and PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 36 of 96
1.2.3.1.3.3 Authorizations and Roles for Analytical Apps and SAP Smart Business Apps SAP Fiori analytical apps and SAP Smart Business apps are based on SAP HANA. These apps generate OData requests that expose certain views in SAP HANA. Therefore, these apps follow the authorization mechanisms provided by SAP HANA. In particular, a user of one of these apps must have a matching SAP HANA database user through which access to SAP HANA database content is controlled. Therefore, the user’s roles in the app and the user’s privileges in SAP HANA have to be aligned accordingly.
More Information For information about setting up the required authorizations and roles, see the corresponding Configuration sections of the SAP Fiori for SAP Business Suite documentation and the Administration Guide for SAP Smart Business Applications.
1.2.3.2 Session Security Protection You must establish session security protection for the ABAP front-end server and, if part of the system landscape, SAP HANA Extended Application Services (SAP HANA XS).
1.2.3.2.1 ABAP Server Session Security For the ABAP front-end server and the ABAP back-end server running Enterprise Search, you must activate HTTP security session management by using the transaction SICF_SESSIONS. When you activate HTTP security session management, we recommend you activate the following extra protection for security-related cookies: HttpOnly This attribute instructs the browser to deny access to the cookie through client side script. As a result, even if a cross-site scripting (XSS) flaw exists and a user accidentally accesses a link that exploits this flaw, the browser will not reveal the cookie to a third party. Secure This attribute instructs the browser to send the cookie only if the request is being sent over a secure channel such as HTTPS. This helps protect the cookie from being passed over unencrypted requests. In addition, we recommend configuring HTTP session expiration with a reasonable timeout. To configure this, you use the profile parameter http/security_session_timeout.
More Information For more information about activating HTTP security session management, see http://help.sap.com/nw73 FunctionOriented View Security User Authentication and Single Sign-On Authentication Infrastructure AS ABAP Authentication Infrastructure Activating HTTP Security Session Management on AS ABAP . For more information about session security protection for SAP NetWeaver Gateway, see http://help.sap.com/nwgateway Security Information Security Guide Session Security Protection .
1.2.3.2.2 SAP HANA XS Session Security For session security, SAP HANA XS automatically configures the session cookie xsSessionId with the attribute HttpOnly. However, the attribute secure is not supported. If you use a reverse proxy (instead of SAP Web Dispatcher) in your system landscape, you can add this attribute by configuring the reverse proxy with a header rewrite rule on the Set-Cookie header.
More Information For more information about defining access to individual application packages in SAP HANA XS, see http://help.sap.com/hana_platform Development Information Developer Guide Setting Up Your Application Creating the Application Descriptors The Application-Access File .
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 37 of 96
1.2.3.2.3 Logout from Multiple Systems SAP Fiori apps only support logout with the ABAP front-end server and a single SAP HANA XS. If additional SAP Netweaver Gateway systems or SAP HANA XS systems are deployed (for example, to distribute OData services across multiple server farms), the corresponding http sessions are not closed when the user logs out. In this case, it is important to have session expiration configured.
1.2.3.2.4 Cross-Site Request Forgery Protection (CSRF) A token-based protection against CSRF is active by default in SAP Netweaver Gateway and SAP HANA XS Fiori OData services. It protects all modifying requests.
1.2.3.3 Network and Communication Security Your network infrastructure is extremely important in protecting your system, and must support the communication necessary for your business needs without allowing unauthorized access. A well-defined network topology can eliminate many security threats resulting from software flaws or network attacks. If users cannot log on to your application or database servers at the operating system or database layer, there is no way for intruders to compromise the machines and gain access to the SAP system’s database or files. Additionally, if users cannot connect to the server local area network (LAN), they cannot exploit well-known bugs and security holes in network services on the server machines. The network topology for SAP Fiori components is based on the topology used by SAP NetWeaver Gateway, SAP NetWeaver and SAP HANA. Therefore, the security guidelines and recommendations described in the corresponding security guides also apply to SAP Fiori components.
1.2.3.3.1 Communication Channel Security Communication Paths The following table shows the communication channels used by the SAP Fiori apps, the protocol used for the connections, and the type of data transferred: Communication Path Protocol Used Type of Data Transferred Web browser to SAP Web Dispatcher OData Application data and security credentials HTTP/HTTPS SAP Web Dispatcher to ABAP front-end server (SAP NetWeaver Gateway)
OData HTTP/HTTPS
Application data and security credentials
SAP Web Dispatcher to HANA XS
OData HTTP/HTTPS
Application data and security credentials
SAP Web Dispatcher to ABAP back-end server (ERP, CRM, SRM, SCM)
INA HTTP/HTTPS
Application data and security credentials (for search and back-end transactions)
ABAP front-end server to ABAP back-end server (ERP, CRM, SRM, SCM)
RFC
Application data and security credentials
ABAP back-end server to SAP HANA / any DB
SQL
Application data and security credentials
Communication Encryption To ensure confidentiality and integrity of data, we recommend encrypting all communication channels as follows: Protect HTTP connections by using Transport Layer Security (TLS) or Secure Sockets Layer (SSL). Protect RFC connections by using Secure Network Communications (SNC). Protect SQL connections by using Secure Sockets Layer (SSL) or Transport Layer Security (TLS).
More Information For information about setting up communication encryption for SAP NetWeaver, see http://help.sap.com/nw74/ Security Information Security Guide Network and Communication Security Transport Layer Security .
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 38 of 96
For information about setting up communication encryption for SAP HANA, see http://help.sap.com/hana_platform Security Information SAP HANA Security Guide SAP HANA Network and Communication Security Securing Data Communication .
1.2.3.3.2 Network Security
1.2.3.3.2.1 SAP Web Dispatcher SAP Fiori client applications are HTML5 applications that access multiple back-end systems. However, JavaScript code is constrained by the Same Origin Policy. For this reason, all systems are exposed to the browser through SAP Web Dispatcher (or a reverse proxy), which brings them into a common origin (combination of protocol, hostname, and port). In addition to solving the same origin problem, this enables you to control which services are effectively exposed to the client, reducing the system attack surface. We recommend that only those requests corresponding to the services required for the applications that you want to use should be routed to the application servers. To do this, you can configure URL filtering/routing at SAP Web Dispatcher or reverse proxy level. Transactional apps If you use transactional apps only in the intranet zone, implementing SAP Web Dispatcher is not obligatory. If you use transactional apps supported for consumption by Internet clients, see Internet-Facing Deployment. Analytical apps Analytical apps consume OData services exposed by SAP HANA. We recommend explicitly restricting access to those OData services actively used by configuring respective redirection rules in SAP Web Dispatcher or the reverse proxy of your choice. For more information about configuring SAP Web Dispatcher for analytical apps, see the Configuration section in the Central Implementation Information for analytical apps. Search in SAP Fiori Launchpad Searching in SAP Fiori Launchpad triggers requests towards the ABAP back-end server. For more information about enabling the search, see the Configuration section in the Central Implementation Information for transactional apps and fact sheets.
More Information For more information about using SAP Web Dispatcher as a URL filter, see http://help.sap.com/nw74 Application Help Function-Oriented View Application Server Application Server Infrastructure Components of SAP NetWeaver Application Server SAP Web Dispatcher Administration of the SAP Web Dispatcher SAP Web Dispatcher as a URL Filter .
1.2.3.3.2.2 Rewriting URLs SAP NetWeaver Gateway and SAP HANA XS OData services may return some absolute URLs. When these services are accessed through a reverse proxy, these URLs may be invalid and/or disclose system information (protocols, hostname, and port numbers). Therefore, we recommend configuring URL rewrite rules at the reverse proxy level. The data to process can be identified through its Content-Type HTTP header. The following content should be processed: Text/HTML Application/XML Application/JSON For more information, see http://help.sap.com/nw74 Application Help Function-Oriented View Application Server Application Server Infrastructure Components of SAP NetWeaver Application Server SAP Web Dispatcher Administration of the SAP Web Dispatcher Modification of HTTP Requests .
1.2.3.3.2.3 Internet-Facing Deployment Only SAP Fiori transactional apps are supported for consumption by Internet clients. This includes mobile devices that are not directly connected to the corporate intranet, for example when a user is travelling. For the demilitarized zone (DMZ), we recommend that you deploy SAP Web Dispatcher (or any other reverse proxy). SAP Web
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 39 of 96
Dispatcher should allow only requests that will be routed to the general internet communication framework (ICF) services or to Fiori apps that must be exposed. In particular, we recommend blocking all requests to the following: /sap/hba/* (SAP HANA XS) /sap/es/* (Enterprise Search)
More Information For more information about using multiple network zones, see http://help.sap.com/nw74 Security Information Security Guide Network and Communication Security Using Multiple Network Zones .
1.2.3.3.2.4 Virus Scanning Various SAP Fiori applications offer the possibility to upload documents and to display uploaded documents. If one of these applications is used, it is necessary to install an appropriate virus scanner and define sufficiently restrictive scan profiles to prevent upload of malicious content. Uploaded documents are displayed in SAP Fiori applications without further security-related checks. If a document contains malicious content, unintended actions could be triggered at the frontend during download or display, which might lead to cross-site scripting vulnerabilities. Scan Profiles for SAP Fiori Applications If one of the SAP Fiori applications listed below is used, the installation of an appropriate virus scanner (external product) connected to the back-end system is necessary. The virus scanner will reject all documents that are not compliant with the rules defined in the settings of the virus scanner (scan profile). To prevent any issues when displaying uploaded documents (for example, cross-site scripting) these rules need to disallow dangerous MIME types (for example, documents with active content like html or javascript). For more information about the configuration, see the documentation about the Virus Scan Interface at http://help.sap.com/nw74 . You can find additional information in the SAP Notes 786179 and 1494278. The following list contains all SAP Fiori applications that offer uploading or displaying of documents. All documents used in these applications are stored in the Knowlegde Provider (KPro) and are all checked with the scan profile /SCMS/KPRO_CREATE before stored on the database Area Application Technical Name Profile SAP CRM My Leads CRM_LEADS /SCMS/KPRO_CREATE
SAP ERP
SAP PORTF PROJ MGMT
My Accounts
CRM_MYACCOUNTS
/SCMS/KPRO_CREATE
My Appointments
CRM_MYCAL
/SCMS/KPRO_CREATE
My Contacts
CRM_MYCONT
/SCMS/KPRO_CREATE
My Opportunities
CRM_OPPRTNTY
/SCMS/KPRO_CREATE
My Quotations
SD_MYQUOTES
/SCMS/KPRO_CREATE (*)
Sales Order Fulfillment Monitor
SD_SOFULFIL_MON
/SCMS/KPRO_CREATE (*)
Report Quality Issue
UI_QM_CREATE
/SCMS/KPRO_CREATE
Approve Decision Points
PPM_PFMDCPT_APV
/SCMS/KPRO_CREATE
Change Portfolio Items
PPM_PFMITEM_CHG
/SCMS/KPRO_CREATE
Create Portfolio Item Proposals
PPM_PFMITPR_CRE
/SCMS/KPRO_CREATE
Confirm Project Tasks
PPM_PROTSK_CNF
/SCMS/KPRO_CREATE
(*) Profile /SCMS/KPRO_CREATE is the default profile. It can be overruled by the following settings (evaluated from top to bottom until a profile is found): 1. Value of parameter &GOS_VPROFILE from memory id &GOS_VSI_PROFILE 2. Value of parameter &BCS_VPROFILE from memory id &BCS_VSI_PROFILE 3. Value in field VALUE for the record in table SXPARAMS with key PARAM = SO_VSI_PROFILE
1.2.3.4 Internet Communication Framework Security SAP Fiori transactional applications and fact sheets consist of SAP NetWeaver Gateway OData services and HTML5/SAP UI5-based Web-enabled content managed by the Internet Communication Framework (ICF). You must use the transaction SICF to activate the ICF services required for the applications that you want to use. The following anonymous ICF services are common to all SAP Fiori apps and must be activated: /sap/public/bc/ui5_ui5 /sap/public/bc/ui2
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 40 of 96
This ICF service is only required if you use SAP Fiori ICF system logon class /UI2/CL_SRA_LOGIN for form-based authentication. The following authenticated ICF services are common to all SAP Fiori apps and must be activated: /sap/bc/ui2/start_up /sap/bc/ui5_ui5/ui2/ushell /sap/bc/ui2/iframe_logon /sap/opu/odata/UI2/PAGE_BUILDER_PERS For further required ICF services for individual applications, see the app-specific SAP Fiori documentation.
Note If your firewalls use URL filtering, also note the URLs used for the services and adjust your firewall settings accordingly.
Services for the Embedded Search To enable the search in the SAP Fiori launchpad and to enable the fact sheets, you need to activate the ICF services for the Embedded Search in the back end. For more information, enter the key phrase Setting Up Embedded Search in the documentation of SAP NetWeaver under http://help.sap.com. The relevant ICF services are listed under Activating UI Services.
More Information For more information about activating ICF services, see Activate ICF Services. For information about activating OData services, which are required for ICF services, see Activate OData Services.
1.2.4 Operations This guide covers the general steps to take when operating SAP Fiori apps. Where necessary, these instructions refer to app-specific documentation.
1.2.4.1 Monitoring SAP Fiori Apps SAP NetWeaver Gateway plays an important role within the system landscape for SAP Fiori apps. Therefore, monitoring SAP NetWeaver Gateway is essential for monitoring SAP Fiori apps. SAP NetWeaver Gateway SAP Solution Manager 7.1 SP04 or higher supports a root-cause analysis for SAP NetWeaver Gateway. For more information, see https://service.sap.com/support SAP Solution Manager Run SAP like a Factory Application Operations End-toEnd Root Cause Analysis . Also, see SAP Note 1478974. For more information about monitoring SAP NetWeaver Gateway, see SAP NetWeaver Gateway Technical Operations Guide. For more information about the error log for SAP NetWeaver Gateway hub, see the SAP Library for SAP NetWeaver Gateway 2.0 SPS 07 on SAP Help Portal at http://help.sap.com/nwgateway20 . In SAP Library, choose SAP NetWeaver Gateway Technical Operations Guide Supportability Error Log . User Interface Add-On for SAP NetWeaver For more information about administrative tasks, see the SAP Library for User Interface Add-On 1.0 for SAP NetWeaver on SAP Help Portal at http://help.sap.com/nw-uiaddon. In SAP Library, choose Administration Guide . For more information about problem solving related to the SAP Fiori Launchpad, see SAP Library for User Interface Add-On 1.0 for SAP NetWeaver on SAP Help Portal at http://help.sap.com/nw-uiaddon. In SAP Library, choose Administration Guide Content Administration SAP Fiori Launchpad Troubleshooting .
1.2.5 Extensibility This guide covers the general steps to take when extending SAP Fiori apps. It focuses on UI extensibility, and contains references to the documentation for extension of other layers.
Note If you want to change the branding of an SAP Fiori app, use Theme Designer. For more information, see the Theme Designer documentation.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 41 of 96
Target Group This guide is aimed at the following: Solution Consultants Development Consultants
1.2.5.1 Extending SAP Fiori Applications Extending SAP Fiori apps involves extending certain content layers. You might not have to extend all layers each time you want to enhance an application. To view the criteria for whether or not a layer must be extended see Content Layer Considerations.
1.2.5.1.1 Architecture Overview SAP Business Suite on HANA features an ABAP engine, which is used for transactional applications, and an XS Engine, which is used for analytical applications running on the same HANA database instance. Back-end application artifacts and application content are stored in the HANA database, as illustrated in the figure below. In addition, the UI apps are deployed on a central SAP ABAP NetWeaver server, which also contains the UI Service Add-on for the shell services and the Gateway Add-on for the OData enablement of the ABAP-based Suite system. The SAP HANA XS Engine provides a separate OData channel. The Web Dispatcher routes the HTML and OData requests.
SAP Fiori Architecture
Fiori apps are created using HTML5 and SAPUI5. For some extensions, the underlying jQuery JS library may be used. All supported form factors and operating systems are supported with one development project and a single code line per user interface app.
1.2.5.1.2 Application Types There are three different application types delivered with SAP Fiori. They are Transactional apps, Analytical apps, and Fact Sheets. Transactional Apps
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 42 of 96
These apps run best on HANA, but can also run with any database. Analytical Apps These are purely analytical apps that will run only on HANA following the HANA Live (2-tier) architecture and using virtual data models (VDM). Typical representatives are Smart Business KPI Cockpits but also include other analytical, predictive, and planning applications. These apps are not ported to any other database (AnyDB). They either use Smart Business KPI Framework or HANA Live and XS OData. Fact Sheets Fact sheet apps run on HANA and the ABAP stack. These scenarios are not ported to any other databases (AnyDB).
1.2.5.1.3 Content Layer Considerations You can extend the functionality of SAP Fiori apps by enhancing some of the content layers. The criteria for determining whether or not you need to enhance a layer are described in the following table: Content Layer When an Extension is Required Relevance Business Suite The back-end logic and content required Relevant for transactional apps. for the application enhancement does not Extensions in this layer are not covered exist in the Business Suite. here. Consult the app-specific documentation. Gateway
The back-end logic and content required for the app extension exists in the Business Suite layer, but is not exposed in the app's Gateway service.
Relevant for transactional and analytical apps. Extensions in this layer are not covered here in detail. For more information, see Extending the SAP NetWeaver Gateway Layer.
HANA
The back-end content required for the app extension exists in the HANA models, but is not exposed in the app's OData service.
Relevant for analytical apps. Extensions in this layer are not covered here in detail. For more information, see Extending the SAP HANA Layer.
UI
The back-end logic and content required Relevant for transactional and analytical for the app extension exists in the Gateway apps. layer, but is not exposed in the app's UI. This is covered in detail. See Extending the UI Layer.
Search Model
The back-end logic is not exposed in the application’s Gateway service.
Relevant for fact sheets. Extensions in this layer are not covered here in detail. For more information, see Extending the Search Model Layer.
1.2.5.1.4 Extending Content Layers The knowledge required to extend each content layer is indicated in the following table: Content Layer ABAP Business Suite SAP NetWeaver HANA Native SAPUI5 Gateway Development Business Suite X Gateway
X
X
X
HANA
X
UI Search Model
OData Protocol Fiori specific UI HTML5, Development JavaScript
X X
X
X
X
The tools required to extend each content layer are indicated in the following table:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 43 of 96
Content Layer
ABAP Object ABAP Dictionary ABAP Navigator (se80)(se11) Customizing (spro)
Business Suite X
X
Gateway
X
X
HANA Studio
SAP NetWeaver Eclipse with Smart Business Gateway ABAP Modeler Service Builder Repository (segw) Team Provider X
HANA
X
UI for Transactional apps
X
UI for Analytical type (a)
X
UI for Analytical type (b)
X
UI for Factsheets
X
Search Model
X
1.2.5.2 Extending the SAP NetWeaver Gateway Layer You extend an app’s Gateway layer when you need to expose additional back-end logic and content to the UI layer.
1.2.5.2.1 OData Extensibility You can achieve modification-free extensibility by using the Redefine Gateway Service function. For more information, see Redefining OData Services (GW).
Note Some Fiori app development occurred prior to the Redefine Gateway Service function. These were not developed using the Service Builder tool. Therefore, not all applications comply with the rules of Service Builder. Such applications may be extended using other mechanisms, such as Business Add-Ins (BAdIs). Check the application-specific documentation in each case. By extending an OData service you are creating a custom OData service, or OData project, that redefines an SAP-delivered one.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 44 of 96
Redefinition of SAP-Delivered OData Project
1.2.5.2.1.1 OData Extensibility in Gateway You extend an app's Gateway layer when you need to expose additional back-end logic and content to the UI layer. In SAP NetWeaver Gateway Service Builder (transaction SEGW), redefine the relevant Gateway service for the app. To get the name of your BSP application, refer to the application-specific documentation. There you can also find the SEGW project or OData Service name. Refer to SAP Note Number 1919388 for details of how to extend an OData service. For more information, see Extending an OData Service Using Service Builder and Redefining Services. Using this approach leads to runtime artifacts where the Customer Data Provider Class (DPC) class is a subclass of the SAP-delivered class. You can check this by examining the superclass of the Customer’s DPC classes.
Note To avoid collisions between customer-specific and SAP-specific names, ensure you create the names in the customer namespace. Alternatively, use prefixes, such as Y or Z. This is relevant for OData properties, entity types, navigation properties, associations, entity sets, and method.
1.2.5.3 Extending the SAP HANA Layer When you need to expose back-end fields to the UI layer, you modify an app’s HANA layer. The HANA objects that you want to modify can be of different types, such as HANA views and HANA .xsodata files. You copy the SAP-delivered objects into the customer-specific package, and then you modify the customer objects. For more information, see the SAP HANA Developer Guide at http://help.sap.com SAP In-Memory Computing SAP HANA SAP HANA Platform Development Information SAP HANA Developer Guide .
1.2.5.4 Extending the UI Layer When the back-end logic and content required for the app extension exists in the Gateway layer, but is not exposed in the app’s UI, then you need to extend the app’s UI layer.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 45 of 96
This section covers three cases. The first involves modification-free extensibility. For more information, see Custom Application Extensibility. The second covers extending the UI for transactional apps and for analytical apps that use HANA Live and XS OData. For the detailed workflow, see UI Extensibility Workflow. The third covers analytical apps that use the Smart Business KPI Framework. For more information, see UI Extensibility for Analytical Apps using Smart Business.
1.2.5.4.1 Custom Application Extensibility The extensibility concept allows you to create modification-free extensions for certain extensibility use cases. A modification-free application requires no modifications in the SAP-delivered standard application. This protects the customer investment and at the same time allows SAP upgrades to perform without interfering with the custom application. The concept uses the extension capabilities of the UI components and the JavaScript classes. A typical SAP-delivered standard application consists of bootstrap files, views, view controllers, and internationalization files. A custom application extends an SAP-delivered standard application and consists of the bootstrap file Component.js, which extends the Component.js of the SAP standard application, internationalization file, view fragments, views, and view controllers. Modification-free extensions are possible in the following cases: View extensions View modifications View replacements Configuration for overriding or extending the navigation routes Controller extension Controller replacement Extending the internationalization (i18n) strings Overriding or adding OData service URLs When the custom application is started, at runtime, the resources of both the SAP-delivered standard application and the custom application are merged to create a single runtime artifact. The Component.js in the custom application is merged with Component.js in the SAP-delivered standard application at runtime.
Representation of View Extensions
Note For more information on Creating an SAP UI5 Application, please refer to the documentation at http://help.sap.com/netweaver User Interface Add-On for SAP NetWeaver Application Help Developer Guide Getting Started Create Your First SAPUI5 Application .
Result At the end of all the steps to create a custom application that extends an SAP-delivered standard application, the SAP Fiori end-user gets to see a custom tile on the SAP Fiori Launchpad, as shown below.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 46 of 96
New Custom Tile on Launchpad
1.2.5.4.2 UI Extensibility Workflow When the back-end logic and content required for the app extension exists in the Gateway layer, but is not exposed in the app’s UI, then you follow this workflow.
Prerequisites Before beginning, you should complete the following steps: Install ABAP Development Tools for SAP NetWeaver Refer to https://tools.hana.ondemand.com/#abap for setting up ABAP Team Provider Install the SAPUI5 Application Development Tool for Eclipse Refer to SAP Note 1747308 for the Installation of UI development toolkit for HTML5 (SAPUI5) Ensure that all SAPUI5 plugins are version 1.16.2 or higher Version numbers appear on the Installed Software tab. See Help About Eclipse Installation Details . Ensure the local Tomcat web server is configured to work with SAPUI5 Eclipse First you may have to download Tomcat from http://tomcat.apache.org/download-70.cgi. In the Java EE perspective (the default perspective) of Eclipse, click the Servers tab. If there are no servers available, choose the new server wizard link. Alternatively, right-click and select New Server . Choose Apache Tomcat 7.0 . Add a new server runtime by specifying the folder where you unzipped the Tomcat files. When you finish the wizard you should see a Tomcat v7.0 server in the Servers view. Finally, open the configuration overview by double-clicking the Tomcat v7.0 server in the Servers view. There you need to select the server option, Serve modules without publishing.
Note In case the ABAP system where the UI application is deployed is based on NW 7.31 or higher, then you can use the ABAP Repository Team Provider. For releases lower than NW 7.31, you can use SAPUI5 Application Development plug-in of Eclipse and use the upload/download mechanisms described in the link https://sapui5.hana.ondemand.com/sdk/#docs/guide/UI5BSPRepository.html
Process These are the steps in the process for extending the UI of SAP Fiori applications.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 47 of 96
Task 1
Definition Download the SAP-delivered standard application from the ABAP system
2
Test the SAP-delivered standard application in the local Launchpad sandbox environment
3
Create a custom application that extends an SAP-delivered standard application
4
Check the SAP-enabled extension options
5
Define the extensions metadata
6
Test the custom application on the local Launchpad sandbox environment
7
Upload the custom application to the ABAP system
8
Smoke-test the custom application on the ABAP system
9
Configure the custom application on Fiori Launchpad
10
Test the custom application on Fiori Launchpad
1.2.5.4.2.1 Download the SAP-Delivered Standard Application from the ABAP System Prerequisites Before doing this step, you should know the following: 1. The BSP Application Name of the app you want to extend 2. The OData service URL that contains the required extensions In order to get the BSP Application Name for a given SAP Fiori app, please refer to the app-specific documentation. Downloading SAP UI 5 Application Project For detailed steps, see the chapter Retrieving the SAPUI5 Application Project from the SAPUI5 Repository in the Developer Guide for User Interface Add-On at http://help.sap.com/nw-uiaddon Development Information Developer’s Guide
Note The project name in Eclipse for the SAP-delivered standard application should be same as the BSP application service name on the server. Use transaction SICF on the ABAP server to get the service name.
1.2.5.4.2.2 Testing the SAP-Delivered Standard Application For Tomcat and Eclipse configuration details, see the chapter Test Your SAPUI5 Application on a Java Web Server in the Developer Guide for User Interface Add-On at http://help.sap.com/nw-uiaddon Development Information Developer’s Guide To use the proxy, you need to change the OData service URL of the SAP-delivered standard application. First, look for the OData service URL in the Configuration.js file inside the WebContent folder. Inside the file, look for an object called serviceList and a property called serviceUrl. Then change it to what is shown below.
Syntax 01.
serviceUrl:"/ZF2UIAPPREF002/proxy/sap/ou/odata/sap/PS_MILESTONE_CONFIRM?",
To configure the application, see chapter 1.2.6.1, Local Sandbox Environment for the Launchpad, in the Developer Guide for User Interface Add-On at http://help.sap.com/nw-uiaddon Development Information Developer’s Guide .
1.2.5.4.2.3 Creating a Custom Application PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 48 of 96
To create a custom application, perform the following steps: 1. In Eclipse, create a new SAPUI5 Application Project. 2. Create component.js and define the extension metadata. 3. Implement extension by creating the views, controllers, and i18n properties.
Note In order that there are no collisions between customer and SAP names in the Properties/Methods of the controllers, ensure that you name them in the customer namespace.
Note In order that there are no collisions between customer and SAP names in the view Control IDs, ensure that you name them in the customer namespace.
Note Although collisions may not occur in the current version, they may occur after SAP ships new versions.
1.2.5.4.2.4 Checking the SAP-Enabled Extension Options The extensibility concept provides a very high flexibility of extensions. However, flexibility leads to complexities. There are different extension options. You should look for specific places where SAP has enabled extension points. Check if you can meet the extension requirements by using one of the following options: i18n Resource Extension View Modification View Extension Controller Extension using a Hook Where these options are not sufficient to achieve a given requirement, check the following options: View Replacement Controller Extension Custom View Only use these options as a last resort for achieving extensibility use cases.
1.2.5.4.2.5 Defining Extensions Metadata The extensions metadata is defined in the Component.js file of the custom project. The Component.js file has an json object called metadata. The object metadata contains the following objects: routing, config, and customizing. Object Name Use config Used to define metadata for the following: Custom OData URL Custom i18N bundle name customizing
Used to define metadata for the following: View extensions View modifications View replacements Controller extensions
routing
Used to define metadata for new navigation routes in the following cases: Customer views are added Customer wants to change a navigation route
The object customizing supports the following objects and their usages are mentioned in the table below: Object Name Use sap.ui.viewExtensions Used to add a new view element to the standard view at the defined extension points. sap.ui.viewModifications
Used to change the property value of a control in the view.
sap.ui.viewReplacements
Used to replace a standard view with a view in the custom application.
sap.ui.controllerExtensions
Used to extend the functionality of the base controller.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 49 of 96
The object config supports the following objects and their usages are mentioned in the table below. Refer to https://sapui5.netweaver.ondemand.com/sdk/#docs/guide/Customization.html for more details. Object Name Use sap.ca.i18Nconfigs Used to replace or augment the internationalization strings with strings defined in the custom application. sap.ca.serviceConfigs
Used to add or change the oData Service definition with oData service defined in the custom application.
For more information about the usage of the object routing. see Refer to https://sapui5.netweaver.ondemand.com/sdk/#docs/guide/Navigation.html for the usage of object “routing”. For examples and more information about the object json, see http://www.w3schools.com/json/.
1.2.5.4.2.6 Testing the Custom Application To test the custom application, see the section Run Your Own Applications in the Sandbox, in the Developer Guide for User Interface Add-On at http://help.sap.com/nw-uiaddon Development Information Developer’s Guide .
1.2.5.4.2.7 Uploading the Custom Application to SAPUI5 Repository You then need to upload the custom application to the SAPUI5 repository. For detailed steps, see the chapter Sharing the SAPUI5 Application Project with the SAPUI5 Repository in the Developer Guide for User Interface Add-On at http://help.sap.com/nw-uiaddon Development Information Developer’s Guide .
1.2.5.4.2.8 Smoke-Testing the Custom Application on the ABAP System For detailed steps in smoke-testing the custom application, see the chapter Test Your SAPUI5 Application on an ABAP Server in the Developer Guide for User Interface Add-On at http://help.sap.com/nw-uiaddon Development Information Developer’s Guide .
1.2.5.4.2.9 Configuring the Custom Application on the Fiori Launchpad Now you need to set up the custom application on the SAP Fiori Launchpad. For detailed steps, see Setting up Navigation at http://help.sap.com/nw-uiaddon. In SAP Library, choose Administration Guide Content Administration SAP Fiori Launchpad Launchpad Navigation . Configure Target Paths in the Catalog – Adaptation for Cross-App Navigation Some applications may have enabled cross application navigation. For example, a CRM Lead app may have navigation paths to a CRM Account app. In this case, if you are building a custom CRM Account app, the navigation paths from the CRM Lead app need to be customized to point to the custom CRM Account app. You do this using the Fiori Launchpad. For more information see the Configuring Target Mapping section at http://help.sap.com/nw-uiaddon. In SAP Library, choose Administration Guide Content Administration SAP Fiori Launchpad Launchpad Navigation .
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 50 of 96
1.2.5.4.2.10 Testing the Custom Application on the Fiori Launchpad Launch the SAP Fiori Launchpad, and then click the custom application tile.
1.2.5.4.3 UI Extensibility for Analytical Apps using Smart Business To extend or customize analytical apps that run using the Smart Business Framework, see the KPI Modeler documentation, specifically the section Managing Visualizations, at http://help.sap.com/in_memory SAP HANA Innovations for SAP Business Suite SAP Hana Live for Smart Business Applications Smart Business Applications . It is also possible to change the appearance of the SAP Fiori Launchpad. For detailed steps, see Adjusting the Visual Appearance of the Launchpad at http://help.sap.com/nw-uiaddon. In SAP Library, choose Administration Guide Content Administration SAP Fiori Launchpad .
1.2.5.5 Extending the Search Model Layer When the back-end logic is not exposed in the application’s Gateway service, you extend the Search Model layer.
1.2.5.5.1 Fact Sheet Extensibility If the fact sheets delivered by SAP do not meet your requirements, you can extend them by a new field, for example a new object such as an additional date, or an internal, or external key figure. New fields are delivered by an appropriately extended search model to the SAP NetWeaver Gateway in an OData service. The OData service provides the back-end information to the UI. A fact sheet is created generically based on the semantic and object structure information coming from an annotation file. Technically, a fact sheet is represented by a combination of: A search model Potentially some enhancements An OData service derived from the enhancements A BSP application with an annotation file that defines the link between the OData service, and a generic user interface
Activities To extend a fact sheet, the following steps are necessary: 1. Extend the search model with the required fields. The corresponding OData service is enhanced automatically. 2. In SE80, search for the suitable BSP application with *BSCBN_ANF*. 3. Copy the content of the attached annotation file into another editor, and make your changes in the annotation file. 4. Create your own BSP application. 5. Copy the content of the extended annotation file to the new BSP application. 6. Register the BSP application in the Launchpad Customizing (LPD_CUST).
More Information Extending a Search Model Annotation File Configuring Enterprise Search (Search and Fact Sheets) SAP Fiori Design Types and Database Requirements For more information about Launchpad Customizing, see SAP Help Portal at http://help.sap.com/nw-uiaddon Application Help Content Administration Fiori Launchpad Fiori Launchpad Navigation Customizing Navigation Targets .
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 51 of 96
1.2.5.5.1.1 Extending a Search Model If the search models delivered by SAP do not meet your requirements, you can change existing search models. You can extend the search model by an additional field to be searched for.
More Information For more information about creating and changing search models, see SAP Help Portal at http://help.sap.com SAP NetWeaver SAP NetWeaver Platform 7.3 Embedded Search Developer’s Guide Creating or Enhancing Search Models . SAP Fiori Design Types and Database Requirements Configuring Enterprise Search (Search and Fact Sheets)
1.2.5.5.1.2 Checking the Properties of an OData Service In the SAP NetWeaver Gateway, you can check all generated properties, that is all fields existing in the back-end system and delivered by the search model to the OData service.
Activities To get an overview of all generated properties, that is all fields existing in the back-end system and delivered by the search model, open the SAP NetWeaver Gateway via transaction /IWFND/MAINT_SERVICE. 2. Search for services named *CB*SRV*, and choose the service that corresponds to your needs. 3. Choose Gateway Client, and the Add URI Option pushbutton. Choose a URI Option. The system checks the fields coming from the back end and generates a URI that you can use to call the OData service. 4. Choose Set Meta Data. The system provides all fields selected by the search model in the back end. 1.
More Information Using Annotation Tags Fact Sheet Extensibility Extending a Search Model Configuring SAP NetWeaver Gateway
1.2.5.5.1.3 Annotation File An annotation file is a semantic description of an OData service. It delivers semantic information to properties and entity types delivered by the OData service, which can be used for a generic rendering for a fact sheet. The description is defined by a sequentiality of annotations that are tags following a special syntax. Annotation tags use terms that are defined in vocabularies, either OData core or delivered by SAP.
Example The term UI.LineItem is defined in the vocabulary as An annotation file consists of: A setup area that references the vocabularies, the XML name spaces, and one or several OData services, which provide data to the annotation file. A vocabulary is a set of semantic and structuring term definitions. Vocabularies are delivered by SAP.
Syntax 01.
An annotation area that provides a semantic description of the OData service referencing the entity types and properties of the corresponding OData service.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 52 of 96
An annotation file always refers one or several targets. Each annotation has a target, which refers an entity type or a property of the OData service used.
Syntax 01. 02. 03. 04. 05. 06. 07. 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Each annotation refers to a term of a vocabulary. The features of annotations are: Mapping properties of an OData service to the terms of a vocabulary, that is, the entity types and properties of the corresponding OData service are referenced in the properties of annotation terms. Defining semantic terms, such as header, identification, or line item. Defining areas on the UI, such as facets. With a facet, you define a structure in your annotation file, where you can refer annotations defined before, such as header, identification, or line item.
More Information Fact Sheet Extensibility Extending a Search Model Using Annotation Tags Adding a New Field to a Fact Sheet Adding Key Figures to a Fact Sheet
1.2.5.5.1.3.1 Using Annotation Tags With annotation tags, you provide semantic information for properties and entity types of an OData service. For example, you define the semantic description of the identification area, or the UI structure by facets. As a prerequisite, the corresponding OData service retrieves data from the back-end system via a search model. You can use the data provided by the OData service in your annotation file.
Integration The following table provides an overview how an extended search model is reflected in an OData service. Search Model OData Service Field Property of an Entity Type Model Response
Entity Type
The following table provides an overview how entity types of an OData service are reflected in annotation files with their tags. OData Service Annotation Tag Property of an Entity Type Property with PropertyValue Annotations Target Entity Type
Annotations Target
Features In an annotation file, the following tags are available: For the identification of the object to be displayed on the UI: The Annotations Target="‘Entity Type of the OData service’“> references the entity type provided by the OData service.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 53 of 96
For the semantic description of the entity types and properties of an Odata service: Defines the header information, which must be defined for all objects of the corresponding OData service. It shows languagedependent object information. Defines the header information, plus a set of attributes identifying the object. Defines a business card view, with the most important properties and data fields of the object. Defines detailed information for the object, which can be linked and displayed in a separate screen, as a table. Line items can be sorted, grouped, or filtered. Defines a group of fields belonging together semantically, and references an entity type of the corresponding OData service. Defines key figures for the object, which are provided by the corresponding OData service, or any other OData service, that is from an SAP HANA database. Combined with the Identification, or LineItem term, the Importance term defines whether a field is displayed with priority Low, Medium, or High. For the definition of a UI area, such as a facet: Defines a segmentation of content for the object. Facets can reference existing terms, such as identification, or line item. The General facet cannot be changed. For the definition of single fields with their properties: Defines a label-value pair that refers a property of the OData service used. Defines a label-value pair that refers a property of the OData service used. The definition consists a link to navigate to a new target, based on a navigation property provided by the OData service, or defined in the annotation file. Defines a label–value pair that refers a property of the OData service used. The definition consists a URL to navigate to a new target, that is a URL. Defines that the label of a record is displayed as a string on the UI. Defines that the value is retrieved from a property of the OData service used.
More Information Adding Key Figures to a Fact Sheet Annotation File
1.2.5.5.1.3.1.1 Adding a New Field to a Fact Sheet To use a new field in your fact sheet, you can change the corresponding annotation file by copying the suitable lines and replace the properties of the relevant annotation with new properties provided by the OData service.
Example The following example describes how an additional data field of the OData service can be added to the LineItem annotation:
Syntax 01.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 54 of 96
ChartOfAccounts ChartOfAccountsName
As a prerequisite, the corresponding OData service contains the fields ZSalesUnit, ChartOfAccounts, and ChartOfAccountsName. On the fact sheet, the system provides these additional fields defined by , ChartOfAccounts, and ChartOfAccountsName in the line item view, which is determined by the first row .
Prerequisites You have extended the search model with the required field. The field to extend the fact sheet is provided by an OData service. You have found the appropriate BSP application in your system, in transaction SE80.
Activities To adapt your fact sheet according to your needs, you change the annotation file as follows: 1. Copy the complete annotation file into any editor. Check the OData service for the required new fields for your fact sheet in the SAP NetWeaver Gateway, in parallel. For more information, see Checking the Properties of an OData Service. 2. In the copied annotation file, search for the appropriate area to extend it with a new field. For example, you can search for the entity type found in the OData service. 3. Duplicate the lines of the annotation file, which you want to adapt, tat is the lines defining the Record of the search model field. 4. Replace the Path, or several paths in case you want to concatenate fields, of the copy according to your requirements. For example, copy one ..... area and change the Path to Path="ZSalesUnit" to display the additional field ZSalesUnit on the fact sheet. 5. Save the annotation file.
Result The new annotation file is ready to be attached to your own BSP application.
More Information Using Annotation Tags Fact Sheet Extensibility Extending a Search Model Checking the Properties of an OData Service
1.2.5.5.1.3.1.2 Adding Key Figures to a Fact Sheet In a fact sheet, three key figures can be displayed. You can add the following types of key figures: Internal key figures that are derived from the corresponding OData service External key figures that are derived from other OData services, from an OData service provider for external key figures, such as SAP HANA Live A key figure is represented as DataPoint annotation term in the annotation file. To add an additional key figure, or replace an existing
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 55 of 96
one, you adapt the annotation file.
Prerequisites For internal key figures: The key figures are provided by the search model to the SAP NetWeaver Gateway, and are delivered to the UI by the related OData service. For external key figures: The key figures are provided by the search model to the SAP NetWeaver Gateway, and are delivered to the UI by an OData service for external key figures. The key figures are defined in the system of an external key figure data provider
More Information Extending a Search Model Adding Internal Key Figures to a Fact Sheet Adding External Key Figures to a Fact Sheet
1.2.5.5.1.3.1.2.1 Adding Internal Key Figures to a Fact Sheet Activities To integrate an internal key figure, you change the annotation file as follows: 1. In the annotation file, search for the term DataPoint, or add a new DataPoint term as described in the following example. 2. Copy the complete annotation that contains the DataPoint description. 3. Change the necessary properties. 4. Save your changes.
Example You add a second key figure to your fact sheet. For the latest version of the annotation file, see:
Syntax 01. 02. 03. 04. 05. 06. 09. 10. 11. 12.
The DataPoint term defines a key figure as follows: With a label that is described by an OTR alias (/SAPSRM/CH_WD_UI_BO/TARGET_VALUE) coming from the back-end system. The value of the key figure is derived from the field TOTAL_VALUE of the corresponding OData service. The value is displayed as a number (Number Format), with one digit (NumberOfFractionalDigits" Int="1"). You adapt the annotation file by changing the following properties: Replace the qualifier with , for the second key figure. nnn represents any name. Change the OTR alias to replace the label of the key figure. The value of the key figure can be derived from a different field of the OData service, such as NET_VALUE. Change the number of digits to 2 by NumberOfFractionalDigits" Int="2".
More Information Extending a Search Model Adding Key Figures to a Fact Sheet
1.2.5.5.1.3.1.2.2 Adding External Key Figures to a Fact Sheet PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 56 of 96
To integrate an external key figure to your fact sheet, you pass the key figure from an OData service provider for external key figures to the DataPoint term in your annotation file by changing the relevant property value.
Activities To integrate an external calculated key figure, you change the annotation file as follows: 1. Add an edmx reference to the external data provider system. Enter the URL to the OData service that retrieves the metadata to the OData service providing the key figure. Additionally, a namespace and an alias must be assigned, for example:
Syntax 1. 2. 3. 4. 2.
Declare a term name. The term name must be added within the schema section. The term name must point to the relevant result type of the OData service, such as a Entity, Entity Set, or Property.
Example In this example, the term name FlightCosts points to the Entity Set FLIGHT.Flight of the corresponding OData service. Define an annotation referring to the OData service that provides the key figure, such as an SAP HANA Live OData service. The annotation consists of the annotation file’s alias and the newly defined term. The URL to the external data provider query must be embedded with the tag and entered as . 4. Optionally, you can retrieve values from the fact sheet OData service to restrict the OData service provider query for external key figures. Use the function odata.fillUriTemplate. Values that are referenced from a labeled element of the annotation file must be marked with braces, that is: = {LabeledElement}.
3.
Syntax 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
/HANA/ODATA/IWFND/RMTSAMPLEFLIGHT/FlightCostsQuery( P_ExchangeRateType='M',P_TargetCurrency='{Cur rency}')/Results?%24select%3DCriticalAmountInDisplayCrcy Currency
In the annotation file, search for the term .DataPoint, or add a new DataPoint term as described in the following example. Copy the complete annotation section that contains the .DataPoint description. 7. Change the necessary properties. The key figure from an external data provider can be addressed with @+ ‘ ’ + ‘/’+ 5. 6.
Example . In this example, the key figure CriticalAmountInDisplayCrcy is addressed with @CB_SALES_ORDER_SRVAnnotation.FlightCosts/CriticalAmountInDisplayCrcy">. 8.
Save your changes.
Example You add an external key figure to the annotation file. The key figure is passed to the DataPoint term as follows: With a title that is as an OTR text /SAPSRM/CH_WD_UI_BO/COST_OF_FLIGHT. With a description that is structured as follows: A label coming from an OTR text /SAPSRM/CH_WD_UI_BO/FLIGHT_DESCRIPTION. A value that is concatenated from the fields CARRID for the airline, and CONNID for the flight number. With the key figure CriticalAmountInDisplayCrcy that is addressed with @CB_SALES_ORDER_SRVAnnotation.FlightCosts/CriticalAmountInDisplayCrcy">.
Syntax
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 57 of 96
Syntax 01. 02. 03. 04. 05. 06. 07. 08. 09. Flight 10. CARRID 11. Number 12. CONNID 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
More Information Adding Key Figures to a Fact Sheet Extending a Search Model
1.2.5.5.1.4 Register a BSP Application in Launchpad Customizing You have enhanced your fact sheet and created a new BSP application with a modified annotation file. To make the fact sheet available in the Fiori Launchpad, you register the BSP application in transaction LPD_CUST.
More Information For more information about Launchpad Customizing, see SAP Help Portal at http://help.sap.com/nw-uiaddon Application Help Administration Guide Content Administration Fiori Launchpad .
1.2.5.6 Additional References The below table contains useful links to other documents Topic SAP Theme Designer
Link http://help.sap.com/nw-uiaddon Application Help UI Theme Designer
SAP Netweaver UI Addon
http://help.sap.com/nw-uiaddon
SAP Netweaver UI Addon Developer API Reference
https://sapui5.netweaver.ondemand.com/sdk/#d ocs/api/symbols/sap.ui.html
SAP UI Development Toolkit for HTML5 (SAPUI5)
https://tools.hana.ondemand.com/#sapui5
SAP UI5 Wiki
https://sapui5.hana.ondemand.com/sdk/
SAP UI5 Community
http://scn.sap.com/community/developercenter/front-end
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 58 of 96
1.2.6 Implementing Apps in Customer Relationship Management This information relates to Transactional Apps. Technical Data The following tables list the technical objects specific for SAP CRM. Front-End Menu Roles Component LPD_CUST
Technical Name UICRM001
Technical Roles
SAP_CRM_TCR_T
Technical Catalogs
SAP_CRM_TC_T
For more information about how to implement these technical objects, see Central Implementation Information.
1.3 SAP Fiori Apps for SAP CRM
1.3.1 My Accounts With the transactional app My Accounts you can search for corporate accounts stored in the back end, either for your own accounts or for all accounts. You can display general information of a selected account as well as other related information, such as contacts, leads, and opportunities, and share or discuss the information in SAP Jam. You can use the app to prepare for an interaction with an account.
Key Features Note My Accounts only covers accounts created as corporate accounts in the back end; it does not cover individual accounts. Search for accounts Switch between own accounts (accounts to which you are assigned as employee responsible in the back end) and all accounts Display key figures of a selected account, such as the expected sales volume of opportunities, revenue last year, and revenue to date current year, as well as general information, such as address, rating, last appointment, next appointment
Note This information is read-only. Editing the information or creating new accounts is not possible. Display an overview of the top contacts, notes, tasks, appointments, attachments, leads, and opportunities of a selected account, and navigate to more detailed information Edit leads, opportunities, appointments, tasks, and contacts, by navigating to the corresponding apps Create new opportunities, appointments, tasks, and contacts for the selected account, by navigating to the corresponding apps Share account information in SAP Jam groups and discuss it in SAP Jam feeds
Technical Requirements The following software products must be available in your system landscape: Back-End System (Business Data) Required product release: SAP enhancement package 3 (SP02) for SAP CRM 7.0 UI Add-On (Front-End Components) Required product release: UI for EHP3 for SAP CRM 7.0 For more details on the implementation of the app, see App Implementation: My Accounts.
Related Apps PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 59 of 96
My Contacts My Tasks My Appointments My Leads My Opportunities
Note When you navigate from an account to the My Appointments, My Tasks, My Leads, or My Opportunities app, not all available data is displayed but only those business objects for which you are responsible. This is why the total number of opportunities displayed in the My Accounts app can differ from that displayed in the My Opportunities app, for example. When you navigate from an account to the My Contacts app, all available data is displayed since, despite its name, the My Contacts app is not restricted to the display of own contacts but also allows the display of all contacts available in the back end.
Component for Customer Messages CRM-MD-BP
1.3.1.1 App Implementation: My Accounts Required SAP Notes For My Accounts, the following SAP Notes must be available: Back-End/Front-End Server SAP Note Number Back-end server 1930684
Description KPIs for Account FactSheet not available
Back-end server
1929563
ACE Checks for Contacts and Accounts
Back-end server
1944230
Corrections for SAP Fiori CRM My Accounts App 1.0 Patch 1
Technical Data The following tables list technical objects specific to My Accounts: Back-End Components OData Service (Version Number) CRM_BUPA_ODATA (1)
Authorization Role (PFCG Role) SAP_CRM_MYACCOUNTS_APP
For more information about authorization roles and assigned OData services, see Roles, Users, and Authorizations on Back-End Server. Front-End Server: UI5 Application Component UI5 Application
Technical Name CRM_MYACCOUNTS
For more information about how to activate the UI5 application (ICF service), see Activate ICF Services. Front-End Server : SAP Fiori Launchpad Components Component Business Role
Technical Name SAP_CRM_BCR_SALESREP
Business Catalog
SAP_CRM_BC_SalesRep
Business Catalog Group
SAP_CRM_BCG_SalesRep
Technical Role
SAP_CRM_TCR_T
Technical Catalog
SAP_CRM_TC_T
LPD_CUST Role
UICRM001
LPD_CUST Instance
TRANSACTIONAL
For more information about roles, catalogs and catalog groups in the SAP Fiori Launchpad, see Setup of Catalogs, Groups, and Roles in the Fiori Launchpad.
Configuration To enable My Accounts, you must perform the following configuration tasks: Configure logos
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 60 of 96
To deliver the logos of accounts to the My Accounts app, you must attach the logo to the corporate account, in the back end. Make the following settings for the logo in the WebClient UI, in the Attachments assignment block of the account, under Advanced Properties: Select the Default Document checkbox. Set the document type to BDS_IMAGE.
Note The aspect ratio of the logo should be 1:1. Define currency In Customizing for SAP CRM, define the currency in which revenue key figures and the expected sales volume of opportunities are displayed. You do this in Customizing for SAP CRM, under Customer Relationship Management Master Data Business Partner OData Services Define Settings for Business Partner OData Services . If the standard user parameter for currency, FWS, is set, the currency used is always that of the user parameter. If the user parameter is not set, the currency used is the currency defined in this Customizing activity. If neither the parameter is set nor a currency defined in the Customizing activity, the default currency used is USD. Retrieve data for account-related key figures See description of BAdI CRM_BUPA_ODATA_ENHANCEMENTS below. Configure SAP Jam integration For more information about SAP Jam configuration, see SAP Library for user interface add-on for SAP NetWeaver on SAP Help Portal at http://help.sap.com/nw-uiaddon . Under Application Help, open SAP Library and choose Social Media Integration. Assign and adjust authorization roles (PFCG roles) Assign the following authorization roles (PFCG roles) to the users of the app: Authorization Role (PFCG Role) Description SAP_CRM_MYACCOUNTS_APP Role that contains only the technical access to the OData service necessary for running the app SAP_CRM_UIU_SLS_PROFESSIONAL or other
Role that covers authorizations for the business objects accessed by the app
Make sure that one of the assigned authorization roles contains the following authorizations: Authorization object S_RFC (Authorization Check for RFC Access), with the following values: Field Value ACTVT 16 RFC_NAME
/IWBEP/FGR_MGW_CLIENT_IF
RFC_TYPE
FUGR
Authorization object S_RFCACL (Authorization Check for RFC User (e.g. Trusted System)) There are no predetermined values for this.
Note This step is required once for all SAP CRM apps, not once per app. Assign "Employee" business partner role Ensure that each user who should have access to the My Accounts app is assigned to a business partner with the Employee business partner role.
Further Information For general information about how to implement SAP Fiori apps, see System Landscape.
1.3.1.2 App Extensibility: My Accounts You can extend My Accounts according to your business needs for different aspects.
Example To add the preferred communication method to the Contacts block, the following extensibility entities are available on the different layers. You have to extend each of these entities according to your specific business needs:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 61 of 96
UI View
Extension Point
S360.view.xml
extContactsInfo
Back End / ABAP Design Time: Gateway Entity CRM_BUPA_ODATA
Design Time: Extension Run Time: Superclass and Include (in DDIC Structure) Method to be Redefined CRMT_BP_ODATA_AD Superclass: CL_CRM_BP_ODATA_ DRESS_INCL RT_ADDRESS Method: READ_ADDRESSES_F OR_PARTNER
Back-End Extensibility Business Add-Ins (BAdIs) The following Business Add-In is available for extensibility purposes: CRM_BUPA_ODATA_ENHANCEMENTS. You can use this BAdI to retrieve the following account-related key figures from the back-end OData layer and deliver them to the app: expected sales volume of opportunities and revenue (last year, current year). You can find the BAdI in Customizing for SAP CRM, under Customer Relationship Management Master Data Business Partner OData Services BAdI: Retrieval of Data for Account-Related Key Figures . With SAP HANA databases, the example implementation CL_CRM_BP_ODATA_EX_FACTSHEET_H is active as a default, and account-related key figures are displayed automatically. You can copy the example implementation and adapt it to your needs as desired. For the revenue key figures, this example implementation selects and aggregates the amounts of all sales orders with status Released or Completed. For the expected sales volume of opportunities, it selects all opportunities with status In Process or Open and aggregates the expected sales volume. The following authorization check is available: The example implementation selects only the sales orders and opportunities that belong to the sales organization to which the user of the app is assigned as employee responsible. If the user is not assigned to any sales organizations, no sales orders or opportunities are selected. With any other database, there is no active default implementation, and you must implement this BAdI to be able to see accountrelated key figures. For this purpose, the example implementation CL_CRM_BP_ODATA_EX_FACTSHEET_L is available. For more information, see the documentation of this Customizing activity. Extension Includes The following extension includes are available: DDIC Structure Extension Include CRMT_BP_ODATA_ACCOUNT CRMT_BP_ODATA_ACCOUNT_INCL
Use Accounts
CRMT_BP_ODATA_ADDRESS
CRMT_BP_ODATA_ADDRESS_INCL
Address data
CRMT_BP_ODATA_CLASSIFICATION
CRMT_BP_ODATA_CLASSIFIC_INCL
Classification
CRMT_BP_ODATA_ACC_FACTSHEET
CRMT_BP_ODATA_ACC_FACT_INCL
Factsheet for account
CRMT_BP_ODATA_CONTACT
CRMT_BP_ODATA_CONTACT_INCL
Contacts
CRMT_BP_ODATA_ATTACHMENT
CRMT_BP_ODATA_ATTACHMENT_INCL
Attachments
CRMT_BP_ODATA_NOTE
CRMT_BP_ODATA_NOTE_INCL
Notes
CRMT_BP_ODATA_EMPLOYEE
CRMT_BP_ODATA_EMPLOYEE_INCL
Employees
For more information about extension includes, see Extension Includes.
Front-End Extensibility Extension Points There are two types of extension point: Extension points that contain specific objects These extension points allow you to remove or replace an object, e.g. if you want to change the sequence of the object’s default attributes, or add a custom attribute in any place except the very end of the object’s default attributes. Empty extension points These extension points allow you to add custom attributes at the end of the object’s default attributes. The following extension points are available:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 62 of 96
View Extension Point S2.view.xml (overview screen showing extOverviewTile account tiles) S360.view.xml (account factsheet screen)
Use Allows you to remove or replace the account tiles in total.
extKpiBox
Allows you to remove or replace the two revenue key figures (revenue last year, revenue to date current year).
extKpiTile
Allows you, space permitting, to add new key figures to the right of the existing two revenue key figures.
extGeneralInfo
Allows you to remove or replace the General Information block in total.
extGeneralInfoLeft
Allows you, space permitting, to add custom attributes to the left-hand area of the General Information block.
extGeneralInfoRight
Allows you, space permitting, to add custom attributes to the right-hand area of the General Information block.
extContacts
Allows you to remove or replace the Contacts block in total.
extContactsInfo
Allows you, space permitting, to add custom attributes to the Contacts block.
extOpportunities
Allows you to remove or replace the Opportunities block in total.
extOpportunityInfo
Allows you, space permitting, to add custom attributes to the Opportunities block.
extAppointments
Allows you to remove or replace the Appointments block in total.
extAppointmentLeft
Allows you, space permitting, to add custom attributes to the left-hand area of the Appointments block.
extAppointmentRight
Allows you, space permitting, to add custom attributes to the right-hand area of the Appointments block.
extLeads
Allows you to remove or replace the Leads block in total.
extLeadInfo
Allows you to add custom attributes to the Leads block.
extTasks
Allows you to remove or replace the Tasks block in total.
extTaskInfo
Allows you, space permitting, to add custom attributes to the Tasks block.
extNotes
Allows you to remove or replace the Notes block in total.
extNoteInfo
Allows you, space permitting, to add custom attributes to the Notes block.
extAttachments
Allows you to remove or replace the Attachments block in total.
extAttachmentInfo
Allows you, space permitting, to add custom attributes to the Attachments block.
extblockOverview
Allows you to add custom information blocks.
For more information about extension points, see Extension Points.
More Information For a general description of the extensibility options and procedures of Fiori apps, see Extensibility.
1.3.2 My Contacts With the transactional app My Contacts you can search for contacts stored in the back end, either for your own contacts or for all contacts. You can display contact details, start follow-up activities from the contact details, edit contact information, and create new
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 63 of 96
contacts. In an interaction with an existing contact, you can thus quickly check and update the available information; with new contacts, you can enter their data directly into your desktop PC or mobile device, from where it is automatically transferred to the back-end system.
Key Features Search for contacts by first name, last name, or account Sort the contacts list by first name, last name, and account Switch between own contacts (contacts of all those accounts to which you are assigned as employee responsible in the back end) and all contacts Display communication data (mobile, phone, e-mail, address), notes, and attachments of a selected contact Start follow-up activities for the selected contact, such as initiating a call or an e-mail Display a quick overview of the account to which the selected contact belongs, and navigate to the My Accounts app from there for more information about the account Edit contact information, add new notes and attachments, upload or replace the contact’s photo Create a new contact and add a photo to be displayed, from your desktop PC or mobile device You have to assign the contact to an existing account, no matter whether you are the employee responsible for that account or not.
Technical Requirements SAP enhancement package 3 (SP02) for SAP CRM 7.0 UI for EHP3 for SAP CRM 7.0 For more information, see App Implementation: My Contacts.
Related Apps My Accounts
Component for Customer Messages CRM-MD-BP
1.3.2.1 App Implementation: My Contacts Required SAP Notes For My Contacts, the following SAP Notes must be available: Back-End/Front-End Server SAP Note Number Back-end server 1929563 Back-end server
Description ACE Checks for Contacts and Accounts
1944176
Corrections for SAP Fiori CRM MyContact App Patch 1
Technical Data The following tables list technical objects specific to My Contacts: Back-End Components OData Service (Version Number) CRM_BUPA_ODATA (1)
Authorization Role (PFCG Role) SAP_CRM_MYCONTACTS_APP
For more information about authorization roles and assigned OData services, see Roles, Users, and Authorizations on Back-End Server. Front-End Server: UI5 Application Component UI5 Application
Technical Name CRM_MYCONT
For more information about how to activate the UI5 application (ICF service), see Activate ICF Services. Front-End Server : SAP Fiori Launchpad Components
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 64 of 96
Component Business Role
Technical Name SAP_CRM_BCR_SALESREP
Business Catalog
SAP_CRM_BC_SalesRep
Business Catalog Group
SAP_CRM_BCG_SalesRep
Technical Role
SAP_CRM_TCR_T
Technical Catalog
SAP_CRM_TC_T
LPD_CUST Role
UICRM001
LPD_CUST Instance
TRANSACTIONAL
For more information about roles, catalogs and catalog groups in the SAP Fiori Launchpad, see Setup of Catalogs, Groups, and Roles in the Fiori Launchpad.
Configuration To enable My Contacts, you must perform the following configuration tasks: Define text type In Customizing for SAP CRM, define the text type to be used for the notes section of the contact information. You do this in Customizing for SAP CRM, under Customer Relationship Management Master Data Business Partner OData Services Define Settings for Business Partner OData Services . If you do not define a text type, text type 0001 Correspondence is used as a default. Configure notes To display a contact’s notes in the My Contacts app, you must configure the text object BUT000 so that texts are displayed in the notes log. BUT000 is the text object used for business partner texts. In Customizing for SAP CRM, under Customer Relationship Management Basic Functions Text Management Define Text Determination Procedure , define the default text determination procedure for text object BUT000 as follows: Text Type Text Changes If this text type is not set to P, only the latest note is displayed in the My Contacts app, with each new note replacing the old one. There is no log of all notes.
R (Display Log)
Configure photos To deliver the photos of contacts to the My Contacts app, you must attach the photo to the individual account, in the back end. Make the following settings for the photo in the WebClient UI, in the Attachments assignment block of the contact, under Advanced Properties: Select the Default Document checkbox. Set the document type to BDS_IMAGE.
Note The aspect ratio of the photo should be 1:1. Assign and adjust authorization roles (PFCG roles) Assign the following authorization roles (PFCG roles) to the users of the app: Authorization Role (PFCG Role) Description SAP_CRM_MYCONTACTS_APP Role that contains only the technical access to the OData service necessary for running the app SAP_CRM_UIU_SLS_PROFESSIONAL or other
Role that covers authorizations for the business objects accessed by the app
Make sure that one of the assigned authorization roles contains the following authorizations: Authorization object S_RFC (Authorization Check for RFC Access), with the following values: Field Value ACTVT 16 RFC_NAME
/IWBEP/FGR_MGW_CLIENT_IF
RFC_TYPE
FUGR
Authorization object S_RFCACL (Authorization Check for RFC User (e.g. Trusted System)) There are no predetermined values for this.
Note This step is required once for all SAP CRM apps, not once per app. Assign "Employee" business partner role Ensure that each user who should have access to the My Contacts app is assigned to a business partner with the Employee business partner role.
Further Information PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 65 of 96
For general information about how to implement SAP Fiori apps, see System Landscape.
1.3.2.2 App Extensibility: My Contacts You can extend My Contacts according to your business needs for different aspects.
Example To add the preferred communication method to the contact details, the following extensibility entities are available on the different layers. You have to extend each of these entities according to your specific business needs: UI Back End / ABAP View Extension Point Design Time: Gateway Design Time: Extension Run Time: Superclass and Entity Include (in DDIC Structure) Method to be Redefined ContactDetails.v extContactDetail CRM_BUPA_ODATA CRMT_BP_ODATA_AD Superclass: CL_CRM_BP_ODATA_ iew.xml sInfo DRESS_INCL RT_ADDRESS Method: READ_ADDRESSES_F OR_PARTNER
Back-End Extensibility Extension Includes The following extension includes are available: DDIC Structure Extension Include CRMT_BP_ODATA_ACCOUNT CRMT_BP_ODATA_ACCOUNT_INCL
Use Accounts
CRMT_BP_ODATA_ADDRESS
CRMT_BP_ODATA_ADDRESS_INCL
Address data
CRMT_BP_ODATA_CONTACT
CRMT_BP_ODATA_CONTACT_INCL
Contacts
CRMT_BP_ODATA_ATTACHMENT
CRMT_BP_ODATA_ATTACHMENT_INCL
Attachments
CRMT_BP_ODATA_NOTE
CRMT_BP_ODATA_NOTE_INCL
Notes
For more information about extension includes, see Extension Includes.
Front-End Extensibility Extension Points There are two types of extension point: Extension points that contain specific objects These extension points allow you to remove or replace an object, e.g. if you want to change the sequence of the object’s default attributes, or add a custom attribute in any place except the very end of the object’s default attributes. Empty extension points These extension points allow you to add custom attributes at the end of the object’s default attributes. The following extension points are available:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 66 of 96
View Extension Point S2.view.xml (overview screen showing extListItem list of contacts)
Description Allows you to remove or replace the list items in total.
extListItemInfo
Allows you to add custom attributes to the list items.
extContact
Allows you to remove or replace the header data in total, with the exception of the contact’s name and photo.
extContactInfo
Allows you to add custom attributes to the header data.
extContactDetailsTab
Allows you to remove or replace the information tab in total.
extContactInfoTab
Allows you to add custom tabs to the contact details.
ContactDetails.view.xml (information tab that is part of the contact details screen)
extContactDetailsInfo
Allows you to add custom attributes to the information tab.
S4.view.xml (edit/create contact screen)
extContactPicture
Allows you to remove or replace the photo area in total.
extContactDataInfo
Allows you to add custom attributes to the contact’s data.
S3.view.xml (contact details screen)
For more information about extension points, see Extension Points. UI Controller Hooks To plug in and execute custom code, the following hooks are available in the controller code: Controller Hook Use S4.controller.js getCustomProperties in method Allows you to enhance the creationModel model with custom handleSave modificationsCheckCustomField attributes. s in method modificationsCheck setCustomProperties in method updateModel cleanCustomProperties in method cleanModel For more information about UI controller hooks, see UI Controller Hooks. Display of UI Controls The following UI controls can be hidden from the app UI: View Control ID S3.view.xml (contact details screen) function
ContactDetails.view.xml (information tab that is part of the contact details screen)
S4.view.xml (edit/create contact screen)
Use Allows you to hide the function.
department
Allows you to hide the department.
Attachments
Allows you to hide the attachments tab.
Notes
Allows you to hide the notes tab.
mobilePhoneLabel, mobilePhoneInput
Allows you to hide the mobile phone number.
phoneLabel, phoneInput
Allows you to hide the phone number.
emailLabel, emailInput
Allows you to hide the email address.
addressLabel, addressInput
Allows you to hide the address.
emptyLabel, emptyInput
Allows you to hide the empty line preceding the date of birth.
birthDateLabel, birthDateInput
Allows you to hide the date of birth.
titleLabel, titleSelect
Allows you to hide the title.
functionLabel, functionInput
Allows you to hide the function.
departmentLabel, departmentInput
Allows you to hide the department.
mobileLabel, mobileInput
Allows you to hide the mobile phone number.
phoneLabel, phoneInput
Allows you to hide the phone number.
emailLabel, emailInput
Allows you to hide the email address.
birthdayLabel, birthdayInput
Allows you to hide the date of birth.
For more information about hiding UI controls, see Concealable UI Controls.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 67 of 96
More Information For a general description of the extensibility options and procedures of Fiori apps, see Extensibility.
1.3.3 My Appointments With the transactional app My Appointments, you can create and manage appointments. If you change appointments or create new ones within the app, they are synchronized with the CRM back end, and are also visible to colleagues there if they are entered as attendees.
Key Features Switch between the monthly view, weekly view, and daily view of the calendar. Click a specific day in the thumbnail of the month, to display it on the screen. Display details about accounts and contacts Create new appointments, enter internal and external attendees, and assign an account and contact Enter notes for an appointment Attach documents to an appointment
Technical Requirements The following software products must be available in your system landscape: Back-end system (business data) Required product release: SAP enhancement package 3 (SP02) for SAP CRM 7.0 UI add-on (front-end components) Required product release: UI for EHP3 for SAP CRM 7.0 For more details about the implementation of the app, see App Implementation: My Appointments.
Related Apps My Accounts If you call the My Appointments app from an account, all appointments that are related to this account are displayed, as long as you are entered as either the employee responsible or an attendee. My Notes If you create an appointment from a note, the text of the note is copied to the notes field of the new appointment.
Component for Customer Messages CRM-BTX-ACT
1.3.3.1 App Implementation: My Appointments Technical Data The following tables list technical objects specific to My Appointments: Back-End Components OData Service (Version Number) CRM_APPOINTMENT_SRV (1)
Authorization Role (PFCG Role) SAP_CRM_MYAPPTS_APP
For more information about authorization roles and assigned OData services, see Roles, Users, and Authorizations on Back-End Server. Front-End Server: UI5 Application Component UI5 Application
Technical Name CRM_MYCAL
For more information about how to activate UI5 applications (ICF services), see Activate ICF Services. Front-End Server: SAP Fiori Launchpad Components
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 68 of 96
Component Business Role
Technical Name SAP_CRM_BCR_SALESREP
Business Catalog
SAP CRM Sales Representative SAP_CRM_BC_SALESREP
Business Catalog Group
SAP CRM Sales Representative SAP_CRM_BCG_SALESREP
Technical Role
SAP_CRM_TCR_T
Technical Catalog
SAP_CRM_TC_T
LPD_CUST Role
UICRM001
LPD_CUST Instance
TRANSACTIONAL
For more information, see Setup of Catalogs, Groups, and Roles in the Fiori Launchpad.
Configuration To enable My Appointments, you must perform the following configuration tasks: Define transaction type and text types In Customizing for SAP CRM, define which transaction type and text types the system should use for appointments that are created, displayed, or edited from the My Appointments app. You find this setting in Customizing for SAP CRM under Customer Relationship Management Transactions Settings for Activities Define Settings for "My Appointments" App . Assign and adjust authorization roles (PFCG roles) Assign the following authorization roles (PFCG roles) to the users of the app: Authorization Role (PFCG Role) Description SAP_CRM_MYAPPTS_APP Role that contains only the technical access to the OData service necessary for running the app SAP_CRM_UIU_SLS_PROFESSIONAL or another role
Role that covers authorizations for the business objects accessed by the app
Make sure that one of the assigned authorization roles contains the following authorizations: Authorization object S_RFC (Authorization Check for RFC Access), with the following values: Field Value ACTVT 16 RFC_NAME
/IWBEP/FGR_MGW_CLIENT_IF
RFC_TYPE
FUGR
Authorization object S_RFCACL (Authorization Check for RFC User (e.g. Trusted System)) There are no predetermined values for this.
Note This step is required once for all SAP CRM apps, not once per app. Assign "Employee" business partner role Ensure that each user who should have access to the My Appointments app is assigned to a business partner with the Employee business partner role.
More Information For more information about how to implement SAP Fiori apps, see Central Implementation Information.
1.3.3.2 App Extensibility: My Appointments You can extend My Appointments according to your business needs for different aspects, and correspondingly adjust the functions and layout of the app. For this purpose, the following extensibility options are available: You can change which information should be displayed for the individual appointments on the overview page, and in which form. You can add or change pushbuttons on the overview page. You can adjust entire areas to your requirements for displaying the detail page, and add your own fields to the bottom of the page. In addition, you can add your own pushbuttons on the bottom right. You can add your own fields in four places, for creating or changing the detail page. You cannot insert any new pushbuttons on the change page. You can change the standard values (defaults) for fields.
Change Overview Page To change which information should be displayed for the individual appointments on the overview page, and in which form, the following
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 69 of 96
extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Design Time: Design Time: Runtime: Entity Type Extension Include (in DDIC Data Structure to Be Structure) Redefined AppointmentList.v extensionListItem Appointment CRM_APPOINT_ODATA CRMS_APPOINTMENT_ iew.xml _INCL ODATA Parallel to this, you have to extend the OData service, in entity set AppointmentSet.
Add or Change Pushbuttons on the Overview Page The following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Entity Type Extension Include (in DDIC Data Structure to Be Structure) Redefined AppointmentList.v extensionFooterCo Appointment CRM_APPOINT_ODATA CRMS_APPOINTMENT_ iew.xml ntentRight _INCL ODATA
Detail Page (Display): Add or Adjust Fields and Pushbuttons You can adjust entire areas to your requirements for displaying the detail page, and add your own fields to the bottom of the page. In addition, you can add your own pushbuttons on the bottom right. The following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Entity Type Extension Include (in DDIC Data Structure to Be Structure) Redefined AppointmentDetail extensionDetail1 Appointment CRM_APPOINT_ODATA CRMS_APPOINTMENT_ .view.xml (replace or adjust _INCL ODATA header area of page) extensionDetail2 (replace or adjust area Attendees)
Attendee Appointment
extensionDetail3 (show additional fields at the bottom of the page) Note that you need to have previously defined the additional fields in the OData service.
CRM_APPOINT_ATTEN DEE_INCL CRM_APPOINT_ODATA _INCL
CRMS_ATTENDEE_ODA TA CRMS_APPOINTMENT_ ODATA
extensionFooterCo ntentRight (add additional pushbuttons)
Detail Page (Create or Change): Add Fields On the detail page, you can add your own fields in four places. You cannot insert any new pushbuttons on the change page. The following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 70 of 96
UI View
Extension Point
Back End/ABAP Entity Type
NewAppointment.vi extensionEditHead Appointment ew.xml er (add additional attributes in the header area of the edit view)
Extension Include (in DDIC Data Structure to Be Structure) Redefined CRM_APPOINT_ODATA CRMS_APPOINTMENT_ _INCL ODATA
extensionEdit1 (add additional attributes in the section of the edit view) extensionEdit2 (add additional attributes in the section of the edit view) extensionEdit3 (add additional attributes in the section of the edit view)
Change Standard Values (Defaults) for Fields To change the standard values (defaults) for fields, overwrite the function createAppointment in controller NewAppointment.
Additional Extensibility Entities Business Add-Ins (BAdIs) The following BAdI is available for extensibility purposes: CRM_APPT_ODATA_BD in enhancement spot CRM_APPT_ODATA_ENH. You can use this BAdI to define your own logic for reading, creating, or changing appointments. This is necessary if, for example, you want to add your own fields, or use different processing logic for existing fields. You call the BAdI by using transaction SE18.
More Information For a general description of the extensibility options and procedures of Fiori apps, see Extensibility.
1.3.4 My Notes You can use the My Notes transactional app to record texts as personal notes. If a note contains important information that you want to share with others, you can forward the note as an email or make it available to a discussion in SAP Jam. You can create a businessrelevant note as a new appointment or include it as a new task in Activity Management or transfer it to an opportunity as a business transaction note.
Key Features Create, change, and delete note texts A note contains one or more sections. The system uses the text in the first section as the title of a note. During editing, by choosing Return once, you generate a paragraph in the same section and by choosing Return twice, you generate a new section. You can use the backspace key to combine paragraphs or sections. You can select sections of a note selectively for actions (such as Delete and Create Task). If you do not select any section of a note, the system transfers all sections of a note for an action. Find character strings in note texts Alphabetical or date-related sorting of notes Creation of notes as appointments and tasks in Activity Management Add notes as business transaction notes for existing opportunities Forward notes as an email or to SAP Jam groups
Technical Requirements The following software products must be available in your system landscape: Back-end system (business data) Required product release: SAP enhancement package 3 (SP02) for SAP CRM 7.0 UI add-on: (front-end components) UI for EHP3 for SAP CRM 7.0 For more information, see App Implementation: My Notes.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 71 of 96
Related Apps My Appointments My Tasks My Opportunities My Accounts
Component for Customer Messages CRM-BF-TM
1.3.4.1 App Implementation: My Notes Technical Data The following tables list technical objects specific for My Notes: Back-End Components OData Service (Version Number) CRM_NOTES (1)
Authorization Role (PFCG Role) SAP_CRM_NOTES_APP
For more information about authorization roles and assigned OData services, see Roles, Users, and Authorizations on Back-End Server. Front-End Server: UI5 Application Component UI5 Application
Technical Name CRM_NOTES
For more information about how to activate UI5 applications (ICF services), see Activate ICF Services. Front-End Server: SAP Fiori Launchpad Components Component Business Role
Technical Name SAP_CRM_BCR_SALESREP
Business Catalog
SAP CRM Sales Representative SAP_CRM_BC_SALESREP
Business Catalog Group
SAP CRM Sales Representative SAP_CRM_BCG_SALESREP
Technical Role
SAP_CRM_TCR_T
Technical Catalog
SAP_CRM_TC_T
LPD_CUST Role
UICRM001
LPD_CUST Instance
TRANSACTIONAL
For information about authorizations and assigned OData services, see Setup of Catalogs, Groups, and Roles in the Fiori Launchpad.
Configuration To implement the app, you must perform the following configuration steps: Assign Authorization Role (PFCG Role) In the SAP_CRM_NOTES_APP authorization role (PFCG role), include the following authorization objects: Authorization object S_RFC (Authorization Check for RFC Access), with the following values: Field Value ACTVT 16 RFC_NAME
/IWBEP/FGR_MGW_CLIENT_IF
RFC_TYPE
FUGR
Authorization object S_RFCACL (Authorization Check for RFC User (e.g. Trusted System)) There are no predetermined values for this. Assign the SAP_CRM_NOTES_APP authorization role (PFCG role) to the business roles that should have access to the My Notes app. This authorization role contains only the technical access to the necessary OData services. Note that you also need to assign an authorization role that covers access to relevant transactions and menu options; such as the SAP_CRM_UIU_SLS_PROFESSIONAL authorization role. Assign "Employee" Business Partner Role Ensure that each user who should have access to the My Notes app is assigned to a business partner with the Employee business partner role.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 72 of 96
Check the SAPScript Customizing Entries Supplied SAP delivers preconfigured Customizing entries for SAPscript text management. If problems occur when you create your note texts, check that the text object and text determination procedure entries delivered exist. Avoid making changes to the Customizing entries delivered in the standard system. The following SAPscript entries are supplied for the My Notes app in CRM Customizing under Customer Relationship Management Basic Functions Text Management : Define Text Objects and Text Types Define Text Determination Procedure Text Object Description CRM_NOTESH CRM My Notes - Header CRM_NOTESL
CRM My Notes - Log
CRM_NOTESS
CRM My Notes - Section
Set Up Modeling for the Search and Analysis SAP supplies the model CRM_NOTES for the Enterprise Search Integration for the application component CRM-BF-TM (Text Management) . Use the model supplied to create the search object connector. 1. From the SAP Easy Access Customer Relationship Management screen, choose SAP Menu Architecture and Technology Enterprise Search Integration Tools CRM ES Modeling Workbench ESH_MODELER . In the modeling for the search and analysis, check whether the entry CRM_NOTES exists under List of Models BBPCRM [CRM] [CRM-BF] [CRM-BF-TM] . 2. From the SAP Easy Access Customer Relationship Management screen, choose SAP Menu Architecture and Technology Enterprise Search Integration Tools ES Administration Cockpit . Create the search object connector required for the notes search in the Administration Cockpit using the model CRM_NOTES. Configure SAP Jam ABAP Integration For more information about SAP Jam Configuration, see SAP Library for the user interface add on for SAP NetWeaver on SAP Help Portal under http://help.sap.com/nw-uiaddon. Under Application Help choose Social Media Integration.
More Information For more information about how to implement SAP Fiori apps, see Central Implementation Information.
1.3.4.2 App Extensibility: My Notes You can extend My Notes according to your business processes and adjust the functions and layout of the app accordingly. For this purpose, the following extensibility options are available: You can add new customer fields and controls to the detailed view (S3 view) of notes and note sections or change or replace the standard content. You can for example change the default creation and change date of a note or add an additional customer field (such as priority). You can change the standard layout of the note sections as a whole or you can change or extend this within specific sections. You can display or hide standard fields in the list view (S2 view), extend controls or change or replace the standard content. You can for example change the default attributes displayed (note title and creation and change date) for items in the notes list. You can change the default buttons and actions in the footer toolbar or add customer-specific buttons and actions to this toolbar (see Toolbar). You can add new customer actions or change the default actions available on the Add To dialog box. You can for example support the inclusion of notes for other business transactions (opportunities are supported in the standard system).
Extensibility of the Detailed View The following extensibility entities are available for the various layers to change the detailed view of notes and the sections they contain: UI Back End/ABAP View Extension Point Design Time: Design Time: Design Time: Gateway Entity Include (in DDIC Structure) Superclasses to Be Redefined S3.view.xml noteDetailExtensi NoteHeader No include available CRM_S_NOTE_HEADER on (No standard enhancement available) noteSectionConten NoteSection tExtension
CRM_S_NOTE_SECTIO CRM_S_NOTE_SECTIO N_EXT N
noteSectionListEx tension (Overwrite standard content) noteSectionItemEx tension (Overwrite standard content)
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 73 of 96
Extensibility of the List View The following extensibility entities are available for the various layers to change the list view of notes and the items it contains: UI Back End/ABAP View Extension Point Design Time: Design Time: Design Time: Gateway Entity Include (in DDIC Structure) Superclasses to Be Redefined S2.view.xml noteAttributeExte NoteHeader No include available CRM_S_NOTE_HEADER nsion (No standard enhancement available) noteItemExtension No include available (Overwrite standard content)
Extensibility of the Footer Toolbar The following extensibility entities are available for the various layers to change the footer toolbar and the buttons and actions it contains:
Note Buttons and actions are either assigned to the list view or the detailed view from a technical perspective. UI View
Back End/ABAP Design Time: Gateway Entity
Extension Point
S3.view.xml
Design Time: Design Time: Include (in DDIC Structure) Superclasses to Be Redefined Extensibility of hooks delivered with the standard system — see section UI Controller Hooks
S2.view.xml
Extensibility of hooks delivered with the standard system — see section UI Controller Hooks
Extensibility of the Add To Dialog Box The following extensibility entities are available for the various layers to change the list page (entry page with selection of business transaction categories) and the item page (detail page with items for a business transaction category) on the Add To dialog box: UI Back End/ABAP View Extension Point Design Time: Design Time: Design Time: Gateway Entity Include (in DDIC Structure) Superclasses to Be Redefined AddToDialog.fragm addToPageExtensio No reference to the back end ent.xml n addToItemExtensio No reference to the back end n addToOpportunityE No reference to the back end xtension (Overwrite standard content) addToOpportunityI Opportunity temExtension (Overwrite standard content)
CRMT_ODATA_OPPT_H CRM_S_NOTES_OPPT EADER_INCL
addToOpportunityL Opportunity istExtension (Overwrite standard content)
Additional Extensibility Entities UI Controller Hooks The following hooks are available to extend the functions in the footer toolbar: Controller Hook S2.controller.js extendHeaderFooterOptions
S3.controller.js
extendHeaderFooterOptions
Use You can extend the footer toolbar functions in the list view, for example the sorting of the list in the attribute oSortOptions. You can add customer-specific functions to the footer toolbar functions in the detailed view.
For more information about UI controller hooks, see UI Controller Hooks.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 74 of 96
More Information For more information about the extensibility options available for Fiori apps, see Extensibility. For more information about extension includes, see Extension Includes. For more information about extension points, see Extension Points.
1.3.5 My Tasks With the transactional app My Tasks on a desktop PC or a mobile device, you can see an overview of what you need to take care of by a specific date, since it gives you access to your tasks from the CRM back end. If you change tasks or create new ones within the app, they are synchronized with the CRM back end, and are also visible to colleagues there if you do not mark the task as private.
Key Features Display all tasks that are still open, completed, or due today or this week Note that the filter functions Due Today and Due This Week, the setting of the due date, and the display of overdue tasks may function inaccurately if the user time zone in the back end does not match the browser time zone in the front end. Set existing tasks to completed, change existing tasks, or create new ones Search for tasks with specific words in the title, or tasks in connection with a specific account or contact
Technical Requirements The following software products must be available in your system landscape: Back-end system (business data) Required product release: SAP enhancement package 3 (SP02) for SAP CRM 7.0 UI add-on (front-end components) Required product release: UI for EHP3 for SAP CRM 7.0 For more details about the implementation of the app, see App Implementation: My Tasks.
Related Apps My Accounts If you call the My Tasks app from an account, only the tasks that are related to this account are displayed. My Notes If you create a task from a note, the text of the note is copied to the notes field of the new task.
Component for Customer Messages CRM-BTX-ACT
1.3.5.1 App Implementation: My Tasks Technical Data The following tables list technical objects specific to My Tasks: Back-End Components OData Service (Version Number) CRM_TASK (1)
Authorization Role (PFCG Role) SAP_CRM_MYTASKS_APP
For more information about authorization roles and assigned OData services, see Roles, Users, and Authorizations on Back-End Server. Front-End Server: UI5 Application Component UI5 Application
Technical Name CRM_MYTASKS
For more information about how to activate UI5 applications (ICF services), see Activate ICF Services. Front-End Server: SAP Fiori Launchpad Components
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 75 of 96
Component Business Role
Technical Name SAP_CRM_BCR_SALESREP
Business Catalog
SAP CRM Sales Representative SAP_CRM_BC_SALESREP
Business Catalog Group
SAP CRM Sales Representative SAP_CRM_BCG_SALESREP
Technical Role
SAP_CRM_TCR_T
Technical Catalog
SAP_CRM_TC_T
LPD_CUST Role
UICRM001
LPD_CUST Instance
TRANSACTIONAL
For more information, see Setup of Catalogs, Groups, and Roles in the Fiori Launchpad.
Configuration To enable My Tasks, you must perform the following configuration tasks: Define transaction type and text types In Customizing for SAP CRM, define which transaction type and text types the system should use for tasks that are created, displayed, or edited from the My Tasks app. You find this setting in Customizing for SAP CRM under Customer Relationship Management Transactions Settings for Activities Define Settings for "Manage Tasks" App . Assign and adjust authorization roles (PFCG roles) Assign the following authorization roles (PFCG roles) to the users of the app: Authorization Role (PFCG Role) Description SAP_CRM_MYTASKS_APP Role that contains only the technical access to the OData service necessary for running the app SAP_CRM_UIU_SLS_PROFESSIONAL or another role
Role that covers authorizations for the business objects accessed by the app
Make sure that one of the assigned authorization roles contains the following authorizations: Authorization object S_RFC (Authorization Check for RFC Access), with the following values: Field Value ACTVT 16 RFC_NAME
/IWBEP/FGR_MGW_CLIENT_IF
RFC_TYPE
FUGR
Authorization object S_RFCACL (Authorization Check for RFC User (e.g. Trusted System)) There are no predetermined values for this.
Note This step is required once for all SAP CRM apps, not once per app. Assign "Employee" business partner role Ensure that each user who should have access to the My Tasks app is assigned to a business partner with the Employee business partner role. Remove "Mandatory" tag for account and contact In the app, the Account and Contact fields are not mandatory; however, they are mandatory in the standard delivery of the CRM WebClient UI. This means that tasks that were created in the app, and to which no accounts or contacts were assigned, cannot be changed in the CRM back end without subsequently assigning an account or contact to them. To prevent this, in the UI configuration tool in the CRM back end (transaction BSP_WD_CMPWB), copy the configuration of the task details page, and remove the Mandatory tag for the Account and Contact fields.
More Information For more information about how to implement SAP Fiori apps, see Central Implementation Information.
1.3.5.2 App Extensibility: My Tasks You can extend My Tasks according to your business needs for different aspects, and correspondingly adjust the functions and layout of the app. For this purpose, the following extensibility options are available: You can define your own filters for the overview list (S2 view), or change or delete existing filters. You can change which information should be displayed for the individual tasks in the overview list, and in which form. For example, you can display a concrete date (Due on Oct. 13) instead of a relative date (Due in 4 days). You can add your own fields on the detail page (S3 view). You need to have already defined these fields in the back end, in the data structure for tasks.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 76 of 96
You can add or change/replace pushbuttons on the detail page. You can change the standard values (defaults) for fields. For example, you can define that the due date is not prefilled with the current date, but instead with the date of the following day.
Define Your Own Filter Options You can define your own filters, or change or delete existing filters. For this purpose, the following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Design Time: Design Time: Runtime: Entity Type Extension Include (in DDIC Data Structure to Be Structure) Redefined S2.view.xml extFilterOptions Task CRMS_TASK_ODATA_I CRMS_TASK_ODATA NCL In addition, you can change which filter is set as standard when the user navigates to the overview list. To define which filter is set as standard, overwrite the following methods in the S2 controller for the overview list: Controller Method (Hook) Use S2 getDefaultFilterKey() Key for the standard filter, for example Open S2
applyDefaultFilter()
Application of the logic for the standard filter, for example this.filterTasksOpen();
S2
handleCustomFilter(selectedFi lterKey)
Implementation of your own filter logic
Change Overview List You can change which information should be displayed for the individual tasks in the overview list, and in which form. For example, the following are conceivable: Changing the color, size, or type of the fonts Displaying a concrete date (Due on Oct. 13) instead of a relative date (Due in 4 days) Hiding the priority, account, or contact For this purpose, the following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs. UI Back End/ABAP View Extension Point Design Time: Design Time: Runtime: Entity Type Extension Include (in DDIC Data Structure to Be Structure) Redefined S2.view.xml extListItem Task CRMS_TASK_ODATA_I CRMS_TASK_ODATA NCL
Detail Page: Add Your Own Fields To add your own fields on the detail page, you need to have already defined them in the back end, in the data structure for tasks. The following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Entity Type Extension Include (in DDIC Data Structure to Be Structure) Redefined S3.view.xml extTaskDetailsTop Task CRMS_TASK_ODATA_I CRMS_TASK_ODATA (add fields above the NCL first field) extTaskDetailsBot tom (add fields below the last field) In the S3 controller for the detail page, overwrite the following methods: Controller Method (Hook) S3 prepareCustomFields
Use called by prepareNewTask
getCustomFields
called by getTask
cancelCustomFields
called by cancelTask
checkUIValueForCustomFields
called by checkUIValues before calling saveTask
Detail Page: Add or Change Pushbuttons To add or change pushbuttons on the detail page, overwrite the following methods in the S3 controller for the detail page:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 77 of 96
Controller S3
Method (Hook) getHeaderFooterOptions
Change Standard Values (Defaults) for Fields To change the standard values (defaults) for fields, overwrite the function setDefaultValues (oTask) in class cus.crm.mytasks.util.Util.
Additional Extensibility Entities Business Add-Ins (BAdIs) The following BAdI is available for extensibility purposes: CRM_TASK_ODATA_BD in enhancement spot CRM_TASK_ODATA_ENH. You can use this BAdI to define your own logic for reading, creating, or changing tasks. This is necessary if, for example, you want to add your own fields, or use different processing logic for existing fields. You call the BAdI by using transaction SE18. Display of UI Controls The following UI controls can be hidden on the app UI: View Control ID S2.view.xml taskInput (overview list) S3.view.xml (detail page)
Use You can hide the input field for the quick entry of tasks, so that new tasks can be created only by using the pushbutton Add.
descInput
Input field Title
dueDateInput
Field Due Date
prioSelect
Select control Priority
privatSwitch
Switch control Private
accountInput
Input field Account with input help
showAccount
Question mark symbol for displaying detailed information about an account. Should also be hidden if the input field Account was hidden.
contactInput
Input field Contact with input help
showContact
Question mark symbol for displaying detailed information about a contact. Should also be hidden if the input field Contact was hidden.
noteTa
Input field Note
For more information about hiding UI controls, see Concealable UI Controls.
More Information For a general description of the extensibility options and procedures of Fiori apps, see Extensibility.
1.3.6 My Leads Type: Transactional app
Description With My Leads, you can process leads and follow up on potential accounts. This app is available for use on a desktop PC or a mobile device.
Key Features View and edit leads in which you are involved Search for leads in which you are involved View and edit header data Add, edit, and delete products Add and view contacts View parties involved (including accounts and contacts) Add and display notes Add and view attachments
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 78 of 96
Receive open leads assigned to you (with the option to accept or reject them) For more information, see App Implementation: My Leads.
Technical Requirements SAP enhancement package 3 (SP02) for SAP CRM 7.0 UI for EHP3 for SAP CRM 7.0
Related Apps My Contacts My Accounts
Component for Customer Messages CRM-BTX-LEA
1.3.6.1 App Implementation: My Leads Required SAP Notes For My Leads, the following SAP Note must be available: Back-End/Front-End Server SAP Note Number Back-end server
Description
1930931
My Leads: Filtering the Search Results
Technical Data The following tables list technical objects specific for My Leads: Back-End Components OData Service (Version Number) CRM_LEAD (1)
Authorization Role (PFCG Role) SAP_CRM_LEAD_APP
Front-End Components Component UI5 Application
Technical Name CRM_LEADS
Business Role
SAP_CRM_BCR_SALESREP
Business Catalog
SAP_CRM_BC_SALESREP
Business Catalog Group
SAP_CRM_BCG_SALESREP
For more information on how to implement these technical objects, refer to Central Implementation Information.
Configuration To enable My Leads, you must perform the following configuration tasks: Notes To display or create a note in the My Leads app, you must configure the text object CRM_ORDERH in the SAP CRM back-end system. With this configuration, the text type accepts changes as P (Log). Make the following settings in Customizing for Customer Relationship Management under Basic Functions Text Management Define Text Determination Procedure : 1. In this Customizing activity, select the text object CRM_ORDERH and then choose the Procedure view. 2. Select the text determination procedure that has been specified for the transaction type of leads (for example, LEAD0001). 3. Select the Definition of Procedure view. 4. Specify the value P (Log) in the Changes field for at least one text type.
Note If multiple text types are marked as P (Log), the first text type in the sequence is considered in My Leads. If you want to display notes that were created with P (Log) on the SAP CRM UI or with the My Leads app, you must define an additional text type: R (Display Log). This text type is linked to the UI (as the header note) and the log entries are displayed on the SAP CRM UI. To specify this text type as a header note, you must define it as the first entry in a sequence. Authorization Roles (PFCG Roles) Assign the following authorization roles (PFCG roles) to the users of the app:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 79 of 96
Authorization Role (PFCG Role) SAP_CRM_LEAD_APP
Description Role that contains only the technical access to the OData service necessary for running the app
SAP_CRM_UIU_SLS_PROFESSIONAL or other
Role that covers authorizations for the business objects accessed by the app
Make sure that one of the assigned authorization roles contains the following authorizations: Authorization object S_RFC (Authorization Check for RFC Access), with the following values: Field Value ACTVT 16 RFC_NAME
/IWBEP/FGR_MGW_CLIENT_IF
RFC_TYPE
FUGR
Authorization object S_RFCACL (Authorization Check for RFC User (e.g. Trusted System)) There are no predetermined values for this.
Note This step is required once for all SAP CRM apps, not once per app. "Employee" Business Partner Role Ensure that each user who should have access to the My Leads app is assigned to a business partner with the Employee business partner role. System Statuses When you launch My Leads, the default search of records is based on the user statuses that are mapped to the system statuses I1002 and I1003. Searching for Leads When you search for leads, the search is triggered against the object ID or the description. For the purpose of better performance, it is recommended that you use keywords that are exact phrases or close variations.
1.3.6.2 App Extensibility: My Leads You can extend different aspects of My Leads according to your business needs. For this purpose, the following extensibility options are available: You can display or hide standard fields in the list view (S2 view), extend controls or change or replace the standard content. You can, for example, change the default attributes displayed (lead title) for items in the leads list. You can add new customer fields and controls to the detailed view (S3 view) of leads or change or replace the standard content. You can change the default buttons and actions in the footer toolbar or add customer-specific buttons and actions to this toolbar.
Extensibility of the List View (S2 View) To extend the list view, the following extensibility entities are available on the different software layers. You can extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Design Time: Gateway Design Time: Extension Runtime: Superclass/ Entity Include (in DDIC Structure) Method to Be Redefined S2.view.xml leadItemAttribute Lead CRMT_ODATA_LEAD_H CL_CRM_LEAD_DPC_E Extension EADER_INCL XT S2.view.xml
leadItemStatusExt Lead ension
CRMT_ODATA_LEAD_H CL_CRM_LEAD_DPC_E EADER_INCL XT
S2.view.xml
leadItemExtension Lead
CRMT_ODATA_LEAD_H CL_CRM_LEAD_DPC_E EADER_INCL XT
Extensibility of the Detailed View (S3 View) To extend the detailed view, the following extensibility entities are available on the different software layers. You can extend each of these entities according to your specific business needs:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 80 of 96
UI View
Back End/ABAP Design Time: Gateway Entity leadHeaderExtensi Lead on
Extension Point
S3.view.xml
Design Time: Extension Include (in DDIC Structure) CRMT_ODATA_LEAD_H EADER_INCL
Runtime: Superclass/ Method to Be Redefined CL_CRM_LEAD_DPC_E XT
S3.view.xml
leadHeaderAttribu Lead teTopExtension
CRMT_ODATA_LEAD_H CL_CRM_LEAD_DPC_E EADER_INCL XT
S3.view.xml
leadHeaderTopExte Lead nsion
CRMT_ODATA_LEAD_H CL_CRM_LEAD_DPC_E EADER_INCL XT
S3.view.xml
leadHeaderAttribu Lead teBottomExtension
CRMT_ODATA_LEAD_H CL_CRM_LEAD_DPC_E EADER_INCL XT
S3.view.xml
leadTabBarItemFir Customer-specific entity stExtension
Customer-specific structure
CL_CRM_LEAD_DPC_E XT
S3.view.xml
leadTabBarItemLas Customer-specific entity tExtension
Customer-specific structure
CL_CRM_LEAD_DPC_E XT
S3.view.xml
leadInfoTabConten Lead tTopExtension
CRMT_ODATA_LEAD_H CL_CRM_LEAD_DPC_E EADER_INCL XT
S3.view.xml
leadProductTabCon LeadProduct tentExtension
CRMT_ODATA_LEAD_P CL_CRM_LEAD_DPC_E RODUCT_INCL XT
S3.view.xml
leadProductTabCol LeadProduct oumExtension
CRMT_ODATA_LEAD_P CL_CRM_LEAD_DPC_E RODUCT_INCL XT
S3.view.xml
leadTabBarItemLas LeadProduct tExtension
CRMT_ODATA_LEAD_P CL_CRM_LEAD_DPC_E RODUCT_INCL XT
S3.view.xml
leadSalesTabCells LeadSalesItem Extension
CRMT_ODATA_LEAD_S CL_CRM_LEAD_DPC_E ALESTEAM_INCL XT
Extensibility of the Footer Toolbar To extend the footer toolbar, the following extensibility entities are available on the different software layers. You can extend each of these entities according to your specific business needs:
Note From a technical perspective, buttons and actions are assigned either to the list view or the detailed view of the controller. UI View S2.view.xml
Back End/ABAP Design Time: Gateway Design Time: Extension Runtime: Superclass/ Entity Include (in DDIC Structure) Method to Be Redefined Extensibility of hooks delivered with the standard system — see section UI Controller Hooks
S3.view.xml
Extensibility of hooks delivered with the standard system — see section UI Controller Hooks
Extension Point
Additional Extensibility Entities Extension Includes In addition to the extension includes described above, the following extension includes are available: DDIC Extension Include Use CRMT_ODATA_LEAD_ATTACHMENT CRMT_ODATA_LEAD_ATT_INCL Allows you to extend the Attachment entity for leads CRMT_ODATA_LEAD_CHANGE_DOC
CRMT_ODATA_LEAD_CHANGEDOC_INC L
Allows you to extend the Change Document entity for leads
CRMT_ODATA_LEAD_NOTES
CRMT_ODATA_LEAD_NOTES_INCL
Allows you to extend the Note entity for leads
CRMT_ODATA_LEAD_STATUS
CRMT_ODATA_LEAD_STATUS_INCL
Allows you to extend the Status entity for leads
CRMT_ODATA_LEAD_ORIGIN
CRMT_ODATA_LEAD_ORIGIN_INCL
Allows you to extend the Origin entity for leads
CRMT_ODATA_LEAD_PRIORITY
CRMT_ODATA_LEAD_PRIORITY_INCL
Allows you to extend the Priority entity for leads
CRMT_ODATA_LEAD_QUAL_LEVEL
CRMT_ODATA_LEAD_QUALLEVEL_INC L
Allows you to extend the Qualification entity for leads
For more information about extension includes, see Extension Includes. UI Controller Hooks
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 81 of 96
To plug in and execute custom code, the following hooks are available in the controller code: Controller Hook Use S2.controller.js extendHeaderFooterOptions You can extend the footer toolbar functions in the list view.
Example You can extend the sorting or filtering of the list using the attributes oSortOptions and oFilterOptions respectively. S3.controller.js
extendHeaderFooterOptions
You can add customer-specific functions to the footer toolbar functions in the detailed view.
For more information about UI controller hooks, see UI Controller Hooks.
More Information For a general description of the extensibility options and procedures of Fiori apps, see Extensibility.
1.3.7 My Opportunities Type: Transactional app
Description With My Opportunities, you can create, edit, and display opportunities. This app is available for use on a desktop PC or a mobile device.
Key Features Create opportunities View and edit opportunities in which you are involved View and edit header data Add, edit, and delete products View parties involved (including accounts and contacts) Add and view contacts Add and display notes Add and view attachments View the competitors Share and discuss topics related to selected opportunities, using SAP JAM For more information, see App Implementation: My Opportunities.
Technical Requirements SAP enhancement package 3 (SP02) for SAP CRM 7.0 UI for EHP3 for SAP CRM 7.0
Related Apps My Contacts My Accounts
Component for Customer Messages CRM-BTX-OPP
1.3.7.1 App Implementation: My Opportunities Technical Data PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 82 of 96
The following tables list technical objects specific for My Opportunities: Back-End Components OData Service (Version Number) CRM_OPPORTUNITY (1)
Authorization Role (PFCG Role) SAP_CRM_OPPORTUNITY_APP
Front-End Components Component UI5 Application
Technical Name CRM_OPPRTNTY
Business Role
SAP_CRM_BCR_SALESREP
Business Catalog
SAP_CRM_BC_SALESREP
Business Catalog Group
SAP_CRM_BCG_SALESREP
For more information on how to implement these technical objects, refer to Central Implementation Information.
Configuration To enable My Opportunities, you must perform the following configuration tasks: Notes To display or create a note in the My Opportunities app, you must configure the text object CRM_ORDERH in the SAP CRM back-end system. With this configuration, the text type accepts changes as P (Log). Make the following settings in Customizing for Customer Relationship Management under Basic Functions Text Management Define Text Determination Procedure : 1. In this Customizing activity, select the text object CRM_ORDERH and then choose the Procedure view. 2. Select the text determination procedure that has been specified for the transaction type of opportunities (for example, OPP00001). 3. Select the Definition of Procedure view. 4. Specify the value P (Log) in the Changes field for at least one text type.
Note If multiple text types are marked as P (Log), the first text type in the sequence is considered in My Opportunities. If you want to display notes that were created with P (Log) on the SAP CRM UI or with the My Opportunities app, you must define an additional text type: R (Display Log). This text type is linked to the UI (as the header note) and the log entries are displayed on the SAP CRM UI. To specify this text type as a header note, you must define it as the first entry in a sequence. Authorization Roles (PFCG Roles) Assign the following authorization roles (PFCG roles) to the users of the app: Authorization Role (PFCG Role) Description SAP_CRM_OPPORTUNITY_APP Role that contains only the technical access to the OData service necessary for running the app SAP_CRM_UIU_SLS_PROFESSIONAL or other
Role that covers authorizations for the business objects accessed by the app
Make sure that one of the assigned authorization roles contains the following authorizations: Authorization object S_RFC (Authorization Check for RFC Access), with the following values: Field Value ACTVT 16 RFC_NAME
/IWBEP/FGR_MGW_CLIENT_IF
RFC_TYPE
FUGR
Authorization object S_RFCACL (Authorization Check for RFC User (e.g. Trusted System)) There are no predetermined values for this.
Note This step is required once for all SAP CRM apps, not once per app. "Employee" Business Partner Role Ensure that each user who should have access to the My Opportunities app is assigned to a business partner with the Employee business partner role. System Statuses When you launch My Opportunities, the default search of records is based on the user statuses that are mapped to the system statuses I1002 and I1003. Searching for Opportunities When you search for opportunities, the search is triggered against the object ID or the description. For the purpose of better performance, it is recommended that you use keywords that are exact phrases or close variations. Transaction Types of Opportunities When you create opportunities using the My Opportunities app, the system allows you to choose only from those transaction types that have been defined in Customizing for Customer Relationship Management under Transactions Settings for Opportunities Define Settings for the "My Opportunities" App .
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 83 of 96
1.3.7.2 App Extensibility: My Opportunities You can extend different aspects of My Opportunities according to your business needs. For this purpose, the following extensibility options are available: You can display or hide standard fields in the list view (S2 view), extend controls or change or replace the standard content. You can, for example, change the default attributes displayed (opportunity title) for items in the opportunities list. You can add new customer fields and controls to the detailed view (S3 view) of opportunities or change or replace the standard content. You can add new fields in the creation view (S5 view). You can change the default buttons and actions in the footer toolbar or add customer-specific buttons and actions to this toolbar.
Extensibility of the List View (S2 View) To extend the list view, the following extensibility entities are available on the different software layers. You can extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Design Time: Gateway Design Time: Extension Runtime: Superclass/ Entity Include (in DDIC Structure) Method to Be Redefined S2.view.xml opportunityItemAt Opportunity CRMT_ODATA_OPPT_H CL_CRM_OPPORTUNIT tributeExtension EADER_INCL Y_DPC_EXT opportunityItemSt Opportunity atusExtension
CRMT_ODATA_OPPT_H CL_CRM_OPPORTUNIT EADER_INCL Y_DPC_EXT
Extensibility of the Detailed View (S3 View) To extend the detailed view, the following extensibility entities are available on the different software layers. You can extend each of these entities according to your specific business needs:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 84 of 96
UI View S3.view.xml
Back End/ABAP Design Time: Gateway Entity opportunityHeader Opportunity Extension
Extension Point
Design Time: Extension Include (in DDIC Structure) CRMT_ODATA_OPPT_H EADER_INCL
Runtime: Superclass/ Method to Be Redefined CL_CRM_OPPORTUNIT Y_DPC_EXT
S3.view.xml
opportunityHeader Opportunity AttributeTopExten sion
CRMT_ODATA_OPPT_H CL_CRM_OPPORTUNIT EADER_INCL Y_DPC_EXT
S3.view.xml
opportunityHeader Opportunity AttributeBottomEx tension
CRMT_ODATA_OPPT_H CL_CRM_OPPORTUNIT EADER_INCL Y_DPC_EXT
S3.view.xml
opportunityTabBar Customer-specific entity ItemFirstExtensio n
Customer-specific structure
CL_CRM_OPPORTUNIT Y_DPC_EXT
S3.view.xml
opportunityTabBar Customer-specific entity ItemLastExtension
Customer-specific structure
CL_CRM_OPPORTUNIT Y_DPC_EXT
S3.view.xml
opportunityInfoTa Opportunity bContentTopExtens ion
CRMT_ODATA_OPPT_H CL_CRM_OPPORTUNIT EADER_INCL Y_DPC_EXT
S3.view.xml
opportunityInfoTa Opportunity bContentBottomExt ension
CRMT_ODATA_OPPT_H CL_CRM_OPPORTUNIT EADER_INCL Y_DPC_EXT
S3.view.xml
opportunityProduc OpportunityProduc CRMT_ODATA_OPPT_P CL_CRM_OPPORTUNIT tTabContentExtens t RODUCT_INCL Y_DPC_EXT ion
S3.view.xml
opportunityProduc OpportunityProduc CRMT_ODATA_OPPT_P CL_CRM_OPPORTUNIT tTabContentExtens t RODUCT_INCL Y_DPC_EXT ion
S3.view.xml
opportunityProduc OpportunityProduc CRMT_ODATA_OPPT_P CL_CRM_OPPORTUNIT tTabColoumExtensi t RODUCT_INCL Y_DPC_EXT on
S3.view.xml
opportunityProduc OpportunityProduc CRMT_ODATA_OPPT_P CL_CRM_OPPORTUNIT tTabCellsExtensio t RODUCT_INCL Y_DPC_EXT n
S3.view.xml
opportunitysalesT OpportunitySalesT CRMT_ODATA_OPPT_S CL_CRM_OPPORTUNIT abContentExtensio eam ALESTEAM_INCL Y_DPC_EXT n
S3.view.xml
opportunitysalesT OpportunitySalesT CRMT_ODATA_OPPT_S CL_CRM_OPPORTUNIT abColumnExtension eam ALESTEAM_INCL Y_DPC_EXT
S3.view.xml
opportunitySalesT OpportunitySalesT CRMT_ODATA_OPPT_S CL_CRM_OPPORTUNIT abCellsExtension eam ALESTEAM_INCL Y_DPC_EXT
S3.view.xml
opportunityCompet OpportunityCompet CRMT_ODATA_OPPT_C CL_CRM_OPPORTUNIT itorTabContentExt itor OMPTITOR_INCL Y_DPC_EXT ension
Extensibility of the Creation View (S5 View) To extend the creation view, the following extensibility entities are available on the different software layers. You can extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Design Time: Gateway Design Time: Extension Runtime: Superclass/ Entity Include (in DDIC Structure) Method to Be Redefined S5.view.xml opportunityCreate Opportunity CRMT_ODATA_OPPT_H CL_CRM_OPPORTUNIT ContentTopExtensi EADER_INCL Y_DPC_EXT on S5.view.xml
opportunityCreate Opportunity ContentBottomExte nsion
S5.view.xml
opportunityProduc OpportunityProduc CRMT_ODATA_OPPT_P CL_CRM_OPPORTUNIT tTabColoumExtensi t RODUCT_INCL Y_DPC_EXT on
S5.view.xml
opportunityProduc OpportunityProduc CRMT_ODATA_OPPT_P CL_CRM_OPPORTUNIT tTabCellsExtensio t RODUCT_INCL Y_DPC_EXT n
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
CRMT_ODATA_OPPT_H CL_CRM_OPPORTUNIT EADER_INCL Y_DPC_EXT
Page 85 of 96
Extensibility of the Footer Toolbar To extend the footer toolbar, the following extensibility entities are available on the different software layers. You can extend each of these entities according to your specific business needs:
Note From a technical perspective, buttons and actions are assigned either to the list view or the detailed view of the controller. UI View S2.view.xml
Back End/ABAP Design Time: Gateway Design Time: Extension Runtime: Superclass/ Entity Include (in DDIC Structure) Method to Be Redefined Extensibility of hooks delivered with the standard system — see section UI Controller Hooks
S3.view.xml
Extensibility of hooks delivered with the standard system — see section UI Controller Hooks
S5.view.xml
Extensibility of hooks delivered with the standard system — see section UI Controller Hooks
Extension Point
Additional Extensibility Entities Extension Includes In addition to the extension includes described above, the following extension includes are available: DDIC Extension Include Use CRMT_ODATA_OPPT_CURRENCY CRMT_ODATA_OPPT_CURRENCY_INCL Allows you to extend the Currency entity for opportunities CRMT_ODATA_OPPT_ATTACHMENT
CRMT_ODATA_OPPT_ATTACHMNT_INC L
Allows you to extend the Attachment entity for opportunities
CRMT_ODATA_OPPT_CHANGEDOC
CRMT_ODATA_OPPT_CHANGEDOC_INC L
Allows you to extend the Change Document entity for opportunities
CRMT_ODATA_OPPT_NOTES
CRMT_ODATA_OPPT_NOTES_INCL
Allows you to extend the Note entity for opportunities
CRMT_ODATA_OPPT_STATUS
CRMT_ODATA_OPPT_STATUS_INCL
Allows you to extend the Status entity for opportunities
CRMT_ODATA_OPPT_PRIORITY
CRMT_ODATA_OPPT_PRIORITY_INCL
Allows you to extend the Priority entity for opportunities
CRMT_ODATA_OPPT_PROCESS_TYPE
CRMT_ODATA_OPPT_PROC_TYPE_INC L
Allows you to extend the Process Type entity for opportunities
CRMT_OPPT_ODATA_PRODUCT
CRMT_ODATA_OPPT_PRODMASTR_INC L
Allows you to extend the Product entity for opportunities
CRMT_ODATA_OPPT_SALES_STAGE
CRMT_ODATA_OPPT_SALESTAGE_INC L
Allows you to extend the Sales Stage entity for opportunities
CRMT_ODATA_OPPT_USER_STATUS
CRMT_ODATA_OPPT_USER_STAT_INC L
Allows you to extend the User Status entity for opportunities
For more information about extension includes, see Extension Includes. UI Controller Hooks To plug in and execute custom code, the following hooks are available in the controller code: Controller Hook Use S2.controller.js extendHeaderFooterOptions You can extend the footer toolbar functions in the list view.
Example You can extend the sorting of the list using the attribute oSortOptions. S3.controller.js
extendHeaderFooterOptions
You can add customer-specific functions to the footer toolbar functions in the detailed view.
S5.controller.js
extendSaveOentry
You can add data to JavaScript Object Notation (JSON) for the creation view.
For more information about UI controller hooks, see UI Controller Hooks.
More Information For a general description of the extensibility options and procedures of Fiori apps, see Extensibility.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 86 of 96
1.3.8 Track Sales Pipeline Type: Transactional app
Description With Track Sales Pipeline, you can review the performance of the employees in your sales team, against their overall targets. As a sales manager, you can view opportunities by account or employee, and also view the top 10 opportunities within your team.
Features View opportunities by account or employee. Display opportunities in weekly, monthly, quarterly, or yearly time periods. View opportunity details such as account information, primary contact, employee responsible, and their contact information.
Technical Requirements SAP enhancement package 3 SP02 for SAP CRM 7.0 UI for EHP3 for SAP CRM 7.0 For more information, see App Implementation: Track Sales Pipeline.
Related Apps My Accounts My Opportunities
Component for Customer Messages CRM-ANA-PPM
1.3.8.1 App Implementation: Track Sales Pipeline Technical Data The following table lists technical objects specific to Track Sales Pipeline: Back-End Components OData Service (Version Number) CRM_SALESPIPELINE_MANAGER (1)
Authorization (PFCG Role) SAP_CRM_SALESPIPELINE_MGR_APP
Front-End Components Component UI5 Application
Technical Name CRM_SALEPIP_MGR
Business Role
SAP_CRM_BCR_SALESREP
Business Catalog
SAP_CRM_BC_SALESREP
Business Catalog Group
SAP_CRM_BCG_SALESREP
For more information about implementing these technical objects, see Central Implementation Information.
Prerequisites for Configuration Before implementing the app, you must ensure the following: The user is assigned to a position that represents the head of an organizational unit in the organizational model The user has planned the sales quota for each member of his team
Configuration To enable Track Sales Pipeline, you must perform the following configuration tasks: Adjust and assign authorization roles (PFCG roles) Assign the following authorization roles (PFCG roles) to the users of the app:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 87 of 96
Authorization Role (PFCG Role) SAP_CRM_SALESPIPELINE_MGR_APP
Description Role that contains only the technical access to the OData service necessary for running the app
SAP_CRM_UIU_SLS_PROFESSIONAL or other
Role that covers authorizations for the business objects accessed by the app
Authorization object S_RFC (Authorization Check for RFC Access), with the following values: Field Value ACTVT 16 RFC_NAME
/IWBEP/FGR_MGW_CLIENT_IF
RFC_TYPE
FUGR
Authorization object S_RFCACL (Authorization Check for RFC User (e.g. Trusted System)) There are no predetermined values for this.
Note This step is required once for all SAP CRM apps, not once per app. Assign "Employee" business partner role Ensure that each user who should have access to the Track Sales Pipeline app is assigned to a business partner with the Employee business partner role.
1.3.8.2 App Extensibility: Track Sales Pipeline You can extend Track Sales Pipeline according to your business needs for different aspects. For this purpose, the following extensibility options are available: You can add new criteria to filter opportunities for display, for example, to view the top n opportunities. You can add new criteria to filter opportunities by their attributes. For example, user status or sales stage. You can add new standard or custom fields to view additional details of an opportunity.
Extensibility of the Dropdown to Filter Opportunities (S1) To add new selection criteria to the dropdown, the following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Design Time: Gateway Design Time: Extension Runtime: Entity Include (in DDIC Structure) Superclass/Method to Be Redefined S1.view.xml extDropDown
Extensibility of the Criteria to Filter Opportunities by Attributes (S1) To add new selection criteria to filter opportunities, the following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Design Time: Gateway Design Time: Extension Runtime: Entity Include (in DDIC Structure) Superclass/Method to Be Redefined S1.view.xml extDropDown Opportunity CRMT_ODATA_SPS_OP CL_CRM_SALESPIPEL P_EXPAND_INCL INE_M_DPC_EXT
Extensibility of the Opportunity Details Popover (S1) To add new fields to the popover, the following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Design Time: Gateway Design Time: Extension Runtime: Entity Include (in DDIC Structure) Superclass/Method to Be Redefined Opportunity.fragm extOpportunityPop Opportunity CRMT_ODATA_SPS_OP CL_CRM_SALESPIPEL ent.xml over (to add fields at P_EXPAND_INCL INE_M_DPC_EXT the beginning ) extOpportunityPop overEnd (to add fields at the end)
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 88 of 96
Additional Extensibility Entities Extension Includes In addition to the extension includes described above, the following extension includes are available: DDIC Extension Include Use CRMT_ODATA_SPS_OPPT_HEADER_MG CRMT_ODATA_SPS_OPT_HEADER_INC Allows you to extend the Opportunity entity R L CRMT_ODATA_SPS_OPPORT_SALESTG
CRMT_ODATA_SPS_SALESTG_INCL
Allows you to extend the Sales Stage entity
CRMT_ODATA_SPS_ACCOUNTS
CRMT_ODATA_SPS_ACCOUNTS_INCL
Allows you to extend the Account entity
CRMT_ODATA_SPS_CURRENCY
CRMT_ODATA_SPS_CURRENCY_INCL
Allows you to extend the Currency entity
CRMT_ODATA_SPS_DATE_RANGES
CRMT_ODATA_SPS_DATE_RANGE_INC L
Allows you to extend the Date Range entity
CRMT_ODATA_SPS_EMP_RESP
CRMT_ODATA_SPS_EMP_RESP_INCL
Allows you to extend the Employee Responsible entity
CRMT_ODATA_SPS_OPPORT_STATUS
CRMT_ODATA_SPS_STATUS_INCL
Allows you to extend the Status entity
CRMT_ODATA_SPS_OPPORT_TEAM
CRMT_ODATA_SPS_OPPRT_TEAM_INC L
Allows you to extend the Team entity
CRMT_ODATA_SPS_SETTINGS_MGR
CRMT_ODATA_SPS_SETTINGS_INCL
Allows you to extend the Settings entity for the app
CRMT_ODATA_SPS_USRSTATUS_CODE S
CRMT_ODATA_SPS_USR_STATUS_INC L
Allows you to extend the Opportunity Status Code entity
CRMT_ODATA_SPS_OPPORT_EXPAND
CRMT_ODATA_SPS_OPP_EXPAND_INC L
Allows you to retrieve information about related entities, based on your requirement
For more information about extension includes, see Extension Includes. UI Controller Hooks To plug in and execute custom code, the following hooks are available in the controller code: Controller Hook Use S1.controller.js extendFacetFilter Allows you to extend the filter by adding new filter criteria S1.controller.js
opportunityPopoverExtension
Allows you to add new fields to the Opportunity Details popover
For more information about UI controller hooks, see UI Controller Hooks.
More Information For a general description of the extensibility options and procedures of Fiori apps, see Extensibility.
1.3.9 Simulate Sales Pipeline Type: Transactional app
Description With Simulate Sales Pipeline, you can execute what-if scenarios for your sales pipeline and view the corresponding effect on your sales target achievement. This app retrieves SAP Customer Relationship Management (SAP CRM) opportunities from your sales pipeline and allows you to simulate your target achievement by changing the target value, closing date, and chance of success of the opportunities.
Features View your opportunity pipeline. Display opportunities in weekly, monthly, quarterly, or yearly time periods. Increase or decrease the value of an opportunity. Change the end date of an opportunity. Increase or decrease the chance of success of an opportunity. View the details of an opportunity such as account, primary contact, and contact information. Review and update changes to the back-end SAP CRM system.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 89 of 96
Technical Requirements SAP enhancement package 3 SP02 for SAP CRM 7.0 UI for EHP3 for SAP CRM 7.0 For more information, see App Implementation: Simulate Sales Pipeline.
Related Apps My Accounts My Opportunities
Component for Customer Messages CRM-ANA-PPM
1.3.9.1 App Implementation: Simulate Sales Pipeline Technical Data The following table lists technical objects specific to Simulate Sales Pipeline: Back-End Components OData Service (Version Number) CRM_SALESPIPELINE_SALESREP (1)
Authorization Role (PFCG Role) SAP_CRM_SALESPIPELINE_SR_APP
Front-End Components Components UI5 Application
Technical Name CRM_SALEPIP_SIM
Business Role
SAP_CRM_BCR_SALESREP
Business Catalog
SAP_CRM_BC_SALESREP
Business Catalog Group
SAP_CRM_BCG_SALESREP
For more information about implementing these technical objects, see Central Implementation Information.
Configuration To enable Simulate Sales Pipeline, you must perform the following configuration tasks: Adjust and assign authorization roles (PFCG roles) Assign the following authorization roles (PFCG roles) to the users of the app: Authorization Role (PFCG Role) Description SAP_CRM_SALESPIPELINE_SR_APP Role that contains only the technical access to the OData service necessary for running the app SAP_CRM_UIU_SLS_PROFESSIONAL or other
Role that covers authorizations for the business objects accessed by the app
Make sure that one of the assigned authorization roles contains the following authorizations: Authorization object S_RFC (Authorization Check for RFC Access), with the following values: Field Value ACTVT 16 RFC_NAME
/IWBEP/FGR_MGW_CLIENT_IF
RFC_TYPE
FUGR
Authorization object S_RFCACL (Authorization Check for RFC User (e.g. Trusted System)) There are no predetermined values for this.
Note This step is required once for all SAP CRM apps, not once per app. Assign "Employee" business partner role Ensure that each user who should have access to the Simulate Sales Pipeline app is assigned to a business partner with the Employee business partner role.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 90 of 96
1.3.9.2 App Extensibility: Simulate Sales Pipeline You can extend Simulate Sales Pipeline according to your business needs for different aspects. For this purpose, the following extensibility option is available: You can add new standard or custom fields to view additional details of an opportunity.
Extensibility of the Opportunity Details Popover (S1) To add new fields to the popover, the following extensibility entities are available on the different software layers. You have to extend each of these entities according to your specific business needs: UI Back End/ABAP View Extension Point Design Time: Gateway Design Time: Extension Runtime: Entity Include (in DDIC Structure) Superclass/Method to Be Redefined opportunityPopove extOpportunityPop Opportunity CRMT_ODATA_SPS_OP CL_CRM_SALESPIPEL r.fragment.xml over (to add fields at P_EXPAND_INCL INE_S_DPC_EXT the beginning) extOpportunityPop overEnd (to add fields at the end)
Additional Extensibility Entities Extension Includes In addition to the extension includes described above, the following extension includes are available: DDIC Extension Include Use CRMT_ODATA_SPS_OPPORT_HEADER CRMT_ODATA_SPS_OPT_HEADER_INC Allows you to extend the Opportunity entity L CRMT_ODATA_SPS_OPPORT_SALESTG
CRMT_ODATA_SPS_SALESTG_INCL
Allows you to extend the Sales Stage entity
CRMT_ODATA_SPS_ACCOUNTS
CRMT_ODATA_SPS_ACCOUNTS_INCL
Allows you to extend the Account entity
CRMT_ODATA_SPS_CURRENCY
CRMT_ODATA_SPS_CURRENCY_INCL
Allows you to extend the Currency entity
CRMT_ODATA_SPS_DATE_RANGES
CRMT_ODATA_SPS_DATE_RANGE_INC L
Allows you to extend the Date Range entity
CRMT_ODATA_SPS_EMP_RESP
CRMT_ODATA_SPS_EMP_RESP_INCL
Allows you to extend the Employee Responsible entity
CRMT_ODATA_SPS_OPPORT_STATUS
CRMT_ODATA_SPS_STATUS_INCL
Allows you to extend the Status entity
CRMT_ODATA_SPS_OPPORT_TEAM
CRMT_ODATA_SPS_OPPRT_TEAM_INC L
Allows you to extend the Team entity
CRMT_ODATA_SPS_SETTINGS
CRMT_ODATA_SPS_SETTINGS_INCL
Allows you to extend the Settings entity for the app
CRMT_ODATA_SPS_USRSTATUS_CODE S
CRMT_ODATA_SPS_USR_STATUS_INC L
Allows you to extend the Opportunity Status Code entity
CRMT_ODATA_SPS_OPPORT_EXPAND
CRMT_ODATA_SPS_OPP_EXPAND_INC L
Allows you to retrieve information about related entities, based on your requirement.
For more information about extension includes, see Extension Includes. UI Controller Hooks To plug in and execute custom code, the following hooks are available in the controller code: Controller Hook Use S1 opportunityPopoverExtension You can create events for the new fields added to the Opportunity Details popover and modify the value of fields at runtime. For more information about UI controller hooks, see UI Controller Hooks.
More Information For a general description of the extensibility options and procedures of Fiori apps, see Extensibility.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 91 of 96
1.3.10 Approve Requests With the transactional app Approve Requests, you can make important decisions via mobile or desktop devices anywhere and anytime. Using this app, you can process your workflow tasks based on the decision options already existing in the back-end system.
Key Features Displays items requiring action Shows attachments and comments Displays the business card of the application users involved in the decision workflow Customizes decision workflow actions
Technical Requirements The following software products must be available in your system landscape: Back-End System (Business Data) Back-end server: SAP NetWeaver 7.40 SPS 05 Required software components: SAP_GWFND 740 Gateway (Front-End Components) Required NetWeaver release: SAP NetWeaver 7.31 SPS 04 or SAP NetWeaver 7.40 SPS 04 Required product release: SAP NetWeaver Gateway 2.0 SP07 Component versions: If you run SAP NetWeaver 7.31 SPS 04 on your front-end server, install IW_PGW 100 (SP04) and IW_BEP 200 (SP07). If you run SAP NetWeaver 7.40 SPS 04 on your front-end server, install IW_PGW 200 (SP04). UI Add-On (Front-End Components) Required product release: FIORI APPROVE REQUESTS X1 1.0 Required software components: UIX01CA1
Component for Customer Messages For creating customer messages, use the following component: MOB-UIA-AR
More Information For more details about the implementation of the app, see App Implementation: Approve Requests.
1.3.10.1 App Implementation: Approve Requests Required SAP Notes For Approve Requests, the following SAP Notes must be installed: Back-End/Front-End Server SAP Note Number Release information note 1931160
Description Release Information Note for SAP Fiori Approve Requests
Back-end server
1930690
TGW Comment’s CreatedByDetails not working in $expand
Back-end server
1929308
TGW Possible Agent’s FullName is missing in $expand
Back-end server
1921495
TGW: File name missing in $expand for attachments
Back-end server
1914864
Filtering by Status and Priority not working in $expand
Technical Data The following tables list technical objects specific for Approve Requests. Back-End Components The minimum required software component is SAP_GWFND 740. Front-End Server: Gateway OData Service Task Gateway Service 1.0 (/IWPGW/TASKPROCESSING)
Authorization Role (PFCG Role) No special role required
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 92 of 96
For more information about the required SAP NetWeaver Gateway components, see Installation of SAP NetWeaver Gateway on FrontEnd Server. For more information about authorization roles and assigned OData services, see Roles, Users, and Authorizations on Back-End Server. Front-End Server: UI5 Application Component UI5 Add-On
Technical Name UIX01CA1
For more information about how to activate the UI5 application (ICF service), see Activate ICF Services. Front-End Server: SAP Fiori Launchpad Components Component Technical Role Technical Catalog
Technical Name SAP_FND_TCR_T_X1 SAP_FND_TC_T_X1
For more information about roles, catalogs and catalog groups in the SAP Fiori Launchpad, see Setup of Catalogs, Groups, and Roles in the Fiori Launchpad.
Prerequisites for Configuration Before implementing the Approve Requests application for your SAP Business Workflow, you must ensure the following: 1. Make sure that you have at least one business workflow in the back-end system(s) that defines the task types to be used for Approve Requests. Ensure that all the authorizations required for the workflows are maintained. 2. Make sure that the required SAP Notes are installed. 3. Ensure that you have activated the Task Gateway Service and the UI5 service. For more information, see SAP Help Portal at http://help.sap.com SAP NetWeaver SAP NetWeaver Gateway Configuration and Deployment Information Configuration Guide SAP NetWeaver Gateway Configuration Guide Configuration Settings for SAP NetWeaver Gateway Supported Scena Configuration Settings for Odata Channel Scenarios Configuring the Task Gateway Service . 4. Check that you have assigned and configured the connections between the Task Gateway Service (/IWPGW/TASKPROCESSING) and your back-end system(s) from which you want to retrieve the work items. For more information, see SAP Help Portal at http://help.sap.com SAP NetWeaver SAP NetWeaver Gateway Development Information Developer’s Guide SAP NetWeaver Gateway Developer Guide OData Channel Basic Features Service Life-Cycle Activate and Maintain Services .
Configuration Configuring a Task and Decisions Enter and define a task and those decision options from your workflow task that you want to display in the Approve Requests application. Follow the steps below in the back-end system where you maintain your workflow template. 1. In Customizing for SAP NetWeaver, choose Gateway Service Enablement Content Workflow Settings Maintain Task Names and Decision Options . 2. Fill in the Step Name table as described below and save your entries: Workflow ID: Enter the ID of your workflow template, for example, WS30000015. Step ID: Enter the task step from your workflow template. Icon MIME Repository Path: Leave this field blank. Step Description: Enter the task name. This name appears as the heading of the detail screen in the Approve Requests application.
Note This step is only relevant if you are implementing the Approve Requests application for your SAP Business Workflow. 3. 4.
Select the entry in the Step Name table and choose Decision Keys in the navigation panel. Add and define your decision options in the Decision Keys table as described below and save your entries: Key: Enter the decision key. Decision keys are numeric and sequential and correspond to the position of decision options in the Workflow Builder. Enter the first decision option with key 1, the second decision option with key 2, and so on. Icon Mime Repository Path: Leave this field blank. Decision Text: Define the name of the decision option. This name is displayed on the application screen as a button label. The proposed length of the decision text is maximum 14 characters. Decision texts longer than 14 characters will not fit to the device screen. Comment On: If you want to make it mandatory for the user to add a comment when executing a decision, select this checkbox. Nature: Here you have the following options: Select POSITIVE for the approve type decision option. The decision option is displayed as a green pushbutton on the detail screen of the application. Select NEGATIVE for the reject type decision option. The decision option is displayed as a red pushbutton on the detail screen of the application. Leave the field empty for multiple decision options. The decision options are displayed in a gray drop-down list on the detail screen of the application.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 93 of 96
Defining the Workflow Scenario Define your workflow scenario by completing the following steps in your Gateway system: add a scenario, assign the consumer type, assign roles, and define tasks. 1. Add a workflow scenario. 1. In Customizing for SAP NetWeaver, choose Gateway Service Enablement Content Task Gateway Service Scenario Definition . 2. Choose New Entries. 3. Fill in the Scenario Decision table as described below and save your entries: Scenario Identifier: Define a scenario ID. Scenario Display Name: Define a name for your scenario. Scenario Order: Not relevant for Approve Requests. Technical Service Name: Enter /IWPGW/TASKPROCESSING. Version: Enter 1. EntitySet External Name: Enter Task. Property External Name: Enter TaskDefinitionID. Default Sort by Property: Define how you want to sort the work items on the list screen of the application.
Note You can use all the properties of the task collection here, but we recommend to use the CreatedOn property. To display a list of all the possible properties, see SAP Help Portal at http://help.sap.com SAP NetWeaver SAP NetWeaver Gateway Content Information Content Guide SAP NetWeaver Gateway Content Guide SAP NetWeaver Gateway Supported Odata Channel Scenarios Task Gateway Task Gateway Service Task Gateway Service Version 1 Task Collection . Mass Action: Not relevant for Approve Requests. Class for Scenario Count: If the scenario is not part of the Business Workflow engine, and you want to see the number of tasks pending for this scenario, enter the name of the class that implements the /IWWRK/IF_TGW_SCENARIO interface. Quick Act.: Select the Quick Act. checkbox to enable quick approval of workflow items. This field is only relevant if you are using a mobile device. 2. Assign the consumer type to the scenario. 1. Select the row containing your approval scenario and choose table Assign Consumer Type to Scenario in the navigation panel. 2. Choose New Entries. 3. In the Task Gateway Consumer Type field, select TABLET. 4. Save your entries. 3. Assign a role to the consumer type and the scenario (optional). Now you can assign an approval scenario to a number of roles, that is, the scenario will only be available to users who are assigned to at least one of the relevant PFCG roles. 1. Select the row for TABLET (for all devices), and choose Assign Role to Consumer Type and Scenario in the navigation panel. 2. Choose New Entries. 3. In the Role column, select the role you want to use. 4. Save your entries. 4. Define tasks for your scenario.
Note You can define several tasks for your scenario. Make sure that you follow the steps below for each of your task. Choose Scenario Definition in the navigation panel, and select the row containing your approval scenario. Choose Task Definition for Scenario in the navigation panel. 3. Choose New Entries. 4. Enter the task type ID for your approval workflow. 1. 2.
Note You can find your task type ID in the back-end system as described below: 1. Start the Workflow Builder. 2. Search for the workflow definition you would like to enable. 3. Open the approval step. 4. Go to Control tab, and check the Task field. 5.
In the SAP System Alias field, enter the source system alias for the task type.
Note Make sure that the Task Gateway Service is connected to the selected system aliases. 6.
Save your entries.
Configuring the SAP Fiori Launchpad To enable Approve Requests, you have to create a tile for each workflow scenario as described below.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 94 of 96
Note Make sure that role SAP_FND_TCR_T_X1 is assigned to your user. Start the launchpad designer in your NetWeaver Gateway system with the following URL: http://:/sap/bc/ui5_ui5/sap/ARSRVC_UPB_ADMN/main.html. 2. Select the Approve Request (SAP_FND_TC_T_X1) catalog. 3. Add a new tile. 4. Choose the App Launcher - Dynamic tile. 5. Select the newly created tile, and fill in the following fields as described below: Title: Enter the name of your workflow scenario, for example, Capital Expenditure Approval. Icon: Use the default sap-icon://complete. Service URL: Enter /sap/opu/odata/IWPGW/TASKPROCESSING;mo/ScenarioCollection?$filter=key eq ''. Semantic Object: Enter WorkflowTask. Action: Enter approveRequests. Parameters: Enter scenarioId=. 6. Choose Save. For more information, see Setup of SAP Fiori Launchpad. 1.
1.3.10.2 App Extensibility: Approve Requests You can extend Approve Requests according to your business needs for different aspects. For this purpose, the following extensibility options are available: Business Add-Ins (BAdIs) Extension points
Business Add-Ins (BAdIs) To extend Approve Requests and add custom code in the Task Gateway Service, you can use the following Business Add-Ins: BAdIs in the Back-End System Before Update BAdI (/IWWRK/BADI_WF_BEFORE_UPD_IB) You can use BAdI /IWWRK/BADI_WF_BEFORE_UPD_IB to handle decision runtime in the following cases: Step type for the workflow task is not User Decision. You want to execute an action before the work item is updated with the user decision. For more information, see SAP Help Portal at http://help.sap.com SAP NetWeaver SAP NetWeaver Gateway SAP NetWeaver Gateway Content Guide SAP NetWeaver Gateway Supported OData Channel Scenarios Workflow Services Workflow Task Service: Central Hub Deployment with IW_BEP Backend Installation Workflow User Exits . BAdIs in the Gateway System Task Gateway: Change subject in query (/IWPGW/BADI_TGW_TASK_QUERY) You can use this BAdI to change the task title for all items in the list. Task Gateway: Modify task data (/IWPGW/BADI_TGW_TASK_DATA) You can use this BAdI to change the task title or task description on the detail screen. Task Gateway: Provide User details (/IWPGW/BADI_TGW_USER_DETAIL) You can use this BAdI to change the user details. For more information, see SAP Help Portal at http://help.sap.com SAP NetWeaver SAP NetWeaver Gateway SAP NetWeaver Gateway Content Guide SAP NetWeaver Gateway Supported OData Channel Scenarios Task Gateway Task Gateway User Exits .
Extension Points To extend Approve Requests, you can use the following extension points:
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 95 of 96
View S2 (list view)
Control ID CustomerExtensionForObjectListItem
Use Allows you to replace the list item template with your custom list item template on the list screen Make sure that the ID of your custom list template is the same as the ID of the standard list item template.
S3 (detail view)
CustomerExtensionForObjectHeader
Allows you to replace the header of the detail screen with your custom header
S3 (detail view)
CustomerExtensionForInfoTabContent
Allows you to define the content you want to display on the Info tab
S3 (detail view)
CustomerExtensionForNoteTabContent
Allows you to define the content you want to display on the Note tab
S3 (detail view)
CustomerExtensionForAttachmentTabCont Allows you to define the content you want ent to display on the Attachment tab
S3 (detail view)
CustomerExtensionForAdditionalTabs
Allows you to create additional tabs
For more information about extension points, see Extension Points.
UI Controls The following UI controls can be hidden on the app UI. View Control ID S3 ARNoteIconTabFilter S3
ARAttachmentIconTabFilter
Use Allows you to hide the Note tab on the detail screen Allows you to hide the Attachment tab on the detail screen
For more information about hiding UI controls, see Concealable UI Controls.
More Information For a general description of the extensibility options and procedures of Fiori apps, see Extensibility.
PUBLIC © 2013 SAP AG or an SAP affiliate company. All rights reserved.
Page 96 of 96