https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/SAP-S4HANA-Embedded-Analytics-blog-posts.xml SAP Community - SAP S/4HANA Embedded Analytics 2024-05-20T11:13:45.857669+00:00 python-feedgen SAP S/4HANA Embedded Analytics blog posts in SAP Community https://community.sap.com/t5/technology-blogs-by-sap/sap-premium-engagement-analytics-strategy-workshop/ba-p/13576987 SAP Premium Engagement: Analytics Strategy Workshop 2023-12-11T09:49:49+01:00 RashidAR https://community.sap.com/t5/user/viewprofilepage/user-id/176968 <H2 id="toc-hId-964020518">Who we are</H2><BR /> We are SAP’s Center of Expertise (COE) for Analytics, Planning, and Consolidation in the globally operating Adoption Service Center. Our goal is to drive adoption and consumption of SAP Business Technology Platform technologies and lay the foundation for the Intelligent Enterprise. We are a trusted partner for customers with MaxAttention or Premium Engagement (PE). Also, we engage in the area of Professional Services, Preferred Success and other partnerships.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/SAP_PE.png" /></P><BR /> <BR /> <H2 id="toc-hId-767507013">Introduction</H2><BR /> In the fast-paced and ever-evolving landscape of business intelligence, having a robust analytics and data management architecture is crucial for staying ahead of the curve. Enter the SAP Analytics Strategy Workshop – a comprehensive solution designed to help organizations define a future-proof framework aligned with both business and IT requirements, laying the foundation for the Intelligent Enterprise.<BR /> <H2 id="toc-hId-570993508">Unveiling the Service Component</H2><BR /> The SAP Analytics Strategy Workshop covers a spectrum of essential topics and provides orientation and guidance to define a strategic direction for a customer specific Analytics and Data Warehousing Architecture.<BR /> <BR /> Key solutions are:<BR /> <UL><BR /> <LI><STRONG>SAP S/4HANA&nbsp;Embedded Analytics</STRONG></LI><BR /> <LI><STRONG>SAP HANA Data Warehouse Strategy (SAP Datasphere, SAP BW/4HANA , SQL-modeled HANA data warehouse)</STRONG></LI><BR /> <LI><STRONG>SAP Analytics Cloud, SAP BusinessObjects</STRONG></LI><BR /> <LI><STRONG>SAP Data Intelligence (Cloud)</STRONG></LI><BR /> <LI><STRONG>Integration&nbsp;Scenarios (Data lakes, Hybrid Scenarios)</STRONG></LI><BR /> </UL><BR /> This encompasses both on-premise and cloud solutions, ensuring adaptability and scalability as organizations navigate the digital landscape.<BR /> <H2 id="toc-hId-374480003">The Customer's Agenda</H2><BR /> The primary objectives for customers opting for this service include:<BR /> <OL><BR /> <LI><STRONG>Leveraging Full Capabilities:</STRONG> Utilize the complete potential of SAP analytics and data warehousing solutions to enhance business efficiency, agility, and real-time decision-making for users.</LI><BR /> <LI><STRONG>Guidance on Latest Solutions:</STRONG> Receive expert guidance on the latest SAP Analytics solutions and the SAP Datasphere concept/design. Understand seamless integration with data lakes and other analytical applications, whether on-premise or in the cloud.</LI><BR /> <LI><STRONG>Holistic Analytics Concept:</STRONG> Establish a holistic analytics concept that seamlessly integrates SAP on-premise and cloud solutions, along with non-SAP solutions.</LI><BR /> </OL><BR /> <H2 id="toc-hId-177966498">Delivery Approach &amp; Scope</H2><BR /> The delivery approach typically involves a 3 to 4-day remote or onsite workshop, beginning with a scoping call to tailor the agenda according to customer requirements. The scope includes:<BR /> <UL><BR /> <LI>Identifying crucial use cases, pain points, and challenges and mapping them to capabilities and solution components.</LI><BR /> <LI>Knowledge transfer sessions covering recommended SAP solution components such as SAP S/4HANA embedded analytics, SAP Analytics Cloud, SAP BW/4HANA, SAP Datasphere, and SAP Data Intelligence.</LI><BR /> <LI>Defining the target analytics solution landscape and creating a high-level milestone plan.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/SCR-20231211-meso.png" /></P><BR /> <P class="image_caption" style="text-align:center;font-style:italic;, Arial, sans-serif">Example of a Target Solution Landscape in an AST Workshop</P><BR /> <BR /> <H2 id="toc-hId--18547007">Value and Benefits</H2><BR /> Engaging in the SAP Analytics and Data Management Service Component yields significant value and benefits for organizations. The outcomes include:<BR /> <UL><BR /> <LI>A final report with recommendations for a data warehouse and analytics architecture that aligns with specific reporting requirements.</LI><BR /> <LI>A customer-specific roadmap complete with a high-level milestone plan.</LI><BR /> <LI>Proposed target analytics solution landscapes (options) for the next 3 to 5 years, encompassing both on-premise and cloud components.</LI><BR /> </UL><BR /> These service outcomes, in turn, serve as a foundation for subsequent phases, such as the analytics design service component in the explore phase, ensuring a seamless and future-proof analytics and data management journey for the Intelligent Enterprise.<BR /> <H2 id="toc-hId--215060512">Service Assignment Options</H2><BR /> This service is available for a variety of SAP support frameworks, including Value Assurance, SAP MaxAttention, SAP Active Embedded, and SAP Active Attention. Customers are encouraged to engage in discussions about their Analytics and Data Warehouse solution landscape at an architecture level, delving into their business needs and aspirations.<BR /> <BR /> Don’t hesitate to reach out to your Technical Quality Manager (TQM), your SAP Account, your Customer Success Partner (CSP), or our central entry channel, the Virtual Project Room (VPR) to unleash the full potential of SAC, the unrivaled symphony of data insights that elevate your business intelligence to new heights.<BR /> <H2 id="toc-hId--411574017">Conclusion</H2><BR /> The SAP Analytics Strategy Workshop is more than a service; it's a strategic partnership in navigating the complex landscape of data-driven decision-making. As organizations embark on this journey, they do not merely adapt – they evolve into Intelligent Enterprises, equipped to thrive in an era where data is not just a resource but a strategic advantage. The future of analytics and data management is now, and with SAP, it's intelligent, insightful, and ready for whatever comes next. 2023-12-11T09:49:49+01:00 https://community.sap.com/t5/financial-management-blogs-by-sap/attribute-based-access-control-abac-field-masking-scenario-in-analytical/ba-p/13573564 Attribute Based Access Control (ABAC) – Field Masking scenario in Analytical Queries using Query Browser app 2023-12-18T06:40:22+01:00 AmitKrSingh https://community.sap.com/t5/user/viewprofilepage/user-id/626509 <H3 id="toc-hId-1093009955">Introduction</H3><BR /> In this blog, we will learn how to mask&nbsp;<EM>Stock Quantity </EM>field information based on&nbsp;<EM>Stock Material</EM>&nbsp;field information of <STRONG>C_STOCKQUANTITYCURRENTVALUE</STRONG> (<EM>Current Stock Quantity and Value) </EM>Analytical Query<EM>.</EM> <EM>Analytical Queries</EM>&nbsp;are used for reporting and analysis.<BR /> <BR /> <EM>Stock Quantity </EM>field information of <STRONG>C_STOCKQUANTITYCURRENTVALUE</STRONG> (<EM>Current Stock Quantity and Value)</EM><EM>&nbsp;</EM>Analytical Query need to be masked where<EM> “Stock Material” </EM>is<EM> “CCMPROD01”, “CCMPROD03”, “CCMPROD05”, “CCMPROD07”, </EM>and<EM> “CCMPROD09”. </EM>For other<EM> “Stock Material”, “Stock Quantity” </EM>field will appear as unmasked.<BR /> <BR /> <EM>Attribute based authorizations</EM>&nbsp;are dynamic determination mechanism which determines whether a user is authorized to access specific data sets which can be based on the&nbsp;<EM>context attributes</EM>&nbsp;of the user and data (for example, price of certain sensitive materials are masked).<BR /> <H3 id="toc-hId-896496450">S/4HANA Embedded Analytics</H3><BR /> <EM>Analytics</EM>&nbsp;is one of the most typical and tangible value of&nbsp;<EM>S/4HANA</EM>.&nbsp;<EM>S/4HANA Embedded Analytics</EM>&nbsp;is the function for real-time operational analytics in S/4HANA. It consists of ABAP CDS Views as data source and Fiori Analytical application as the frontend. As the frontend, other than S/4HANA Embedded Analytics,&nbsp;<EM>SAP Analytics Cloud</EM>&nbsp;is available which is used together with&nbsp;<EM>S/4HANA embedded analytics</EM>.<BR /> <H3 id="toc-hId-699982945">SAP Query Browser app</H3><BR /> SAP&nbsp;<STRONG>Query Browser</STRONG>&nbsp;is a powerful Fiori app for embedded analytics which is used to view, retrieve, and analyze analytical queries. It is used to search, browse, and tag the analytical queries quickly and easily. It is available as a tile in SAP Fiori Launchpad. It displays all the authorized SAP standard and custom analytical queries to which the user has access.<BR /> <BR /> <STRONG>SAP_BR_EMPLOYEE</STRONG>&nbsp;Query Browser role must be assigned to a user to access the Query Browser app.<BR /> <BR /> To launch the Query Browser application, choose&nbsp;<STRONG>Query Browser</STRONG>&nbsp;from the&nbsp;<STRONG>Query Browser</STRONG>&nbsp;catalog.<BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/11/14-7.png" /><BR /> <BR /> In&nbsp;<EM>Query Browser</EM>&nbsp;app, analytical queries can be searched using view names, view descriptions, view column names, annotations, tables, and user added tags.<BR /> <BR /> Here, we will use&nbsp;SAP<STRONG>&nbsp;Query</STRONG>&nbsp;<STRONG>Browser</STRONG>&nbsp;to showcase masking of sensitive fields of analytical queries. We will configure <EM>Masking </EM>through&nbsp;<STRONG>Manage Sensitive Attributes</STRONG>&nbsp;app provided by&nbsp;<EM>UI Data Protection Masking for SAP S/4HANA 2011</EM>&nbsp;solution based on&nbsp;<EM>Attribute Based Authorization Control (ABAC)&nbsp;</EM>concept.<BR /> <H3 id="toc-hId-503469440">Manage Sensitive Attributes app</H3><BR /> The&nbsp;<EM>Manage Sensitive Attributes</EM>&nbsp;application allows you to maintain configuration for UI data protection in an SAP Fiori-based UI.<BR /> <BR /> This application brings together several individual transactions, simplifying the maintenance of masking configuration and presenting a holistic picture to the end user. With this app, you can:<BR /> <UL><BR /> <LI>Create, update, and delete sensitive attributes</LI><BR /> <LI>Define masking and blocking configurations</LI><BR /> <LI>Manage technical attribute mappings</LI><BR /> <LI>Create and assign context attributes</LI><BR /> <LI>Create and assign derived attributes and lists of values</LI><BR /> </UL><BR /> You can use the app on your desktop, tablet, or smartphone.<BR /> <H3 id="toc-hId-306955935">Prerequisite</H3><BR /> <EM>UI Data Protection Masking for SAP S/4HANA</EM>&nbsp;is a solution that allows you to protect restricted and sensitive data values at field level by masking, clearing, or disabling fields for those users who are not authorized to view or edit this data.<BR /> <BR /> Product “<EM>UI data protection masking for SAP S/4HANA</EM>” is used in this scenario to protect sensitive data at field level and must be installed in the&nbsp;<EM>S/4HANA</EM>&nbsp;system.<BR /> <BR /> The product is a cross-application product which can be used to mask/protect any field in&nbsp;<EM>SAP GUI</EM>,&nbsp;<EM>SAPUI5/SAP Fiori</EM>,&nbsp;<EM>CRM Web Client UI</EM>, and&nbsp;<EM>Web Dynpro ABAP</EM>.<BR /> <H3 id="toc-hId-110442430">Requirement</H3><BR /> Here, we want to configure masking for <EM>Stock Quantity </EM>field information based on&nbsp;<EM>Stock Material</EM>&nbsp;field information of <STRONG>C_STOCKQUANTITYCURRENTVALUE</STRONG> (<EM>Current Stock Quantity and Value)</EM><EM>&nbsp;</EM>Analytical Query&nbsp;result using&nbsp;<EM>Attribute-based authorization concept</EM>.<BR /> <BR /> Product “<EM>UI data protection masking for SAP S/4HANA 2011</EM>” is used in this scenario to protect sensitive data at field level and must be installed in the S/4HANA system.<BR /> <H3 id="toc-hId--86071075">Let’s begin</H3><BR /> <H4 id="toc-hId--153501861">Configuration to achieve masking Stock Quantity field</H4><BR /> Login to Fiori Launchpad and click on “<STRONG>Manage Sensitive Attributes</STRONG>” app available under “<EM>UI data protection masking</EM>” catalog.<BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/11/15-6.png" /><BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/11/16-6.png" /><BR /> <H4 id="toc-hId--350015366">Maintain Sensitive Attributes</H4><BR /> A&nbsp;<EM>Sensitive Attribute</EM>&nbsp;is a type of logical attribute that define a field which needs to be configured for UI data protection.<BR /> <UL><BR /> <LI>Click on&nbsp;<STRONG>Add</STRONG>&nbsp;icon</LI><BR /> </UL><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/07/202.png" /><BR /> <UL><BR /> <LI>Enter “<EM>LA_EA_STOCK_QTY</EM>” in Sensitive Attribute field</LI><BR /> <LI>Enter “<EM>EA Stock Quantity</EM>” in Description field</LI><BR /> <LI>Click on “<EM>Create</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/313.png" /></P><BR /> <BR /> <UL><BR /> <LI>Sensitive Attribute with specified details will be created.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/314.png" /></P><BR /> <BR /> <H4 id="toc-hId--546528871">Maintain Mapping to Technical Addresses</H4><BR /> In the&nbsp;<EM>Manage Sensitive Attributes</EM>&nbsp;application, you can link technical addresses of fields to sensitive attributes. A&nbsp;<EM>technical address</EM>&nbsp;describes the exact technical path or technical information which is used by the solution to process the field for UI data protection masking.<BR /> <BR /> To suppress the records in&nbsp;<EM>Analytical Queries</EM>, Technical Information (<EM>InfoProvider-Query-InfoObject</EM>) is required. To retrieve the Technical Address for Analytical Query fields, you need to use&nbsp;<EM>Recording Tool</EM>&nbsp;feature to get the Technical Address as Technical Information on press of&nbsp;<EM>F1</EM>&nbsp;key is not available here.<BR /> <BR /> Refer to this&nbsp;<A href="https://blogs.sap.com/2022/11/14/ui-data-protection-how-to-use-recording-tool-for-masking-in-analytical-queries/" target="_blank" rel="noopener noreferrer">blog</A>&nbsp;to know how to use the&nbsp;<EM>Recording tool</EM>.<BR /> <BR /> Under&nbsp;<STRONG>Technical Mapping</STRONG>&nbsp;&gt;&nbsp;<STRONG>Analytics</STRONG>, choose the&nbsp;<STRONG>Add</STRONG>&nbsp;icon.<BR /> <BR /> Use the value help to select the&nbsp;<EM>InfoProvider</EM>,&nbsp;<EM>Query</EM>, and&nbsp;<EM>InfoObject</EM>&nbsp;information. You can also enter the referenced query name as a comment to describe the mapping.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/315.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/316.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/317.png" /></P><BR /> <BR /> <H4 id="toc-hId--1240759471">Maintain Context Attributes</H4><BR /> In the&nbsp;<EM>Manage Sensitive Attributes</EM>&nbsp;application, you can create and update&nbsp;<EM>context attributes</EM>, and map them to&nbsp;<EM>sensitive attributes</EM>.<BR /> <BR /> A&nbsp;<EM>context attribute</EM>&nbsp;is a type of logical attribute which is used to define the context within which a sensitive attribute is to be protected.<BR /> <UL class="ol steps"><BR /> <LI class="li step"><SPAN class="ph cmd">To assign a&nbsp;<EM>context attribute</EM>&nbsp;to a&nbsp;<EM>sensitive attribute</EM>, under&nbsp;<STRONG><SPAN class="ph uicontrol">Context Attributes</SPAN></STRONG>, choose the&nbsp;<STRONG><SPAN class="ph uicontrol">Add</SPAN></STRONG>&nbsp;icon.</SPAN></LI><BR /> <LI class="li step"><SPAN class="ph cmd">To create a new&nbsp;<EM>context attribute</EM>, select&nbsp;<STRONG><SPAN class="ph uicontrol">Create New</SPAN></STRONG>, enter the name of the context attribute beginning with&nbsp;<STRONG><SPAN class="ph uicontrol">LA_</SPAN></STRONG>&nbsp;and a description.</SPAN></LI><BR /> <LI>Open a&nbsp;<EM>context attribute</EM>&nbsp;by tapping the arrow next to it and under&nbsp;<STRONG><SPAN class="ph uicontrol">Technical Mapping</SPAN></STRONG>, you can map technical addresses to the context attribute in the same way we did for sensitive attribute</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/318.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/319.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/320.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/321.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/322.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/323.png" /></P><BR /> <BR /> <H4 id="toc-hId--1437272976">Maintain Additional Attributes – Configure Value Range</H4><BR /> In the&nbsp;<EM>Manage Sensitive Attributes</EM>&nbsp;application, you can create and update&nbsp;<EM>value ranges</EM>&nbsp;to provide context for protecting a sensitive attribute.<BR /> <BR /> A&nbsp;<EM>Value Range</EM>&nbsp;is a static collection of values that can be used as the context within which a sensitive attribute is to be protected.<BR /> <BR /> <SPAN class="ph cmd">To create a new value range for,Sensitive Stock Materials</SPAN><BR /> <UL><BR /> <LI>Navigate to “Additional Attributes” tab</LI><BR /> <LI>Click on “Value Ranges” option</LI><BR /> <LI>Click on “<STRONG>Add</STRONG>” icon</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/324.png" /></P><BR /> <BR /> <UL><BR /> <LI><SPAN class="ph cmd">Select “<SPAN class="ph uicontrol"><EM>Create New</EM>“</SPAN></SPAN></LI><BR /> <LI><SPAN class="ph cmd">Select Range Type as “<EM>List of Values</EM>“</SPAN></LI><BR /> <LI><SPAN class="ph cmd">Enter the name of the value range beginning with&nbsp;<EM>V<SPAN class="ph uicontrol">R_</SPAN></EM>&nbsp;for a list of values as “<EM>VR_STOCK_MATERIAL</EM>“</SPAN></LI><BR /> <LI><SPAN class="ph cmd">Description as “<EM>List of Stock Materials”</EM></SPAN></LI><BR /> <LI><SPAN class="ph cmd">Click on “<EM>Create</EM>” button.</SPAN></LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/325.png" /></P><BR /> <BR /> <UL><BR /> <LI>Value Range with specified details will be created.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/326.png" /></P><BR /> <BR /> <UL><BR /> <LI>Click on <SPAN class="ph cmd"><EM>VR_STOCK_MATERIAL</EM></SPAN>&nbsp;link to add values in this Value Range. You will be navigated to&nbsp;<EM>Manage Derived Attributes/Value Ranges</EM>&nbsp;app</LI><BR /> <LI>Click on&nbsp;<EM>Include Value</EM>&nbsp;option under&nbsp;<EM>Maintain List of Values</EM>&nbsp;tab</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/327.png" /></P><BR /> <BR /> <UL><BR /> <LI>Click on “<STRONG>Add</STRONG>” icon under&nbsp;<EM>Include Value</EM>&nbsp;section</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/328.png" /></P><BR /> <BR /> <UL><BR /> <LI>Enter “<EM>Value</EM>” as “CCMPROD01”</LI><BR /> <LI>Enter “<EM>Comment</EM>” as “CCM Product 1”</LI><BR /> <LI>Click on “<EM>Create</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/329-1.png" /></P><BR /> <BR /> <H5 id="toc-hId--1927189488">Enter following entries in “VR_STOCK_MATERIAL” Value Range</H5><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/330.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/331.png" /></P><BR /> <BR /> <H4 id="toc-hId--1830299986">Masking Configuration</H4><BR /> In the&nbsp;<EM>Manage Sensitive Attributes</EM>&nbsp;application, you can configure masking for a sensitive attribute to define in detail how it is to be protected in the system.&nbsp;<EM>Masking configuration</EM>&nbsp;defines which fields are to be masked for unauthorized users and in which contexts.<BR /> <BR /> To configure masking for a sensitive attribute, under&nbsp;<STRONG>Configuration</STRONG>&nbsp;&gt;&nbsp;<STRONG>Masking Configuration</STRONG>, choose&nbsp;<STRONG>Edit</STRONG>.<BR /> <UL><BR /> <LI><EM>Enable</EM>&nbsp;masking.</LI><BR /> <LI>Select <EM>Attribute Based authorization</EM> concept.</LI><BR /> <LI>Click on “<STRONG>Add</STRONG>” icon next to “<EM>Policy</EM>” edit box</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/332.png" /></P><BR /> <BR /> <UL id="loio9aef9bf92f1d4d0790acb92c355dd671__substeps_hhb_mwf_5nb" class="ol substeps" type="a"><BR /> <LI class="li substep"><SPAN class="ph cmd">Enter Policy Name as “<EM>POL_MASK_STOCKINFO</EM>“.</SPAN></LI><BR /> <LI>Enter Description as “<EM>Mask Stock info based on Stock Material in Embedded Analytics Query</EM>“.</LI><BR /> <LI class="li substep"><SPAN class="ph cmd">Click on “<EM>Create</EM>” button.</SPAN></LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/333.png" /></P><BR /> <BR /> <UL><BR /> <LI>Policy will get created.</LI><BR /> <LI>Click on “<EM>Save</EM>” button.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/334.png" /></P><BR /> <BR /> <UL><BR /> <LI>Click on “<EM>Mask Stock info based on Stock Material in Embedded Analytics Query</EM><EM> (<SPAN class="ph cmd">POL_MASK_STOCKINFO</SPAN>)</EM>” link. You will be navigated to “<EM>Manage ABAC Policies</EM>” app</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/335-1.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/336.png" /></P><BR /> <BR /> <UL><BR /> <LI>Choose “<EM>Edit</EM>” under “<EM>Rule</EM>” section of Policy</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/337.png" /></P><BR /> <BR /> <UL><BR /> <LI>ABAC Policy Cockpit will be opened</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/338.png" /></P><BR /> <BR /> <H5 id="toc-hId-1974750798">Write following logic into Policy</H5><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/339.png" /></P><BR /> <BR /> <H4 id="toc-hId-2071640300">Masking in Analytical Query</H4><BR /> <UL><BR /> <LI>Click on&nbsp;<EM>Query Browser</EM>&nbsp;app</LI><BR /> </UL><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/11/25-1.png" /><BR /> <UL><BR /> <LI>Enter “<EM>C_STOCKQUANTITYCURRENTVALUE</EM>” in Search field and click on “<EM>Search</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/341.png" /></P><BR /> <BR /> <UL><BR /> <LI>Select the checkbox and click on “<EM>Open for Analysis</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/342.png" /></P><BR /> <BR /> <UL><BR /> <LI>Enter highlighted search criteria in the corresponding fields and click on “<EM>OK</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/343.png" /></P><BR /> <BR /> <UL><BR /> <LI><EM>Stock Quantity</EM> field value will appear as masked where Stock Material is "<EM>CCMPROD01</EM>", "<EM>CCMPROD03</EM>", "<EM>CCMPROD05</EM>", "<EM>CCMPROD07</EM>", and "<EM>CCMPROD09</EM>".</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/345.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/346.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/348.png" /></P><BR /> <BR /> <H5 id="toc-hId-1581723788">Note: For&nbsp;<EM>Stock Quantity</EM> field,&nbsp;original value&nbsp;will be replaced by&nbsp;0.00&nbsp;as the same is a Key figure and a notification will also be displayed by the system for the same.</H5><BR /> <H3 id="toc-hId-1972016297">Conclusion</H3><BR /> In this blog post, we have learnt how&nbsp;<EM>Attribute-based masking</EM>&nbsp;is achieved in&nbsp;<EM>Analytical Queries</EM>&nbsp;in SAP Query Browser app&nbsp;for masking sensitive field information.<BR /> <UL id="loio9aef9bf92f1d4d0790acb92c355dd671__substeps_hhb_mwf_5nb" class="ol substeps" type="a"></UL> 2023-12-18T06:40:22+01:00 https://community.sap.com/t5/financial-management-blogs-by-sap/attribute-based-access-control-abac-field-masking-scenario-in-analytical/ba-p/13574493 Attribute Based Access Control (ABAC) – Field Masking scenario in Analytical Queries using SAP Analytics Cloud 2023-12-18T06:44:43+01:00 AmitKrSingh https://community.sap.com/t5/user/viewprofilepage/user-id/626509 <H3 id="toc-hId-1093038877">Introduction</H3><BR /> In this blog, we will learn how to mask <EM>Controlling Area </EM>field information based on <EM>Order Number</EM> field information of&nbsp;<STRONG>Production Cost by Order</STRONG>&nbsp;(<EM><SPAN class="sapMOHRTitleTextContainer"><SPAN id="__xmlview13--VB_VIEW_HEADER-txt" class="sapMOHRTitleText">C_PRODUCTCOSTBYORDERQUERY</SPAN></SPAN>) </EM>Analytical Query displayed in SAP Analytics Cloud Story.&nbsp;<EM>Analytical Queries</EM>&nbsp;are used for reporting and analysis.<BR /> <BR /> <EM>Attribute based authorizations</EM>&nbsp;are dynamic determination mechanism which determines whether a user is authorized to access specific data sets which can be based on the&nbsp;<EM>context attributes</EM>&nbsp;of the user and data (for example, price of certain sensitive materials are masked).<BR /> <H3 id="toc-hId-896525372">S/4HANA Embedded Analytics</H3><BR /> <EM>Analytics</EM>&nbsp;is one of the most typical and tangible value of&nbsp;<EM>S/4HANA</EM>.&nbsp;<EM>S/4HANA Embedded Analytics</EM>&nbsp;is the function for real-time operational analytics in S/4HANA. It consists of ABAP CDS Views as data source and Fiori Analytical application as the frontend. As the frontend, other than S/4HANA Embedded Analytics,&nbsp;<EM>SAP Analytics Cloud</EM>&nbsp;is available which is used together with&nbsp;<EM>S/4HANA embedded analytics</EM>.<BR /> <H3 id="toc-hId-700011867">SAP Analytics Cloud</H3><BR /> <EM>SAP Analytics Cloud</EM>&nbsp;is an end-to-end cloud solution that brings together business intelligence and enterprise planning, augmented with the power of artificial intelligence, machine learning technology, and predictive analytics in a single system.<BR /> <BR /> The main benefits of SAP Analytics Cloud include ease of viewing content, connectivity to trusted data, access to various visualization tools, augmented analytic capabilities, and financial planning features. In a single cloud system one can analyze, ask, predict, plan, and report.<BR /> <BR /> <EM>Stories</EM>&nbsp;are main part of SAP Analytics to explore data and to find deep insight using charts and tables. An&nbsp;<EM>SAP Analytics Cloud Story</EM>&nbsp;is a presentation-style document that uses charts, visualizations, text, images, and pictograms to describe data.<BR /> <BR /> Here, we will use&nbsp;<STRONG>Story</STRONG> to showcase masking of sensitive fields of analytical queries in&nbsp;<EM>SAP Analytics Cloud</EM>. We will configure masking through&nbsp;<STRONG>Manage Sensitive Attributes</STRONG>&nbsp;app provided by&nbsp;<EM>UI Data Protection Masking for SAP S/4HANA 2011</EM>&nbsp;solution based on&nbsp;<EM>Attribute Based Authorization Control (ABAC)&nbsp;</EM>concept.<BR /> <H3 id="toc-hId-503498362">Manage Sensitive Attributes app</H3><BR /> The&nbsp;<EM>Manage Sensitive Attributes</EM>&nbsp;application allows you to maintain configuration for UI data protection in an SAP Fiori-based UI.<BR /> <BR /> This application brings together several individual transactions, simplifying the maintenance of masking configuration and presenting a holistic picture to the end user. With this app, you can:<BR /> <UL><BR /> <LI>Create, update, and delete sensitive attributes</LI><BR /> <LI>Define masking and blocking configurations</LI><BR /> <LI>Manage technical attribute mappings</LI><BR /> <LI>Create and assign context attributes</LI><BR /> <LI>Create and assign derived attributes and lists of values</LI><BR /> </UL><BR /> You can use the app on your desktop, tablet, or smartphone.<BR /> <H3 id="toc-hId-306984857">Prerequisite</H3><BR /> <EM>UI Data Protection Masking for SAP S/4HANA</EM>&nbsp;is a solution that allows you to protect restricted and sensitive data values at field level by masking, clearing, or disabling fields for those users who are not authorized to view or edit this data.<BR /> <BR /> Product “<EM>UI data protection masking for SAP S/4HANA</EM>” is used in this scenario to protect sensitive data at field level and must be installed in the&nbsp;<EM>S/4HANA</EM>&nbsp;system.<BR /> <BR /> The product is a cross-application product which can be used to mask/protect any field in&nbsp;<EM>SAP GUI</EM>,&nbsp;<EM>SAPUI5/SAP Fiori</EM>,&nbsp;<EM>CRM Web Client UI</EM>, and&nbsp;<EM>Web Dynpro ABAP</EM>.<BR /> <H3 id="toc-hId-110471352">Requirement</H3><BR /> Here, we want to configure masking for <STRONG>Controlling Area</STRONG>&nbsp;field based on <EM>Order Number</EM> field information in <STRONG>Production Cost by Order</STRONG>&nbsp;story in SAP Analytics Cloud using&nbsp;<EM>Attribute-based authorization concept</EM>.<BR /> <BR /> Product “<EM>UI data protection masking for SAP S/4HANA 2011</EM>” is used in this scenario to protect sensitive data at field level and must be installed in the S/4HANA system.<BR /> <H3 id="toc-hId--86042153">Let’s begin</H3><BR /> <H4 id="toc-hId--153472939">Configuration to achieve masking Controlling Area field</H4><BR /> Login to Fiori Launchpad and click on “<STRONG>Manage Sensitive Attributes</STRONG>” app available under “<EM>UI data protection masking</EM>” catalog.<BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/11/15-6.png" /><BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/11/16-6.png" /><BR /> <H4 id="toc-hId--349986444">Maintain Sensitive Attributes</H4><BR /> A&nbsp;<EM>Sensitive Attribute</EM>&nbsp;is a type of logical attribute that define a field which needs to be configured for UI data protection.<BR /> <UL><BR /> <LI>Click on&nbsp;<STRONG>Add</STRONG>&nbsp;icon</LI><BR /> </UL><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/07/202.png" /><BR /> <UL><BR /> <LI>Enter “<EM>LA_EA_CONTROL_AREA</EM>” in Sensitive Attribute field</LI><BR /> <LI>Enter “<EM>EA Controlling Area</EM>” in Description field</LI><BR /> <LI>Click on “<EM>Create</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/349.png" /></P><BR /> <BR /> <UL><BR /> <LI>Sensitive Attribute with specified details will be created.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/350.png" /></P><BR /> <BR /> <H4 id="toc-hId--546499949">Maintain Mapping to Technical Addresses</H4><BR /> In the&nbsp;<EM>Manage Sensitive Attributes</EM>&nbsp;application, you can link technical addresses of fields to sensitive attributes. A&nbsp;<EM>technical address</EM>&nbsp;describes the exact technical path or technical information which is used by the solution to process the field for UI data protection masking.<BR /> <BR /> To suppress the records in&nbsp;<EM>Analytical Queries</EM>, Technical Information (<EM>InfoProvider-Query-InfoObject</EM>) is required. To retrieve the Technical Address for Analytical Query fields, you need to use&nbsp;<EM>Recording Tool</EM>&nbsp;feature to get the Technical Address as Technical Information on press of&nbsp;<EM>F1</EM>&nbsp;key is not available here.<BR /> <BR /> Refer to this&nbsp;<A href="https://blogs.sap.com/2022/11/14/ui-data-protection-how-to-use-recording-tool-for-masking-in-analytical-queries/" target="_blank" rel="noopener noreferrer">blog</A>&nbsp;to know how to use the&nbsp;<EM>Recording tool</EM>.<BR /> <BR /> Under&nbsp;<STRONG>Technical Mapping</STRONG>&nbsp;&gt;&nbsp;<STRONG>Analytics</STRONG>, choose the&nbsp;<STRONG>Add</STRONG>&nbsp;icon.<BR /> <BR /> Use the value help to select the&nbsp;<EM>InfoProvider</EM>,&nbsp;<EM>Query</EM>, and&nbsp;<EM>InfoObject</EM>&nbsp;information. You can also enter the referenced query name as a comment to describe the mapping.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/351.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/352.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/353.png" /></P><BR /> <BR /> <H4 id="toc-hId--1240730549">Maintain Context Attributes</H4><BR /> In the&nbsp;<EM>Manage Sensitive Attributes</EM>&nbsp;application, you can create and update&nbsp;<EM>context attributes</EM>, and map them to&nbsp;<EM>sensitive attributes</EM>.<BR /> <BR /> A&nbsp;<EM>context attribute</EM>&nbsp;is a type of logical attribute which is used to define the context within which a sensitive attribute is to be protected.<BR /> <UL class="ol steps"><BR /> <LI class="li step"><SPAN class="ph cmd">To assign a&nbsp;<EM>context attribute</EM>&nbsp;to a&nbsp;<EM>sensitive attribute</EM>, under&nbsp;<STRONG><SPAN class="ph uicontrol">Context Attributes</SPAN></STRONG>, choose the&nbsp;<STRONG><SPAN class="ph uicontrol">Add</SPAN></STRONG>&nbsp;icon.</SPAN></LI><BR /> <LI class="li step"><SPAN class="ph cmd">To create a new&nbsp;<EM>context attribute</EM>, select&nbsp;<STRONG><SPAN class="ph uicontrol">Create New</SPAN></STRONG>, enter the name of the context attribute beginning with&nbsp;<STRONG><SPAN class="ph uicontrol">LA_</SPAN></STRONG>&nbsp;and a description.</SPAN></LI><BR /> <LI>Open a&nbsp;<EM>context attribute</EM>&nbsp;by tapping the arrow next to it and under&nbsp;<STRONG><SPAN class="ph uicontrol">Technical Mapping</SPAN></STRONG>, you can map technical addresses to the context attribute in the same way we did for sensitive attribute</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/354.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/355.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/356.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/357.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/358.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/359.png" /></P><BR /> <BR /> <H4 id="toc-hId--1437244054">Maintain Additional Attributes – Configure Value Range</H4><BR /> In the&nbsp;<EM>Manage Sensitive Attributes</EM>&nbsp;application, you can create and update&nbsp;<EM>value ranges</EM>&nbsp;to provide context for protecting a sensitive attribute.<BR /> <BR /> A&nbsp;<EM>Value Range</EM>&nbsp;is a static collection of values that can be used as the context within which a sensitive attribute is to be protected.<BR /> <BR /> <SPAN class="ph cmd">To create a new value range for,Sensitive Stock Materials</SPAN><BR /> <UL><BR /> <LI>Navigate to “Additional Attributes” tab</LI><BR /> <LI>Click on “Value Ranges” option</LI><BR /> <LI>Click on “<STRONG>Add</STRONG>” icon</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/360.png" /></P><BR /> <BR /> <UL><BR /> <LI><SPAN class="ph cmd">Select “<SPAN class="ph uicontrol"><EM>Create New</EM>“</SPAN></SPAN></LI><BR /> <LI><SPAN class="ph cmd">Select Range Type as “<EM>List of Values</EM>“</SPAN></LI><BR /> <LI><SPAN class="ph cmd">Enter the name of the value range beginning with&nbsp;<EM>V<SPAN class="ph uicontrol">R_</SPAN></EM> for a list of values as “<EM>VR_ORDER_NUMBER</EM>“</SPAN></LI><BR /> <LI><SPAN class="ph cmd">Description as “<EM>List of Order Numbers”</EM></SPAN></LI><BR /> <LI><SPAN class="ph cmd">Click on “<EM>Create</EM>” button.</SPAN></LI><BR /> </UL><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/361.png" /><BR /> <UL><BR /> <LI>Value Range with specified details will be created.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/362.png" /></P><BR /> <BR /> <UL><BR /> <LI>Click on <SPAN class="ph cmd"><EM>VR_ORDER_NUMBER</EM></SPAN>&nbsp;link to add values in this Value Range. You will be navigated to&nbsp;<EM>Manage Derived Attributes/Value Ranges</EM>&nbsp;app</LI><BR /> <LI>Click on&nbsp;<EM>Include Value</EM>&nbsp;option under&nbsp;<EM>Maintain List of Values</EM>&nbsp;tab</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/363.png" /></P><BR /> <BR /> <UL><BR /> <LI>Click on “<STRONG>Add</STRONG>” icon under&nbsp;<EM>Include Value</EM>&nbsp;section</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/364.png" /></P><BR /> <BR /> <UL><BR /> <LI>Enter “<EM>Value</EM>” as “0000001000121”</LI><BR /> <LI>Enter “<EM>Comment</EM>” as “1000121”</LI><BR /> <LI>Click on “<EM>Create</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/365.png" /></P><BR /> <BR /> <H5 id="toc-hId--1927160566">Enter following entries in “VR_ORDER_NUMBER” Value Range</H5><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/366.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/367.png" /></P><BR /> <BR /> <H4 id="toc-hId--1830271064">Masking Configuration</H4><BR /> In the&nbsp;<EM>Manage Sensitive Attributes</EM>&nbsp;application, you can configure masking for a sensitive attribute to define in detail how it is to be protected in the system.&nbsp;<EM>Masking configuration</EM>&nbsp;defines which fields are to be masked for unauthorized users and in which contexts.<BR /> <BR /> To configure masking for a sensitive attribute, under&nbsp;<STRONG>Configuration</STRONG>&nbsp;&gt;&nbsp;<STRONG>Masking Configuration</STRONG>, choose&nbsp;<STRONG>Edit</STRONG>.<BR /> <UL><BR /> <LI><EM>Enable</EM>&nbsp;masking.</LI><BR /> <LI>Select&nbsp;<EM>Attribute Based authorization</EM>&nbsp;concept.</LI><BR /> <LI>Click on “<STRONG>Add</STRONG>” icon next to “<EM>Policy</EM>” edit box.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/368.png" /></P><BR /> <BR /> <UL id="loio9aef9bf92f1d4d0790acb92c355dd671__substeps_hhb_mwf_5nb" class="ol substeps" type="a"><BR /> <LI class="li substep"><SPAN class="ph cmd">Enter Policy Name as “<EM>POL_MASK_CTRAREA</EM>“.</SPAN></LI><BR /> <LI>Enter Description as “<EM>Mask Controlling Area based on Order Number in SAC Story</EM>“.</LI><BR /> <LI class="li substep"><SPAN class="ph cmd">Click on “<EM>Create</EM>” button.</SPAN></LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/371.png" /></P><BR /> <BR /> <UL><BR /> <LI>Policy will get created.</LI><BR /> <LI>Click on “<EM>Save</EM>” button.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/372-1.png" /></P><BR /> <BR /> <UL><BR /> <LI>Click on “<EM>Mask Controlling Area based on Order Number in SAC Story</EM><EM>&nbsp;(<SPAN class="ph cmd">POL_MASK_CTRAREA</SPAN>)</EM>” link. You will be navigated to “<EM>Manage ABAC Policies</EM>” app.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/373.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/374.png" /></P><BR /> <BR /> <UL><BR /> <LI>Choose “<EM>Edit</EM>” under “<EM>Rule</EM>” section of Policy.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/375.png" /></P><BR /> <BR /> <UL><BR /> <LI>ABAC Policy Cockpit will be opened.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/376.png" /></P><BR /> <BR /> <H5 id="toc-hId-1974779720">Write following logic into Policy</H5><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/377.png" /></P><BR /> <BR /> <H4 id="toc-hId-2071669222">Masking in SAP Analytics Cloud Story</H4><BR /> <UL><BR /> <LI>Login to&nbsp;<EM>SAP Analytics Cloud</EM>&nbsp;and Click on&nbsp;<EM>Stories&nbsp;</EM>menu option.</LI><BR /> </UL><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/08/238-1.png" /><BR /> <UL><BR /> <LI>Click on “<EM>Production Cost by Order</EM>” Story.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/369.png" /></P><BR /> <BR /> <UL><BR /> <LI><EM>Controlling Area</EM> field value will appear as masked where&nbsp;<EM>Order Number </EM>is&nbsp;<EM>“0000001000121”, “0000001000123”, "0000001000125", "0000001000127", </EM>and<EM> “0000001000129”</EM>.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/370.png" /></P><BR /> <BR /> <H3 id="toc-hId--2126408572">Conclusion</H3><BR /> In this blog post, we have learnt how&nbsp;<EM>Attribute-based masking</EM>&nbsp;is achieved in&nbsp;<EM>Analytical Queries</EM>&nbsp;in SAP Analytics Cloud for masking sensitive field information. 2023-12-18T06:44:43+01:00 https://community.sap.com/t5/financial-management-blogs-by-sap/attribute-based-access-control-abac-field-masking-scenario-in-analytical/ba-p/13572755 Attribute Based Access Control (ABAC) – Field Masking scenario in Analytical Queries using Query Monitor (RSRT TCode) in WD Grid (Embedded) Query Display mode 2023-12-18T06:45:18+01:00 AmitKrSingh https://community.sap.com/t5/user/viewprofilepage/user-id/626509 <H3 id="toc-hId-1092982056">Introduction</H3><BR /> In this blog, we will learn how to mask <EM>Supplier</EM>&nbsp;field information based on&nbsp;<EM>Company Code</EM> field information of&nbsp;<EM>Cash Discount Forecast </EM>Analytical Query<EM>.</EM>&nbsp;<EM>Analytical Queries</EM>&nbsp;are used for reporting and analysis.<BR /> <BR /> <EM>Supplier </EM>field information of <EM>Cash Discount Forecast </EM>Analytical Query need to be masked where<EM>&nbsp;“Company Code”&nbsp;</EM>is<EM> “KR01”, “RU04”, </EM>and<EM> “TP02”. </EM>For other<EM> “Company Code”, “Supplier” </EM>field will appear as unmasked.<BR /> <BR /> <EM>Attribute based authorizations</EM>&nbsp;are dynamic determination mechanism which determines whether a user is authorized to access specific data sets which can be based on the&nbsp;<EM>context attributes</EM>&nbsp;of the user and data (for example, price of certain sensitive materials are masked).<BR /> <H3 id="toc-hId-896468551">S/4HANA Embedded Analytics</H3><BR /> <EM>Analytics</EM>&nbsp;is one of the most typical and tangible values of&nbsp;<EM>S/4HANA</EM>.&nbsp;<EM>S/4HANA Embedded Analytics</EM>&nbsp;is the function for real-time operational analytics in S/4HANA. It consists of ABAP CDS Views as data source and Fiori Analytical application as the frontend. As the frontend, other than S/4HANA Embedded Analytics,&nbsp;<EM>SAP Analytics Cloud</EM>&nbsp;is available which is used together with&nbsp;<EM>S/4HANA embedded analytics</EM>.<BR /> <H3 id="toc-hId-699955046">Query Monitor (RSRT TCode)</H3><BR /> The&nbsp;<EM>Query Monitor</EM>&nbsp;tests, checks, and is used to test or regenerate queries and query views, and to check or change query properties. A detailed analysis of queries can be done with the transaction&nbsp;<EM>RSRT (Query Monitor)</EM>&nbsp;in a very convenient way. With the help of the&nbsp;<EM>Query Monitor</EM>&nbsp;you can run and analyze queries without a&nbsp;<EM>BW front end</EM>.<BR /> <BR /> To launch the&nbsp;<EM>Query Monitor</EM>, execute transaction&nbsp;<EM>RSRT</EM>.<BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/03/72.png" /><BR /> <BR /> Here, we will use&nbsp;<EM>Query Monitor</EM>&nbsp;to showcase masking of sensitive fields of analytical queries. We will configure masking through&nbsp;<EM>UI Data Protection Masking for SAP S/4HANA 2011</EM>&nbsp;solution based on&nbsp;<EM>Attribute Based Authorization Control (ABAC) concept</EM>.<BR /> <H3 id="toc-hId-503441541">Prerequisite</H3><BR /> <EM>UI Data Protection Masking for SAP S/4HANA</EM>&nbsp;is a solution that allows you to protect restricted and sensitive data values at field level by masking, clearing, or disabling fields for those users who are not authorized to view or edit this data.<BR /> <BR /> Product “<EM>UI data protection masking for SAP S/4HANA</EM>” is used in this scenario to protect sensitive data at field level and must be installed in the&nbsp;<EM>S/4HANA</EM>&nbsp;system.<BR /> <BR /> The product is a cross-application product which can be used to mask/protect any field in&nbsp;<EM>SAP GUI</EM>,&nbsp;<EM>SAPUI5/SAP Fiori</EM>,&nbsp;<EM>CRM Web Client UI</EM>, and&nbsp;<EM>Web Dynpro ABAP</EM>.<BR /> <H3 id="toc-hId-306928036">Requirement</H3><BR /> Here, we want to configure masking for <EM>Supplier</EM>&nbsp;field information based on&nbsp;<EM>Company Code</EM> field information in&nbsp;<EM>Cash Discount Forecast </EM>Analytical Query&nbsp;result using&nbsp;<EM>Attribute-based authorization concept</EM>.<BR /> <BR /> Product “<EM>UI data protection masking for SAP S/4HANA 2011</EM>” is used in this scenario to protect sensitive data at field level and must be installed in the S/4HANA system.<BR /> <H3 id="toc-hId-110414531">Let’s begin</H3><BR /> <H3 id="toc-hId--86098974">Configuration to achieve Masking</H3><BR /> <EM>Logical Attribute</EM>&nbsp;is a functional modelling of how any attribute such as&nbsp;<EM>Social Security Number</EM>,&nbsp;<EM>Bank Account Number</EM>,&nbsp;<EM>Amounts</EM>,&nbsp;<EM>Pricing information</EM>,&nbsp;<EM>Quantity</EM>&nbsp;etc. should behave with masking.<BR /> <H4 id="toc-hId--153529760">Configure Context Attribute</H4><BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Logical Attributes</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <BR /> Under “<EM>Maintain Logical Attributes</EM>”, maintain following logical attribute.<BR /> <H4 id="toc-hId--350043265">Company Code</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_COMP_CODE</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA Company Code”</EM></LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/274.png" /><BR /> <H4 id="toc-hId--546556770">Configure Sensitive Attribute</H4><BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Logical Attributes</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <BR /> Under “<EM>Maintain Logical Attributes</EM>”, maintain following logical attribute.<BR /> <H4 id="toc-hId--1240787370">Supplier Code</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_SUPL_CODE</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA Supplier Information”</EM></LI><BR /> <LI>Select “<EM>Is Sensitive</EM>” checkbox</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/286.png" /></P><BR /> <BR /> <H4 id="toc-hId--1437300875">Maintain Analytics Technical Address</H4><BR /> To suppress the records in&nbsp;<EM>Analytical Queries</EM>, Technical Information (<EM>InfoProvider-Query-InfoObject</EM>) is required. To retrieve the Technical Address for Analytical Query fields, you need to use&nbsp;<EM>Recording Tool</EM>&nbsp;feature to get the Technical Address as Technical Information on press of&nbsp;<EM>F1</EM>&nbsp;key is not available here.<BR /> <BR /> Refer to this&nbsp;<A href="https://blogs.sap.com/2022/11/14/ui-data-protection-how-to-use-recording-tool-for-masking-in-analytical-queries/" target="_blank" rel="noopener noreferrer">blog</A>&nbsp;to know how to use the&nbsp;<EM>Recording tool</EM>.<BR /> <BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Analytics Technical Address</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <BR /> Under “<EM>Analytics Technical Address</EM>”, maintain technical address for following field.<BR /> <H4 id="toc-hId--1633814380">Company Code</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>InfoProvider</EM>” as “<EM>2CIFIAPCSHDISC</EM>”</LI><BR /> <LI>Enter “<EM>Query</EM>” as “<EM>2CCFIAPCSHDISCFCST</EM>”</LI><BR /> <LI>Enter “<EM>InfoObject</EM>” as “<EM>2CIFICOMPANYCODE</EM>”</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_COMP_CODE</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA</EM>&nbsp;<EM>Company Code</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/287.png" /></P><BR /> <BR /> <H4 id="toc-hId--1830327885">Supplier Code</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>InfoProvider</EM>” as “<EM>2CIFIAPCSHDISC</EM>”</LI><BR /> <LI>Enter “<EM>Query</EM>” as “<EM>2CCFIAPCSHDISCFCST</EM>”</LI><BR /> <LI>Enter “<EM>InfoObject</EM>” as “<EM>2CI_SUPPLIER_CDS</EM>”</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_SUPL_CODE</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA</EM> <EM>Supplier Code</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/288.png" /></P><BR /> <BR /> <H4 id="toc-hId--2026841390">Configure Value Range</H4><BR /> <EM>Value Ranges</EM>&nbsp;are a set of pre-populated values which can be used to derive the context under which an action should be executed.<BR /> <H5 id="toc-hId-1778209394">Follow the given path:</H5><BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Attributes and Ranges for Policy -&gt; List of Values Definition</EM>&nbsp;– Follow below mentioned steps:<BR /> <H5 id="toc-hId-1581695889">Sensitive Company List</H5><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>List of</EM>&nbsp;<EM>Values</EM>” as “<EM>VR_PROTECTED_COMPANY_CODE</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>Protected Company Codes</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/07/165.png" /><BR /> <H5 id="toc-hId-1385182384">Enter following entries in “VR_PROTECTED_COMPANY_CODE” Value Range</H5><BR /> Follow below mentioned steps:<BR /> <UL><BR /> <LI>Execute Transaction Code “<EM>/UISM/V_RANGE</EM>”</LI><BR /> <LI>Click on “<EM>VR_PROTECTED_COMPANY_CODE</EM>” Value Range</LI><BR /> <LI>Click on “<EM>Display&lt;- -&gt; Change</EM>” button</LI><BR /> <LI>Click on “<EM>Add New Entry</EM>” button</LI><BR /> <LI>Add following entries&nbsp;under “<EM>Include Value</EM>” tab and click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/289.png" /></P><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/07/167.png" /><BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/07/168.png" /><BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/07/169.png" /><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/290.png" /></P><BR /> <BR /> <H4 id="toc-hId-1482071886">Policy Configuration</H4><BR /> A&nbsp;<EM>Policy</EM>&nbsp;is a combination of&nbsp;<EM>rules</EM>&nbsp;and&nbsp;<EM>actions</EM>&nbsp;which are defined in one or more&nbsp;<EM>blocks</EM>. The&nbsp;<EM>actions</EM>&nbsp;are executed on a&nbsp;<EM>sensitive entity</EM>&nbsp;(field to be protected) which has to be assigned to a&nbsp;<EM>Policy</EM>. The conditions are based on&nbsp;<EM>contextual attributes</EM>&nbsp;which help derive the context.<BR /> <BR /> <EM>Context Attributes</EM>&nbsp;are&nbsp;<EM>logical attributes</EM>&nbsp;which are used in designing the&nbsp;<EM>rules</EM>&nbsp;of a&nbsp;<EM>policy</EM>. They are mapped to fields which are used to derive the context under which an action is to be executed on a&nbsp;<EM>sensitive entity</EM>.<BR /> <BR /> <EM>Sensitive Entities</EM>&nbsp;are&nbsp;<EM>logical attributes</EM>&nbsp;which are sensitive and need to be protected from unauthorized access.<BR /> <H5 id="toc-hId-992155374">Follow the given path:</H5><BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Masking and Blocking Configuration -&gt; Maintain Policy Details for Attribute based Authorizations</EM>&nbsp;– Follow below mentioned steps:<BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Policy Name</EM>” as “<EM>POL_MASK_SUPPLIER</EM>”</LI><BR /> <LI>Select “<EM>Type</EM>” as “<EM>Field Level Masking</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>Mask Supplier based on Company Code in EA Query</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/291.png" /></P><BR /> <BR /> <H5 id="toc-hId-963825560">Write following logic into Policy</H5><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/292.png" /></P><BR /> <BR /> <H4 id="toc-hId-1060715062">Maintain Field Level Security and Masking Configuration</H4><BR /> Here, we will define how masking will behave with the logical attribute that we created in the above step.<BR /> <BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Masking and Blocking Configuration -&gt; Maintain Field Level Security and Masking Configuration</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Sensitive Entity</EM>” as “<EM>LA_EA_SUPL_CODE</EM>” and press “<EM>Enter</EM>” key. “<EM>Description</EM>” will get populated in corresponding fields</LI><BR /> <LI>Check “<EM>Enable Configuration</EM>” checkbox</LI><BR /> <LI>Select “<EM>Attribute Based Authorization</EM>” option</LI><BR /> <LI>Enter “Policy Name” as “<EM>POL_MASK_SUPPLIER</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/293.png" /></P><BR /> <BR /> <H3 id="toc-hId-1157604564">Masking in WD Grid (embedded) Query Display Mode</H3><BR /> Follow below mentioned steps:<BR /> <UL><BR /> <LI>Execute “<EM>RSRT</EM>” TCode</LI><BR /> <LI>Enter “Q<EM>uery</EM>” as “<EM>2CIFIAPCSHDISC/2CCFIAPCSHDISCFCST</EM>”</LI><BR /> <LI>Select “<EM>Query Display</EM>” mode as “<EM>WD Grid (embedded)</EM>”</LI><BR /> <LI>Click on “<EM>Execute</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/294.png" /></P><BR /> <BR /> <UL><BR /> <LI>Enter highlighted search criteria in the corresponding fields and click on “<EM>Go</EM>” button.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/295.png" /></P><BR /> <BR /> <UL><BR /> <LI><EM>Supplier Code </EM>and<EM> Description</EM>&nbsp;field value will appear as masked where&nbsp;<EM>Company Code</EM>&nbsp;is <EM>“KR01”, “RU04”, </EM>and<EM> “TP02”</EM>.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/296.png" /></P><BR /> <BR /> <H3 id="toc-hId-961091059">Conclusion</H3><BR /> In this blog post, we have learnt how&nbsp;<EM>Attribute-based masking</EM>&nbsp;is achieved in&nbsp;<EM>Analytical Queries</EM>&nbsp;in&nbsp;<EM>Query Monitor (RSRT TCode)</EM> in&nbsp;<EM>WD Grid (Embedded)</EM>&nbsp;Query Display mode for masking sensitive field information. 2023-12-18T06:45:18+01:00 https://community.sap.com/t5/financial-management-blogs-by-sap/attribute-based-access-control-abac-field-masking-scenario-in-analytical/ba-p/13572862 Attribute Based Access Control (ABAC) – Field Masking scenario in Analytical Queries using Query Monitor (RSRT TCode) in WD Grid Query Display mode 2023-12-18T06:45:48+01:00 AmitKrSingh https://community.sap.com/t5/user/viewprofilepage/user-id/626509 <H3 id="toc-hId-1092983045">Introduction</H3><BR /> In this blog, we will learn how to mask <EM>Chart of Account</EM> field information based on&nbsp;<EM>G/L Account</EM> field information of&nbsp;<EM>Aging Analysis Smart Business app </EM>Analytical Query<EM>.</EM>&nbsp;<EM>Analytical Queries</EM>&nbsp;are used for reporting and analysis.<BR /> <BR /> <EM>Chart of Account </EM>field information of <EM>Aging Analysis Smart Business app </EM>Analytical Query need to be masked where<EM> “G/L Account” </EM>is<EM> “0011230000”, “0013111000”, "0022010001", "0022020001", </EM>and<EM> “0024643000”. </EM>For other<EM> “G/L Account”, “Chart of Account” </EM>field will appear as unmasked.<BR /> <BR /> <EM>Attribute based authorizations</EM>&nbsp;are dynamic determination mechanism which determines whether a user is authorized to access specific data sets which can be based on the&nbsp;<EM>context attributes</EM>&nbsp;of the user and data (for example, price of certain sensitive materials are masked).<BR /> <H3 id="toc-hId-896469540">S/4HANA Embedded Analytics</H3><BR /> <EM>Analytics</EM>&nbsp;is one of the most typical and tangible values of&nbsp;<EM>S/4HANA</EM>.&nbsp;<EM>S/4HANA Embedded Analytics</EM>&nbsp;is the function for real-time operational analytics in S/4HANA. It consists of ABAP CDS Views as data source and Fiori Analytical application as the frontend. As the frontend, other than S/4HANA Embedded Analytics,&nbsp;<EM>SAP Analytics Cloud</EM>&nbsp;is available which is used together with&nbsp;<EM>S/4HANA embedded analytics</EM>.<BR /> <H3 id="toc-hId-699956035">Query Monitor (RSRT TCode)</H3><BR /> The&nbsp;<EM>Query Monitor</EM>&nbsp;tests, checks, and is used to test or regenerate queries and query views, and to check or change query properties. A detailed analysis of queries can be done with the transaction&nbsp;<EM>RSRT (Query Monitor)</EM>&nbsp;in a very convenient way. With the help of the&nbsp;<EM>Query Monitor</EM>&nbsp;you can run and analyze queries without a&nbsp;<EM>BW front end</EM>.<BR /> <BR /> To launch the&nbsp;<EM>Query Monitor</EM>, execute transaction&nbsp;<EM>RSRT</EM>.<BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/03/76.png" /><BR /> <BR /> Here, we will use&nbsp;<EM>Query Monitor</EM>&nbsp;to showcase masking of sensitive fields of analytical queries. We will configure masking through&nbsp;<EM>UI Data Protection Masking for SAP S/4HANA 2011</EM>&nbsp;solution based on&nbsp;<EM>Attribute Based Authorization Control (ABAC) concept</EM>.<BR /> <H3 id="toc-hId-503442530">Prerequisite</H3><BR /> <EM>UI Data Protection Masking for SAP S/4HANA</EM>&nbsp;is a solution that allows you to protect restricted and sensitive data values at field level by masking, clearing, or disabling fields for those users who are not authorized to view or edit this data.<BR /> <BR /> Product “<EM>UI data protection masking for SAP S/4HANA</EM>” is used in this scenario to protect sensitive data at field level and must be installed in the&nbsp;<EM>S/4HANA</EM>&nbsp;system.<BR /> <BR /> The product is a cross-application product which can be used to mask/protect any field in&nbsp;<EM>SAP GUI</EM>,&nbsp;<EM>SAPUI5/SAP Fiori</EM>,&nbsp;<EM>CRM Web Client UI</EM>, and&nbsp;<EM>Web Dynpro ABAP</EM>.<BR /> <H3 id="toc-hId-306929025">Requirement</H3><BR /> Here, we want to configure masking for <EM>Chart of Account</EM> field information based on&nbsp;<EM>G/L Account</EM> field information in&nbsp;<EM>Aging Analysis Smart Business app </EM>Analytical Query&nbsp;result using&nbsp;<EM>Attribute-based authorization concept</EM>.<BR /> <BR /> Product “<EM>UI data protection masking for SAP S/4HANA 2011</EM>” is used in this scenario to protect sensitive data at field level and must be installed in the S/4HANA system.<BR /> <H3 id="toc-hId-110415520">Let’s begin</H3><BR /> <H3 id="toc-hId--86097985">Configuration to achieve Masking</H3><BR /> <EM>Logical Attribute</EM>&nbsp;is a functional modelling of how any attribute such as&nbsp;<EM>Social Security Number</EM>,&nbsp;<EM>Bank Account Number</EM>,&nbsp;<EM>Amounts</EM>,&nbsp;<EM>Pricing information</EM>,&nbsp;<EM>Quantity</EM>&nbsp;etc. should behave with masking.<BR /> <H4 id="toc-hId--153528771">Configure Context Attribute</H4><BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Logical Attributes</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <BR /> Under “<EM>Maintain Logical Attributes</EM>”, maintain following logical attribute.<BR /> <H4 id="toc-hId--350042276">G/L Account</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_GL_ACCOUNT</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA G/L Account”</EM></LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/297.png" /></P><BR /> <BR /> <H4 id="toc-hId--546555781">Configure Sensitive Attribute</H4><BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Logical Attributes</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <BR /> Under “<EM>Maintain Logical Attributes</EM>”, maintain following logical attribute.<BR /> <H4 id="toc-hId--1240786381">Chart of Account</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_CHART_ACCOUNT</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA Chart of Account”</EM></LI><BR /> <LI>Select “<EM>Is Sensitive</EM>” checkbox</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/298.png" /></P><BR /> <BR /> <H4 id="toc-hId--1437299886">Maintain Analytics Technical Address</H4><BR /> To suppress the records in&nbsp;<EM>Analytical Queries</EM>, Technical Information (<EM>InfoProvider-Query-InfoObject</EM>) is required. To retrieve the Technical Address for Analytical Query fields, you need to use&nbsp;<EM>Recording Tool</EM>&nbsp;feature to get the Technical Address as Technical Information on press of&nbsp;<EM>F1</EM>&nbsp;key is not available here.<BR /> <BR /> Refer to this&nbsp;<A href="https://blogs.sap.com/2022/11/14/ui-data-protection-how-to-use-recording-tool-for-masking-in-analytical-queries/" target="_blank" rel="noopener noreferrer">blog</A>&nbsp;to know how to use the&nbsp;<EM>Recording tool</EM>.<BR /> <BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Analytics Technical Address</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <BR /> Under “<EM>Analytics Technical Address</EM>”, maintain technical address for following field.<BR /> <H4 id="toc-hId--1633813391">G/L Account</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>InfoProvider</EM>” as “<EM>2CIAPFLXBLAGING</EM>”</LI><BR /> <LI>Enter “<EM>Query</EM>” as “<EM>2CCAPFLXBLAGING</EM>”</LI><BR /> <LI>Enter “<EM>InfoObject</EM>” as “<EM>2CIAPFLXBLAGING-GLACCOUNT</EM>”</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_GL_ACCOUNT</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA</EM> G/L Account”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/299.png" /></P><BR /> <BR /> <H4 id="toc-hId--1830326896">Chart of Account</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>InfoProvider</EM>” as “<EM>2CIAPFLXBLAGING</EM>”</LI><BR /> <LI>Enter “<EM>Query</EM>” as “<EM>2CCAPFLXBLAGING</EM>”</LI><BR /> <LI>Enter “<EM>InfoObject</EM>” as “<EM>2CMBIWEI883S4US8477V0EERIY7</EM>”</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_CHART_ACCOUNT</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA</EM> Chart of Account”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/300.png" /></P><BR /> <BR /> <H4 id="toc-hId--2026840401">Configure Value Range</H4><BR /> <EM>Value Ranges</EM>&nbsp;are a set of pre-populated values which can be used to derive the context under which an action should be executed.<BR /> <H5 id="toc-hId-1778210383">Follow the given path:</H5><BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Attributes and Ranges for Policy -&gt; List of Values Definition</EM>&nbsp;– Follow below mentioned steps:<BR /> <H5 id="toc-hId-1581696878">Sensitive G/L Account List</H5><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>List of</EM>&nbsp;<EM>Values</EM>” as “<EM>VR_GL_ACCOUNT</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>List of G/L Accounts</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/301.png" /></P><BR /> <BR /> <H5 id="toc-hId-1385183373">Enter following entries in “VR_GL_ACCOUNT” Value Range</H5><BR /> Follow below mentioned steps:<BR /> <UL><BR /> <LI>Execute Transaction Code “<EM>/UISM/V_RANGE</EM>”</LI><BR /> <LI>Click on “<EM>VR_GL_ACCOUNT</EM>” Value Range</LI><BR /> <LI>Click on “<EM>Display&lt;- -&gt; Change</EM>” button</LI><BR /> <LI>Click on “<EM>Add New Entry</EM>” button</LI><BR /> <LI>Add following entries&nbsp;under “<EM>Include Value</EM>” tab and click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/302.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/303.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/304.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/305.png" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/306.png" /></P><BR /> <BR /> <H4 id="toc-hId-1482072875">Policy Configuration</H4><BR /> A&nbsp;<EM>Policy</EM>&nbsp;is a combination of&nbsp;<EM>rules</EM>&nbsp;and&nbsp;<EM>actions</EM>&nbsp;which are defined in one or more&nbsp;<EM>blocks</EM>. The&nbsp;<EM>actions</EM>&nbsp;are executed on a&nbsp;<EM>sensitive entity</EM>&nbsp;(field to be protected) which has to be assigned to a&nbsp;<EM>Policy</EM>. The conditions are based on&nbsp;<EM>contextual attributes</EM>&nbsp;which help derive the context.<BR /> <BR /> <EM>Context Attributes</EM>&nbsp;are&nbsp;<EM>logical attributes</EM>&nbsp;which are used in designing the&nbsp;<EM>rules</EM>&nbsp;of a&nbsp;<EM>policy</EM>. They are mapped to fields which are used to derive the context under which an action is to be executed on a&nbsp;<EM>sensitive entity</EM>.<BR /> <BR /> <EM>Sensitive Entities</EM>&nbsp;are&nbsp;<EM>logical attributes</EM>&nbsp;which are sensitive and need to be protected from unauthorized access.<BR /> <H5 id="toc-hId-992156363">Follow the given path:</H5><BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Masking and Blocking Configuration -&gt; Maintain Policy Details for Attribute based Authorizations</EM>&nbsp;– Follow below mentioned steps:<BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Policy Name</EM>” as “<EM>POL_MASK_COA</EM>”</LI><BR /> <LI>Select “<EM>Type</EM>” as “<EM>Field Level Masking</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>Mask Chart of Account based on G/L Account in EA Query</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/307.png" /></P><BR /> <BR /> <H5 id="toc-hId-963826549">Write following logic into Policy</H5><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/308.png" /></P><BR /> <BR /> <H4 id="toc-hId-1060716051">Maintain Field Level Security and Masking Configuration</H4><BR /> Here, we will define how masking will behave with the logical attribute that we created in the above step.<BR /> <BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Masking and Blocking Configuration -&gt; Maintain Field Level Security and Masking Configuration</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Sensitive Entity</EM>” as “<EM>LA_EA_CHART_ACCOUNT</EM>” and press “<EM>Enter</EM>” key. “<EM>Description</EM>” will get populated in corresponding fields</LI><BR /> <LI>Check “<EM>Enable Configuration</EM>” checkbox</LI><BR /> <LI>Select “<EM>Attribute Based Authorization</EM>” option</LI><BR /> <LI>Enter “Policy Name” as “<EM>POL_MASK_COA</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/309.png" /></P><BR /> <BR /> <H3 id="toc-hId-1157605553">Masking in WD Grid Query Display Mode</H3><BR /> Follow below mentioned steps:<BR /> <UL><BR /> <LI>Execute “<EM>RSRT</EM>” TCode</LI><BR /> <LI>Enter “Q<EM>uery</EM>” as “<EM>2CIAPFLXBLAGING/2CCAPFLXBLAGING</EM>”</LI><BR /> <LI>Select “<EM>Query Display</EM>” mode as “<EM>WD Grid</EM>”</LI><BR /> <LI>Click on “<EM>Execute</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/310.png" /></P><BR /> <BR /> <UL><BR /> <LI>Enter highlighted search criteria in the corresponding fields and click on “<EM>Go</EM>” button.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/311.png" /></P><BR /> <BR /> <UL><BR /> <LI><EM>Chart of Account Code and Description</EM>&nbsp;field value will appear as masked where<EM> “G/L Account” </EM>is<EM> “0011230000”, “0013111000”, "0022010001", "0022020001", </EM>and<EM> “0024643000”.</EM></LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/312.png" /></P><BR /> <BR /> <H3 id="toc-hId-961092048">Conclusion</H3><BR /> In this blog post, we have learnt how&nbsp;<EM>Attribute-based masking</EM>&nbsp;is achieved in&nbsp;<EM>Analytical Queries</EM>&nbsp;in&nbsp;<EM>Query Monitor (RSRT TCode)</EM>&nbsp;in&nbsp;<EM>WD Grid </EM>Query Display mode for masking sensitive field information. 2023-12-18T06:45:48+01:00 https://community.sap.com/t5/financial-management-blogs-by-sap/attribute-based-access-control-abac-field-masking-scenario-in-analytical/ba-p/13571680 Attribute Based Access Control (ABAC) – Field Masking scenario in Analytical Queries using Query Monitor (RSRT TCode) in ABAP BICS Query Display mode 2023-12-18T06:47:20+01:00 AmitKrSingh https://community.sap.com/t5/user/viewprofilepage/user-id/626509 <H3 id="toc-hId-1092951392">Introduction</H3><BR /> In this blog, we will learn how to mask <EM>IBAN</EM> field information based on <EM>Company Code</EM> field information of <EM>SAF-T PL Bank Statement Item </EM>Analytical Query<EM>.</EM> <EM>Analytical Queries</EM>&nbsp;are used for reporting and analysis.<BR /> <BR /> <EM>IBAN</EM> field information of <EM>SAF-T PL Bank Statement Item </EM>Analytical Query need to be masked where<EM> “Company Code” </EM>is<EM> “0001”, "PEG1", </EM>and<EM> "PCZ1". </EM>For other<EM> “Company Code”, “IBAN” </EM>field will appear as unmasked.<BR /> <BR /> <EM>Attribute based authorizations</EM>&nbsp;are dynamic determination mechanism which determines whether a user is authorized to access specific data sets which can be based on the&nbsp;<EM>context attributes</EM>&nbsp;of the user and data (for example, price of certain sensitive materials are masked).<BR /> <H3 id="toc-hId-896437887">S/4HANA Embedded Analytics</H3><BR /> <EM>Analytics</EM>&nbsp;is one of the most typical and tangible values of&nbsp;<EM>S/4HANA</EM>.&nbsp;<EM>S/4HANA Embedded Analytics</EM>&nbsp;is the function for real-time operational analytics in S/4HANA. It consists of ABAP CDS Views as data source and Fiori Analytical application as the frontend. As the frontend, other than S/4HANA Embedded Analytics,&nbsp;<EM>SAP Analytics Cloud</EM>&nbsp;is available which is used together with&nbsp;<EM>S/4HANA embedded analytics</EM>.<BR /> <H3 id="toc-hId-699924382">Query Monitor (RSRT TCode)</H3><BR /> The&nbsp;<EM>Query Monitor</EM>&nbsp;tests, checks, and is used to test or regenerate queries and query views, and to check or change query properties. A detailed analysis of queries can be done with the transaction&nbsp;<EM>RSRT (Query Monitor)</EM>&nbsp;in a very convenient way. With the help of the&nbsp;<EM>Query Monitor</EM>&nbsp;you can run and analyze queries without a&nbsp;<EM>BW front end</EM>.<BR /> <BR /> To launch the&nbsp;<EM>Query Monitor</EM>, execute transaction&nbsp;<EM>RSRT</EM>.<BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/02/53.png" /><BR /> <BR /> Here, we will use&nbsp;<EM>Query Monitor</EM>&nbsp;to showcase masking of sensitive fields of analytical queries. We will configure masking through&nbsp;<EM>UI Data Protection Masking for SAP S/4HANA 2011</EM> solution based on&nbsp;<EM>Attribute Based Authorization Control (ABAC) concept</EM>.<BR /> <H3 id="toc-hId-503410877">Prerequisite</H3><BR /> <EM>UI Data Protection Masking for SAP S/4HANA</EM>&nbsp;is a solution that allows you to protect restricted and sensitive data values at field level by masking, clearing, or disabling fields for those users who are not authorized to view or edit this data.<BR /> <BR /> Product “<EM>UI data protection masking for SAP S/4HANA</EM>” is used in this scenario to protect sensitive data at field level and must be installed in the&nbsp;<EM>S/4HANA</EM>&nbsp;system.<BR /> <BR /> The product is a cross-application product which can be used to mask/protect any field in&nbsp;<EM>SAP GUI</EM>,&nbsp;<EM>SAPUI5/SAP Fiori</EM>,&nbsp;<EM>CRM Web Client UI</EM>, and&nbsp;<EM>Web Dynpro ABAP</EM>.<BR /> <H3 id="toc-hId-306897372">Requirement</H3><BR /> Here, we want to configure masking for <EM>IBAN</EM> field information based on <EM>Company Code</EM> field information in <EM>SAF-T PL Bank Statement Item </EM>Analytical Query&nbsp;result using&nbsp;<EM>Attribute-based authorization concept</EM>.<BR /> <BR /> Product “<EM>UI data protection masking for SAP S/4HANA 2011</EM>” is used in this scenario to protect sensitive data at field level and must be installed in the S/4HANA system.<BR /> <H3 id="toc-hId-110383867">Let’s begin</H3><BR /> <H3 id="toc-hId--86129638">Configuration to achieve Masking</H3><BR /> <EM>Logical Attribute</EM>&nbsp;is a functional modelling of how any attribute such as&nbsp;<EM>Social Security Number</EM>,&nbsp;<EM>Bank Account Number</EM>,&nbsp;<EM>Amounts</EM>,&nbsp;<EM>Pricing information</EM>,&nbsp;<EM>Quantity</EM>&nbsp;etc. should behave with masking.<BR /> <H4 id="toc-hId--153560424">Configure Context Attribute</H4><BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Logical Attributes</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <BR /> Under “<EM>Maintain Logical Attributes</EM>”, maintain following logical attribute.<BR /> <H4 id="toc-hId--350073929">Company Code</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_COMP_CODE</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA Company Code”</EM></LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/274.png" /></P><BR /> <BR /> <H4 id="toc-hId--546587434">Configure Sensitive Attribute</H4><BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Logical Attributes</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <BR /> Under “<EM>Maintain Logical Attributes</EM>”, maintain following logical attribute.<BR /> <H4 id="toc-hId--1240818034">IBAN</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_IBAN</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA IBAN Information”</EM></LI><BR /> <LI>Select “<EM>Is Sensitive</EM>” checkbox</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/275.png" /></P><BR /> <BR /> <H4 id="toc-hId--1437331539">Maintain Analytics Technical Address</H4><BR /> To suppress the records in&nbsp;<EM>Analytical Queries</EM>, Technical Information (<EM>InfoProvider-Query-InfoObject</EM>) is required. To retrieve the Technical Address for Analytical Query fields, you need to use&nbsp;<EM>Recording Tool</EM>&nbsp;feature to get the Technical Address as Technical Information on press of&nbsp;<EM>F1</EM>&nbsp;key is not available here.<BR /> <BR /> Refer to this&nbsp;<A href="https://blogs.sap.com/2022/11/14/ui-data-protection-how-to-use-recording-tool-for-masking-in-analytical-queries/" target="_blank" rel="noopener noreferrer">blog</A>&nbsp;to know how to use the&nbsp;<EM>Recording tool</EM>.<BR /> <BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Analytics Technical Address</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <BR /> Under “<EM>Analytics Technical Address</EM>”, maintain technical address for following field.<BR /> <H4 id="toc-hId--1633845044">Company Code</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>InfoProvider</EM>” as “<EM>2CCSAFTBNKSTITMC</EM>”</LI><BR /> <LI>Enter “<EM>Query</EM>” as “<EM>2CCSAFTBNKSTITMQ</EM>”</LI><BR /> <LI>Enter “<EM>InfoObject</EM>” as “<EM>2CF9SZ7VRFLVGPX8LFP23YH2722</EM>”</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_COMP_CODE</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA</EM>&nbsp;<EM>Company Code</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/276.png" /></P><BR /> <BR /> <H4 id="toc-hId--1830358549">IBAN</H4><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>InfoProvider</EM>” as “<EM>2CCSAFTBNKSTITMC</EM>”</LI><BR /> <LI>Enter “<EM>Query</EM>” as “<EM>2CCSAFTBNKSTITMQ</EM>”</LI><BR /> <LI>Enter “<EM>InfoObject</EM>” as “<EM>2CCSAFTBNKSTITMC-IBAN</EM>”</LI><BR /> <LI>Enter “<EM>Logical Attribute</EM>” as “<EM>LA_EA_IBAN</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>EA</EM> IBAN Information”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/277.png" /></P><BR /> <BR /> <H4 id="toc-hId--2026872054">Configure Value Range</H4><BR /> <EM>Value Ranges</EM>&nbsp;are a set of pre-populated values which can be used to derive the context under which an action should be executed.<BR /> <H5 id="toc-hId-1778178730">Follow the given path:</H5><BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Maintain Metadata Configuration -&gt; Maintain Attributes and Ranges for Policy -&gt; List of Values Definition</EM>&nbsp;– Follow below mentioned steps:<BR /> <H5 id="toc-hId-1581665225">Sensitive Company List</H5><BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>List of</EM>&nbsp;<EM>Values</EM>” as “<EM>VR_PROTECTED_COMPANY_CODE</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as “<EM>Protected Company Codes</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/07/165.png" /><BR /> <H5 id="toc-hId-1385151720">Enter following entries in “VR_PROTECTED_COMPANY_CODE” Value Range</H5><BR /> Follow below mentioned steps:<BR /> <UL><BR /> <LI>Execute Transaction Code “<EM>/UISM/V_RANGE</EM>”</LI><BR /> <LI>Click on “<EM>VR_PROTECTED_COMPANY_CODE</EM>” Value Range</LI><BR /> <LI>Click on “<EM>Display&lt;- -&gt; Change</EM>” button</LI><BR /> <LI>Click on “<EM>Add New Entry</EM>” button</LI><BR /> <LI>Add following entries&nbsp;under “<EM>Include Value</EM>” tab and click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/283.png" /></P><BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/07/167.png" /><BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/07/168.png" /><BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/07/169.png" /><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/284.png" /></P><BR /> <BR /> <H4 id="toc-hId-1482041222">Policy Configuration</H4><BR /> A&nbsp;<EM>Policy</EM>&nbsp;is a combination of&nbsp;<EM>rules</EM>&nbsp;and&nbsp;<EM>actions</EM>&nbsp;which are defined in one or more&nbsp;<EM>blocks</EM>. The&nbsp;<EM>actions</EM>&nbsp;are executed on a&nbsp;<EM>sensitive entity</EM>&nbsp;(field to be protected) which has to be assigned to a&nbsp;<EM>Policy</EM>. The conditions are based on&nbsp;<EM>contextual attributes</EM>&nbsp;which help derive the context.<BR /> <BR /> <EM>Context Attributes</EM>&nbsp;are&nbsp;<EM>logical attributes</EM>&nbsp;which are used in designing the&nbsp;<EM>rules</EM>&nbsp;of a&nbsp;<EM>policy</EM>. They are mapped to fields which are used to derive the context under which an action is to be executed on a&nbsp;<EM>sensitive entity</EM>.<BR /> <BR /> <EM>Sensitive Entities</EM>&nbsp;are&nbsp;<EM>logical attributes</EM>&nbsp;which are sensitive and need to be protected from unauthorized access.<BR /> <H5 id="toc-hId-992124710">Follow the given path:</H5><BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Masking and Blocking Configuration -&gt; Maintain Policy Details for Attribute based Authorizations</EM>&nbsp;– Follow below mentioned steps:<BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Policy Name</EM>” as “<EM>POL_MASK_IBAN</EM>”</LI><BR /> <LI>Select “<EM>Type</EM>” as “<EM>Field Level Masking</EM>”</LI><BR /> <LI>Enter “<EM>Description</EM>” as "<EM>Mask IBAN based on Company Code in EA Query</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/278.png" /></P><BR /> <BR /> <H5 id="toc-hId-963794896">Write following logic into Policy</H5><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/279.png" /></P><BR /> <BR /> <H4 id="toc-hId-1060684398">Maintain Field Level Security and Masking Configuration</H4><BR /> Here, we will define how masking will behave with the logical attribute that we created in the above step.<BR /> <BR /> Follow the given path:<BR /> <BR /> <EM>SPRO -&gt; SAP NetWeaver -&gt; UI Data Protection Masking for SAP S/4HANA -&gt; Sensitive Attribute Configuration -&gt; Masking and Blocking Configuration -&gt; Maintain Field Level Security and Masking Configuration</EM><BR /> <BR /> Follow below mentioned steps:<BR /> <UL><BR /> <LI>Click on “<EM>New Entries</EM>” button</LI><BR /> <LI>Enter “<EM>Sensitive Entity</EM>” as “<EM>LA_EA_IBAN</EM>” and press “<EM>Enter</EM>” key. “<EM>Description</EM>” will get populated in corresponding fields</LI><BR /> <LI>Check “<EM>Enable Configuration</EM>” checkbox</LI><BR /> <LI>Select “<EM>Attribute Based Authorization</EM>” option</LI><BR /> <LI>Enter “Policy Name” as “<EM>POL_MASK_IBAN</EM>”</LI><BR /> <LI>Click on “<EM>Save</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/280.png" /></P><BR /> <BR /> <H3 id="toc-hId-1157573900">Masking in ABAP BICS Query Display Mode</H3><BR /> Follow below mentioned steps:<BR /> <UL><BR /> <LI>Execute “<EM>RSRT</EM>” TCode</LI><BR /> <LI>Enter “Q<EM>uery</EM>” as “<EM>2CCSAFTBNKSTITMC/2CCSAFTBNKSTITMQ</EM>”</LI><BR /> <LI>Select “<EM>Query Display</EM>” mode as “<EM>ABAP BICS</EM>”</LI><BR /> <LI>Click on “<EM>Execute</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/281.png" /></P><BR /> <BR /> <UL><BR /> <LI>Enter highlighted search criteria in the corresponding fields and click on “<EM>OK</EM>” button</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/282.png" /></P><BR /> <BR /> <UL><BR /> <LI><EM>IBAN</EM> field value will appear as masked where <EM>Company Code</EM> is "<EM>0001"</EM>, "<EM>PEG1"</EM>, and "<EM>PCZ1"</EM>.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/285.png" /></P><BR /> <BR /> <H3 id="toc-hId-961060395">Conclusion</H3><BR /> In this blog post, we have learnt how&nbsp;<EM>Attribute-based masking</EM>&nbsp;is achieved in&nbsp;<EM>Analytical Queries</EM>&nbsp;in&nbsp;<EM>Query Monitor (RSRT TCode)</EM>&nbsp;in&nbsp;<EM>ABAP BICS</EM>&nbsp;Query Display mode for masking sensitive field information. 2023-12-18T06:47:20+01:00 https://community.sap.com/t5/technology-blogs-by-sap/cds-hierarchy-directory-how-to-use-notassignednode-annotation-to-suppress/ba-p/13576317 CDS Hierarchy Directory: How to use NOTASSIGNEDNODE Annotation to suppress or to filter the Not Assigned(REST_H) nodes 2023-12-19T23:56:31+01:00 LinaRaut https://community.sap.com/t5/user/viewprofilepage/user-id/179963 This blog is about how to handle Not Assigned(REST_H) nodes in CDS Hierarchy Directory of Analytical query, to get the result set either without Not Assigned node or filtered Not Assigned node. Let’s start with some basic information about CDS Hierarchy Directory.<BR /> <H2 id="toc-hId-964014535"><STRONG>Introduction to CDS Hierarchy Directory</STRONG></H2><BR /> There are two types of Hierarchy views. First where we use annotation <STRONG>‘</STRONG><STRONG>@Hierarchy</STRONG><STRONG>’</STRONG> and new one where we use <STRONG>‘define hierarchy &lt;NAME&gt;’</STRONG> (from 2023 on Prem and 2308 Cloud). In both the ways we can define association to a view which is then used as Hierarchy Directory.<BR /> <BR /> Hierarchy Directory is CDS view.<BR /> <UL><BR /> <LI>It contains the List of all hierarchies available in the hierarchy view.</LI><BR /> <LI>It can have Text for the hierarchies (language independent case) Or it can have an association to a text view (language dependent case)</LI><BR /> <LI>It can contain a field which determine whether the Not Assigned node will be displayed or not.</LI><BR /> <LI>It can contain a field which describes a filter which should be applied to the Not Assigned node.</LI><BR /> <LI>It can contain a field which describes when a hierarchy was changed last time and which has annotation as ‘@Semantics.systemDate.lastChangedAt : true (for date)’ or ‘@Semantics.systemDateTime.lastChangedAt: true (for timestamp)’</LI><BR /> </UL><BR /> When this field exist, then analytical engine will buffer the hierarchy and will renew the buffer when hierarchy is changed. Without this field hierarchy will always be rebuild and it can be performance overhead.<BR /> <H2 id="toc-hId-767501030"><STRONG>Use of </STRONG><STRONG>NOTASSIGNEDNODE</STRONG> <STRONG>Annotations in CDS Hierarchy Directory</STRONG></H2><BR /> <UL><BR /> <LI><STRONG>@HIERARCHY.NOTASSIGNEDNODE.SUPPRESSINDICATOR</STRONG> can be used to suppress the display of Not Assigned nodes.</LI><BR /> </UL><BR /> It can be used for one field in a Hierarchy Directory view. The data type of the field must be Boolean (CHAR field with length 1 and with values '' or 'X'). If the flag is set for an entry in the directory, then the analytical engine doesn't create a 'Not Assigned' node. In this case the hierarchy itself acts as a filter and data which is not a leaf in the hierarchy is not part of the resultset.<BR /> <UL><BR /> <LI><STRONG>@HIERARCHY.NOTASSIGNEDNODE.</STRONG><STRONG>FILTER</STRONG> can be used to restrict the display of Not Assigned nodes.</LI><BR /> </UL><BR /> It can be used for a field in the Hierarchy Directory view. The field needs in addition, a foreign-key association to a dimension view. This dimension view has also to be target of a foreign-key association defined in the dimension view which holds the hierarchy. The field with that foreign-key association must be a non representative key field. When the analytical engine resolves the 'Not Assigned' node, it derives a filter from the hierarchy’s name and applies this filter to the dimension values which have to be added to the 'Not Assigned' node. The other dimension values, which don't fulfil the filter criteria are ignored. In this case the hierarchy itself acts as a filter. The annotation can be used for key and for non-key fields in the Hierarchy Directory. Only constraint is that the field needs a foreign-key association.<BR /> With this feature you can improve the performance. It is only useful for hierarchies on dimensions with more than one key field and if one hierarchy should only contain leaves belonging to one value of a key field. A typical example is a cost center hierarchy. All cost centers of one hierarchy should belong to the same controlling area. Without this feature the analytical engine would also add cost centers of other controlling areas to the 'Not-Assigned' node. Notice that this happens independent of the filters used in a query. Therefore, in a query result there is no difference if the query contains a filter on the same controlling area. But the performance will be much better if the filter is also defined in the Hierarchy Directory.<BR /> <H2 id="toc-hId-570987525"><STRONG>Examples</STRONG></H2><BR /> <H3 id="toc-hId-503556739"><STRONG>Example 1: Without @HIERARCHY.NOTASSIGNEDNODE </STRONG></H3><BR /> <DIV><BR /> <DIV><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@EndUserText.label:</SPAN> <SPAN style="color: #335ca2">'Connection Hierarchy Directory View'</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2"><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/15206">@analytics</a></SPAN> <SPAN style="color: #335ca2">:</SPAN> <SPAN style="color: #335ca2">{</SPAN> <SPAN style="color: #335ca2">dataCategory:</SPAN> <SPAN style="color: #335ca2">#DIMENSION,</SPAN> <SPAN style="color: #335ca2">dataExtraction.</SPAN><SPAN style="color: #335ca2;text-decoration: underline">enabled:</SPAN> <SPAN style="color: #335ca2;text-decoration: underline">true</SPAN> <SPAN style="color: #335ca2">}</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@ObjectModel.representativeKey:</SPAN> <SPAN style="color: #335ca2">'hieid'</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">define</SPAN> <SPAN style="color: #7f0074;font-weight: bold">view entity</SPAN> <SPAN style="color: #000000;text-decoration: underline">ZOQ_CONNECTION_HIERARCHY_DIR</SPAN> <SPAN style="color: #7f0074;font-weight: bold">as</SPAN> <SPAN style="color: #7f0074;font-weight: bold">select</SPAN> <SPAN style="color: #7f0074;font-weight: bold">from</SPAN> <SPAN style="color: #000000">ZOQ_CONNID_HD</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">{</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@ObjectModel.text.element:</SPAN> <SPAN style="color: #335ca2">'hiertxt'</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">key</SPAN> <SPAN style="color: #000000">hieid</SPAN><SPAN style="color: #7f0074;font-weight: bold">,</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@Semantics.text:</SPAN> <SPAN style="color: #335ca2">true</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #000000">hiertxt</SPAN><SPAN style="color: #7f0074;font-weight: bold">,</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@Semantics.systemDate.</SPAN><SPAN style="color: #335ca2;text-decoration: underline">lastChangedAt:</SPAN> <SPAN style="color: #335ca2;text-decoration: underline">true</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #000000">last_changed</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">}</SPAN></P><BR /> Resultset will display Not assigned (REST_H) nodes<BR /> <BR /> </DIV><BR /> <P style="margin: 0px;overflow: hidden"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/all-4.jpg" /></P><BR /> &nbsp;<BR /> <BR /> </DIV><BR /> <H3 id="toc-hId-307043234"><STRONG>Example 2: With&nbsp;@HIERARCHY.NOTASSIGNEDNODE.SUPPRESSINDICATOR</STRONG></H3><BR /> <DIV><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@EndUserText.label:</SPAN> <SPAN style="color: #335ca2">'Connection Hierarchy Directory View'</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2"><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/15206">@analytics</a></SPAN> <SPAN style="color: #335ca2">:</SPAN> <SPAN style="color: #335ca2">{</SPAN> <SPAN style="color: #335ca2">dataCategory:</SPAN> <SPAN style="color: #335ca2">#DIMENSION,</SPAN> <SPAN style="color: #335ca2">dataExtraction.</SPAN><SPAN style="color: #335ca2;text-decoration: underline">enabled:</SPAN> <SPAN style="color: #335ca2;text-decoration: underline">true</SPAN> <SPAN style="color: #335ca2">}</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@ObjectModel.representativeKey:</SPAN> <SPAN style="color: #335ca2">'hieid'</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">define</SPAN> <SPAN style="color: #7f0074;font-weight: bold">view entity</SPAN> <SPAN style="color: #000000;text-decoration: underline">ZLR_CONNECTION_HIERARCHY_DIR</SPAN> <SPAN style="color: #7f0074;font-weight: bold">as</SPAN> <SPAN style="color: #7f0074;font-weight: bold">select</SPAN> <SPAN style="color: #7f0074;font-weight: bold">from</SPAN> <SPAN style="color: #000000">zoq_connid_hd</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">{</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@ObjectModel.text.element:</SPAN> <SPAN style="color: #335ca2">'hiertxt'</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">key</SPAN> <SPAN style="color: #000000">hieid</SPAN><SPAN style="color: #7f0074;font-weight: bold">,</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@Semantics.text:</SPAN> <SPAN style="color: #335ca2">true</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #000000">hiertxt</SPAN><SPAN style="color: #7f0074;font-weight: bold">,</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@Semantics.systemDate.</SPAN><SPAN style="color: #335ca2;text-decoration: underline">lastChangedAt:</SPAN> <SPAN style="color: #335ca2;text-decoration: underline">true</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #000000">last_changed</SPAN><SPAN style="color: #7f0074;font-weight: bold">,</SPAN></P><BR /> <P style="margin: 0"><STRONG><SPAN style="color: #335ca2">@Hierarchy.notAssignedNode.suppressIndicator:</SPAN> <SPAN style="color: #335ca2">true</SPAN></STRONG></P><BR /> <P style="margin: 0"><STRONG><SPAN style="color: #008000">'X'</SPAN> <SPAN style="color: #7f0074">as</SPAN> <SPAN style="color: #000000">suppressNotAssigned</SPAN></STRONG></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">}</SPAN></P><BR /> Resultset will not display Not Assigned (REST_H) nodes<BR /> <BR /> </DIV><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/supress_rest1.jpg" /></P><BR /> &nbsp;<BR /> <H3 id="toc-hId-110529729"><STRONG>Example 3: With&nbsp;@HIERARCHY.NOTASSIGNEDNODE.FILTER</STRONG></H3><BR /> <DIV><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@EndUserText.label:</SPAN> <SPAN style="color: #335ca2">'Connection Hierarchy Directory View'</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2"><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/15206">@analytics</a></SPAN> <SPAN style="color: #335ca2">:</SPAN> <SPAN style="color: #335ca2">{</SPAN> <SPAN style="color: #335ca2">dataCategory:</SPAN> <SPAN style="color: #335ca2">#DIMENSION,</SPAN> <SPAN style="color: #335ca2">dataExtraction.</SPAN><SPAN style="color: #335ca2;text-decoration: underline">enabled:</SPAN> <SPAN style="color: #335ca2;text-decoration: underline">true</SPAN> <SPAN style="color: #335ca2">}</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@ObjectModel.representativeKey:</SPAN> <SPAN style="color: #335ca2">'hieid'</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">define</SPAN> <SPAN style="color: #7f0074;font-weight: bold">view entity</SPAN> <SPAN style="color: #000000;text-decoration: underline">ZLR_CONNECTION_HIERARCHY_DIR</SPAN> <SPAN style="color: #7f0074;font-weight: bold">as</SPAN> <SPAN style="color: #7f0074;font-weight: bold">select</SPAN> <SPAN style="color: #7f0074;font-weight: bold">from</SPAN> <SPAN style="color: #000000">zoq_connid_hd</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">association</SPAN> <SPAN style="color: #7f0074;font-weight: bold">to</SPAN> <SPAN style="color: #000000">ZOQ_AIRLINE</SPAN> <SPAN style="color: #7f0074;font-weight: bold">as</SPAN> <SPAN style="color: #000000">_carrid</SPAN> <SPAN style="color: #7f0074;font-weight: bold">on</SPAN> <SPAN style="color: #000000">_carrid</SPAN><SPAN style="color: #7f0074;font-weight: bold">.</SPAN><SPAN style="color: #000000">carrid</SPAN> <SPAN style="color: #7f0074;font-weight: bold">=</SPAN> <SPAN style="color: #7f0074;font-weight: bold">$projection.</SPAN><SPAN style="color: #000000">carrid</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">{</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@ObjectModel.text.element:</SPAN> <SPAN style="color: #335ca2">'hiertxt'</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">key</SPAN> <SPAN style="color: #000000">hieid</SPAN><SPAN style="color: #7f0074;font-weight: bold">,</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@Semantics.text:</SPAN> <SPAN style="color: #335ca2">true</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #000000">hiertxt</SPAN><SPAN style="color: #7f0074;font-weight: bold">,</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@Semantics.systemDate.</SPAN><SPAN style="color: #335ca2;text-decoration: underline">lastChangedAt:</SPAN> <SPAN style="color: #335ca2;text-decoration: underline">true</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #000000">last_changed</SPAN><SPAN style="color: #7f0074;font-weight: bold">,</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@ObjectModel.foreignKey.association:</SPAN> <SPAN style="color: #335ca2">'_carrid'</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #335ca2">@Hierarchy.notAssignedNode.filter:</SPAN> <SPAN style="color: #335ca2">true</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">cast(</SPAN> <SPAN style="color: #008000">'LH'</SPAN> <SPAN style="color: #7f0074;font-weight: bold">as</SPAN> <SPAN style="color: #000000;font-style: italic;text-decoration: underline">s_carr_id</SPAN> <SPAN style="color: #7f0074;font-weight: bold">)</SPAN> <SPAN style="color: #7f0074;font-weight: bold">as</SPAN> <SPAN style="color: #000000">carrid</SPAN><SPAN style="color: #7f0074;font-weight: bold">,</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #000000">_carrid</SPAN></P><BR /> <P style="margin: 0"><SPAN style="color: #7f0074;font-weight: bold">}</SPAN></P><BR /> Resultset will display Not Assigned(REST_H) node but only with LH as we have provided filter on carrid LH<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/filter-2.jpg" /><BR /> <BR /> &nbsp;<BR /> <BR /> Following are some of correction which are done for this feature:<BR /> <BR /> 3348310 - Problem with Hierarchy.notAssignedNode.filter<BR /> 3377570 - Dump: GETWA_NOT_ASSIGNED in class CL_RSR_RRK0_HIERARCHY<BR /> <BR /> </DIV><BR /> &nbsp;<BR /> <BR /> &nbsp; 2023-12-19T23:56:31+01:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sap-premium-engagement-analytics-design-workshop/ba-p/13579943 SAP Premium Engagement: Analytics Design Workshop 2023-12-21T10:33:22+01:00 a_smazhanova https://community.sap.com/t5/user/viewprofilepage/user-id/798157 <STRONG>Who we are</STRONG><BR /> <BR /> We are SAP’s Center of Expertise (COE) for Analytics, Planning, and Consolidation in the globally operating Adoption Service Center. Our goal is to drive adoption and consumption of SAP Business Technology Platform technologies and lay the foundation for the Intelligent Enterprise. We are a trusted partner for customers with MaxAttention or Premium Engagement (PE). Also, we engage in the area of Professional Services, Preferred Success and other partnerships.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/ADW1.png" /></P><BR /> <STRONG>Introduction</STRONG><BR /> <BR /> In the rapidly evolving sphere of data analytics, cultivating a robust architecture for analytics and data management is imperative for maintaining a competitive edge. Introducing the Analytics Design Workshop (ADW) – a specialized service component dedicated to honing the implementation facets of analytics architecture and crafting a detailed transition project plan.<BR /> <BR /> <STRONG>Expanding the Service Component</STRONG><BR /> <BR /> Within the Analytics Design Workshop , SAP offers options for empowering SAP analytics components and introduces crucial concepts like LSA++, along with empowerment and prototyping options. This includes modeling concepts for the SAP Analytics Cloud, SAP Business Intelligence, SAP Business Warehouse, SAP Datasphere, and SAP HANA business data platform.<BR /> <BR /> Key focus areas for ADW include:<BR /> <UL><BR /> <LI>SAP S/4HANA embedded analytics integration with semantic layer, SAP BW, and SAP Analytics Cloud. &nbsp;--&gt;&nbsp;<STRONG>ADW focus topic SAP S/4HANA embedded analytics</STRONG></LI><BR /> <LI>Implementation strategies for SAP Analytics Cloud covering stories, applications, planning, connectivity and SAP Business Intelligence --&gt;&nbsp;<STRONG>ADW Focus topic SAP Analytics Cloud</STRONG></LI><BR /> <LI>Developing enterprise data warehouses using LSA++ in SAP HANA and SAP BW/4HANA, integrating with technologies like Hadoop, SAP IQ, and SAP Datasphere.</LI><BR /> <LI>Detailed planning for transitioning infrastructure to the desired solution</LI><BR /> </UL><BR /> <STRONG>The Customer’s Agenda </STRONG><BR /> <BR /> The customer's agenda for the Analytics Design Workshop (ADW) service in SAP typically revolves around refining analytics architecture and creating a structured transition plan. While specific agendas may vary based on the customer’s business needs, typical objectives or focus areas within ADW might include:<BR /> <UL><BR /> <LI><STRONG>Refinement of Implementation Aspects</STRONG>: ADW aims to fine-tune how analytics architecture is practically implemented, ensuring efficiency and alignment with business objectives.</LI><BR /> <LI><STRONG>Creation of Transition Project Plans</STRONG>: Customers engaging in ADW often seek guidance in crafting detailed transition plans to smoothly shift from existing systems to new or optimized solutions.</LI><BR /> <LI><STRONG>Exploration of Specific Topics</STRONG>: This may involve diving into various aspects such as embedded analytics in SAP S/4HANA, modeling enterprise data warehouses using specific concepts like LSA++, integration strategies for SAP Analytics Cloud, and more tailored to their requirements.</LI><BR /> <LI><STRONG>Empowerment and Prototyping</STRONG>: Understanding empowerment options and prototyping techniques for SAP analytics components to enhance their utilization and efficiency within the organization.</LI><BR /> <LI><STRONG>Focus on Integration</STRONG>: Emphasizing seamless integration between various SAP solutions like SAP S/4HANA, SAP Analytics Cloud, SAP BW/4HANA, and other relevant platforms or technologies.</LI><BR /> <LI><STRONG>Roadmap </STRONG>: ADW delivers strategic roadmaps for SAC, S/4HANA, BW, DWC, BI, and more, aiding customers in planning their future technological advancements and aligning their business strategies with SAP's analytics solutions.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/ADW2.png" /></P><BR /> <STRONG>Delivery Approach &amp; Scope</STRONG><BR /> <UL><BR /> <LI><STRONG>Delivery approach:</STRONG> on-site or remote, depending on scope, but typically it lasts 3 or 4 days. Optional focus topics: SAP S/4HANA embedded analytics, SAP Analytics Cloud</LI><BR /> <LI><STRONG>Scope</STRONG>:<BR /> <UL><BR /> <LI>Knowledge transfer and interactive work sessions including hands-on on core topics such as layered scalable architecture</LI><BR /> <LI>Outline of a transition path to the new analytics architecture considering the customer-specific situation</LI><BR /> <LI>Definition of data temperature management concept</LI><BR /> <LI>Draft creation of development guidelines for SAP S/4HANA embedded analytics</LI><BR /> <LI>Definition of integration concepts for SAP and third-party SAP sources</LI><BR /> <LI>Prototype creation for specific scenarios, such as SAP Analytics Cloud on the CDS model with SAP S/4HANA, (remote delivery)</LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <STRONG>Value and Benefits</STRONG><BR /> <BR /> Engaging in the Analytics Design Workshop (ADW) service offers substantial value and benefits to organizations. The outcomes include:<BR /> <UL><BR /> <LI>Comprehensive Insight: Gain in-depth technical comprehension of new SAP Analytics solutions, particularly related to SAP S/4HANA, alongside a substantiated analytics architecture.</LI><BR /> <LI>Results-Oriented Roadmap: Receive a detailed results report containing a roadmap or project plan facilitating a smooth transition from the current architecture to the new target structure.</LI><BR /> </UL><BR /> <STRONG>Service Assignment Options</STRONG><BR /> <BR /> These service is available across various SAP support frameworks, including Value Assurance, SAP MaxAttention, SAP Active Embedded, and SAP Active Attention. To explore these offerings and harness the full potential of cutting-edge analytics solutions like SAC, connect with your Technical Quality Manager (TQM), SAP Account Manager, Customer Success Partner (CSP), or use our central entry channel, the Virtual Project Room (VPR). Elevate your business intelligence with unparalleled data insights for transformative growth.<BR /> <BR /> <STRONG>Conclusion</STRONG><BR /> <BR /> The Analytics Design Workshop is a transformative journey, guiding businesses to evolve into Intelligent Enterprises. ADW ensures robust analytics architecture and smooth transitions, empowering organizations in the data-driven landscape. With SAP's support, it's about evolving intelligently, staying agile, and thriving in a dynamic data-driven world. 2023-12-21T10:33:22+01:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-members/inventory-aging-trend-with-s-4hana-embedded-analytics/ba-p/13580119 Inventory Aging Trend with S/4HANA Embedded Analytics 2024-01-05T19:47:33+01:00 uladzislau_pralat https://community.sap.com/t5/user/viewprofilepage/user-id/185101 Inventory aging trend with S/4HANA embedded analytics? Hmm...Sounds like data warehousing&nbsp; snapshot requirement. Actually S/4HANA inventory data model supports key date concept (with some limitation) making it possible trend analysis.<BR /> <BR /> Example below demonstrates one of possible use cases - month to month comparison showing changes across different aging ranges<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inventory-Aging-Trend-with-S4HANA-Embedded-Analytics-1-1.jpg" /></P><BR /> This blog describes Inventory Aging Trend model which is an evolution of Inventory Aging data model from my previous blog <A href="https://blogs.sap.com/2023/07/28/inventory-aging-reporting-with-s-4hana-embedded-analytics/" target="_blank" rel="noopener noreferrer">Inventory Aging Reporting with S/4HANA Embedded Analytics</A>. I added monthly version dimension taking the model to a new level. Calculation of inventory quantity for any particular date was not a problem, but valuation (inventory value) was an issue and limited to current valuation. Now I made use of MBEWH Material Valuation: History table which is somewhat limited as well (contains only monthly snapshots of inventory quantity and values), but it is good enough for analysis on monthly level. I will only explain delta changes. Please refer to previous blog for complete details.<BR /> <BR /> I added MBEWH Material Valuation: History table data to my model<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inventory-Aging-Trend-with-S4HANA-Embedded-Analytics-2-2.jpg" /></P><BR /> Combined historical inventory valuation data with current valuation data. Created validity data ranges along the way making it easy to select valuation data which corresponds to selected date (key date).<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inventory-Aging-Trend-with-S4HANA-Embedded-Analytics-3-1.jpg" /></P><BR /> I also exposed current date (key date) parameter as dimension for subsequent use as cube monthly version dimension<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inventory-Aging-Trend-with-S4HANA-Embedded-Analytics-4-1.jpg" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inventory-Aging-Trend-with-S4HANA-Embedded-Analytics-5.jpg" /></P><BR /> In my cube now I have two key date (P_Date_00 and P_Date_01) parameters one for each of two monthly versions we will compare. I pass these parameters to two table function views that I union.<BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inventory-Aging-Trend-with-S4HANA-Embedded-Analytics-6.jpg" /><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inventory-Aging-Trend-with-S4HANA-Embedded-Analytics-7-1.jpg" /></P><BR /> Both key dates are set by BW query using OLAP variables (INVAGINGDATE00 and INVAGINGDATE01). INVAGINGDATE00 is open for entry add has current date default value set by OLAP BADI. INVAGINGDATE01 is not ready for input and is offset to prior month by OLAP BADI.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inventory-Aging-Trend-with-S4HANA-Embedded-Analytics-9.jpg" /></P><BR /> OLAP variable BADI also enforces data integrity making sure that input date variable is only limited to current date or end of the month in the past for which data model can provide correct valuation information.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inventory-Aging-Trend-with-S4HANA-Embedded-Analytics-10.jpg" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inventory-Aging-Trend-with-S4HANA-Embedded-Analytics-11.jpg" /></P><BR /> See source below code for more information:<BR /> <DIV><A class="Link--primary" title="ZCL_INVENTORY_AGING.abap" href="https://github.com/UladzislauPralat/ABAP/blob/master/S4HANAEmbeddedAnalyticsInventoryAgingTrendReport/ZCL_INVENTORY_AGING.abap" aria-label="ZCL_INVENTORY_AGING.abap, (File)" target="_blank" rel="nofollow noopener noreferrer">ZCL_INVENTORY_AGING</A></DIV><BR /> <DIV><BR /> <DIV><A class="Link--primary" title="ZI_InventoryAgingFunc.abap" href="https://github.com/UladzislauPralat/ABAP/blob/master/S4HANAEmbeddedAnalyticsInventoryAgingTrendReport/ZI_InventoryAgingFunc.abap" aria-label="ZI_InventoryAgingFunc.abap, (File)" target="_blank" rel="nofollow noopener noreferrer">ZI_InventoryAgingFunc</A></DIV><BR /> </DIV><BR /> <DIV><A class="Link--primary" title="ZCL_RSROA_VARIABLES_EXIT.abap" href="https://github.com/UladzislauPralat/ABAP/blob/master/S4HANAEmbeddedAnalyticsInventoryAgingTrendReport/ZCL_RSROA_VARIABLES_EXIT.abap" aria-label="ZCL_RSROA_VARIABLES_EXIT.abap, (File)" target="_blank" rel="nofollow noopener noreferrer">ZCL_RSROA_VARIABLES_EXIT</A></DIV><BR /> <DIV><A class="Link--primary" title="ZI_InventoryAgingTrendCube.abap" href="https://github.com/UladzislauPralat/ABAP/blob/master/S4HANAEmbeddedAnalyticsInventoryAgingTrendReport/ZI_InventoryAgingTrendCube.abap" aria-label="ZI_InventoryAgingTrendCube.abap, (File)" target="_blank" rel="nofollow noopener noreferrer">ZI_InventoryAgingTrendCube</A></DIV><BR /> &nbsp;<BR /> <BR /> For more S/4HANA Embedded Analytics scenarios, please check out my book&nbsp;<A href="https://www.espresso-tutorials.com/product/sap-s-4hana-analytical-applications-with-fiori-elements" target="_blank" rel="noopener nofollow noreferrer">SAP S/4HANA Analytical Applications with Fiori Elements</A><BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp; 2024-01-05T19:47:33+01:00 https://community.sap.com/t5/technology-blogs-by-sap/business-process-performance-optimization-a-premium-engagement-offering/ba-p/13574680 Business Process Performance Optimization - a Premium Engagement offering 2024-01-09T10:33:40+01:00 AttilaRitzl https://community.sap.com/t5/user/viewprofilepage/user-id/869769 In today's rapidly evolving corporate landscape, ensuring peak performance and efficiency within your business processes is cardinal. SAP's Business Process Performance Optimization service stands in the way of long waiting times and nerve-racking circling of the cursor.<BR /> <BR /> At SAP’s Center of Expertise (COE) for Analytics, Planning, and Consolidation in the globally operating Adoption Service Center, our goal is to drive adoption and consumption of SAP Business Technology Platform technologies and lay the foundation for the Intelligent Enterprise. We are a trusted partner for customers with MaxAttention or Premium Engagement (PE). We also engage in Professional Services, Preferred Success, and other partnerships.<BR /> In this blog, I would like to give an insight what a BPPO looks like.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2024/01/MaxAttention-Logo-2.png" /></P><BR /> <BR /> <H3 id="toc-hId-1093040765">Overview of Business Process Performance Optimization service</H3><BR /> The foundation of Business Process Performance Optimization service lies in its ability to analyze in detail and enhance critical business processes, offering a comprehensive suite of features aimed at uplifting operational performance.<BR /> <BR /> A key feature includes a Comprehensive Analysis that delves deep into your business processes, providing valuable insights that lead to enhanced efficiency.<BR /> <BR /> This service also encompasses the Evaluation and Enhancement of potential improvement areas. Through a detailed review, it suggests technical optimizations for more efficient operations, targeting areas ripe for improvement.<BR /> <H3 id="toc-hId-896527260">Service advantages</H3><BR /> <UL><BR /> <LI>Streamlined Operations: Experience optimized response times and heightened throughput across your business operations.</LI><BR /> <LI>Productivity Amplification: Witness a marked increase in overall productivity through more efficient processes.</LI><BR /> <LI>Resource Utilization: Maximize hardware resources, ensuring their optimal use in driving your business's core functions.</LI><BR /> <LI>Elevated User Satisfaction: With enhanced processes, your end-users are more likely to experience satisfaction in their workflow.</LI><BR /> </UL><BR /> As organizations encounter specific issues, the BPPO service team delivers targeted solutions:<BR /> <UL><BR /> <LI>Response Time Concerns: Addressing extended delays in specific process steps, whether standard or customer-specific to SAP.</LI><BR /> <LI>Deadline Challenges: Assistance in meeting deadlines and time frames for designated processes.</LI><BR /> <LI>Resource Consumption Challenges: Mitigating resource spikes during certain processes or at specific times.</LI><BR /> <LI>Performance Problems: Addressing performance issues that may arise during the operation of typically well-performing transactions.</LI><BR /> </UL><BR /> The outcomes of this service are prompt and actionable. In one week following the session, you receive a comprehensive report that encapsulates a prioritized action plan based on the analysis. Topics are summarized, issues are highlighted, and actionable recommendations are provided. This actionable plan serves as a roadmap to drive performance enhancements within your operations.<BR /> <H3 id="toc-hId-700013755">Delivery details on SAP Analytics Cloud</H3><BR /> SAP Analytics Cloud is rapidly growing. New features, approaches, optimizations are coming each quarter, challenging BI developers to keep up on all aspects. The power of a BPPO service is to get insight on fresh good practices while also applying the new knowledge on scoped dashboards. As mentioned in the previous section, our final report details our recommendations which is a starting point on optimizing end user satisfaction on performance. These steps also help to build a new mindset on implementing future dashboards as best practices are also shared during the service. And what kind of points we check? Excellent question!<BR /> <BR /> Based on the requirements and current scenario, we first silo where performance issue is coming from – is it a front-end problem, or the query is running long? In either cases we go one level deeper and deeper until we identify the malicious part. Then, after researching and testing different options we suggest a solution or in rare cases, a workaround with detailed steps how to execute them.<BR /> <BR /> Let me share 2 memorable cases:<BR /> <UL><BR /> <LI>SAC dashboard on mobile was running for 15-20 seconds. After analyzing the end user journey, we have identified the current design is not sufficient and replaced many small parts with a single chart – which provided even more than the required information. With this fix, we have managed to <STRONG>increase performance by almost 70%!</STRONG></LI><BR /> <LI>A complex dashboard with 26 charts were loading for 15 seconds. Taking the complexity, first it seemed reasonable, however it soon turned out the chart refreshing practices were neglected and the scripting was suboptimal too. After adjustments and refactoring, the loading time was<STRONG> at 6 seconds</STRONG>!</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px">While not every BPPO service boasts such numbers, our commitment is unwavering – to make every service the best run. The final report doesn't just conclude; it paves the way for future endeavors, hinting at the promise of diverse follow-up services.</P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2024/01/2024-01-08_15-00-216.gif" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Performance has many blocks – all need to be checked to understand malfunctions</P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2024/01/BPPO2-1.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Our toolset helps us identify long running functions and queries to drilldown on suboptimal parts whether it’s on back-end side or front-end.</P><BR /> <A href="https://userapps.support.sap.com/sap/support/knowledge/en/2511489" target="_blank" rel="noopener noreferrer">SAP Note 2511489 - Troubleshooting performance issues in SAP Analytics Cloud (Collective KBA)</A> has a great recap on most important aspects for performance: “The overall performance of SAP Analytics Cloud (SAC) is mainly determined by the three components - client time (<STRONG>frontend</STRONG>), <STRONG>network time</STRONG> and the SAP Analytics Cloud service time (<STRONG>backend</STRONG>).”<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2024/01/BPPO3.png" /></P><BR /> <STRONG>Performance checks and tuning are of course not restricted to BI only.</STRONG> We provide the same checks and deliverables for SAC Planning, where the focus is usually on specific design like calculations, data actions and version handling. In fact, the BPPO is a mature, proven methodology which we apply to all SAP related business processes since decades. The key is to bring in all necessary functional and technical roles from our global expert pool.<BR /> <H3 id="toc-hId-503500250">Summary</H3><BR /> Business Process Performance Optimization service seamlessly integrates into the operational phase of your solution. Moreover, it provides substantial value during the testing phase of any implementation project, proving its adaptability and necessity across different operational scenarios.<BR /> <BR /> Are you ready for faster dashboards? Don’t hesitate to reach out to your Technical Quality Manager (<STRONG>TQM</STRONG>), your SAP Account, your Customer Success Partner (<STRONG>CSP</STRONG>), or our central entry channel, the Virtual Project Room (<STRONG>VPR</STRONG>). 2024-01-09T10:33:40+01:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sap-s-4hana-cloud-public-edition-2402-%E4%BA%AE%E7%82%B9%E5%89%8D%E7%9E%BB-%E5%88%86%E6%9E%90%E6%8A%A5%E8%A1%A8/ba-p/13594102 SAP S/4HANA Cloud Public Edition 2402 亮点前瞻:分析报表 2024-02-05T13:46:47.399000+01:00 AngelaDai https://community.sap.com/t5/user/viewprofilepage/user-id/3008 <P>在本篇博客中,我将会重点展示在 SAP S/4HANA Cloud 2402 当中<STRONG>分析报表</STRONG>版块发布的功能,将会覆盖以下话题内容:</P><UL><LI>视图浏览器</LI><LI>术语更改:Web Dynpro 应用 -&gt; 多维数据网格应用</LI><LI>新增:“管理 KPI 和报表”应用中的审核小册子设计器</LI><LI>升级后弃用的CDS</LI></UL><H2 id="toc-hId-965800037">&nbsp;</H2><H2 id="toc-hId-769286532">视图浏览器</H2><P>&nbsp;</P><P>在CE2402中,视图浏览器APP将新增一个变量信息“数据提取已启用”。当该字段标识为“√”,即表示该CDS视图可用于数据提取的场景。</P><P>客户可以通过APP中的设置,将数据提取变量字段进行显示。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AngelaDai_0-1707103834739.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/60069i375F429B59C1F7A8/image-size/medium?v=v2&amp;px=400" role="button" title="AngelaDai_0-1707103834739.png" alt="AngelaDai_0-1707103834739.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><H2 id="toc-hId-572773027">术语更改:Web Dynpro 应用 -&gt; 多维数据网格应用</H2><P>&nbsp;</P><P>为统一文档中的表述,自 CE2402 起,文档中的术语“Web Dynpro 应用”将会替换为“多维数据网格应用”。</P><P>另外需要注意的是只有分析类的应用会进行术语更改。其他的基于Web-Dynpro的事务应用,例如APP显示科目余额(W0130),该应用的术语不会进行更改。</P><P>&nbsp;</P><H2 id="toc-hId-376259522">审核手册亮点更新</H2><P>全页模式下便于使用</P><UL><LI>侧边栏隐藏功能</LI><LI>专注于报表内容便于使用</LI></UL><P>通过MS Teams轻松共享见解</P><UL><LI>支持分享审核手册链接,携带预先设置好的变量信息等,无需重新设置</LI><LI>便于使用MS Teams聊天讨论报表相关内容</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AngelaDai_1-1707103834746.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/60068i5E1DD553EA48B98D/image-size/medium?v=v2&amp;px=400" role="button" title="AngelaDai_1-1707103834746.png" alt="AngelaDai_1-1707103834746.png" /></span></P><P>支持PDF导出功能</P><P>&nbsp;</P><H2 id="toc-hId-179746017">新增:“管理 KPI 和报表”应用中的审核手册设计器</H2><P>&nbsp;</P><P>拥有分析专家权限的客户现可以在APP管理KPI和报表中通过选项卡“审核手册”浏览访问审核手册,并支持客户创建自定义的审核手册。</P><P>审核手册设计器属于关键用户开发(Key User Extensibility)。客户可以复制并根据客户的分析需要进行调整,但只有状态为最终配置或应用程序已激活的审核手册才可以被复制。</P><P>此外,SAP 已预先提供了标准的审核手册,例如集团财务报表审核手册。</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AngelaDai_2-1707103834750.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/60067i719F9EF26B0F2F8E/image-size/medium?v=v2&amp;px=400" role="button" title="AngelaDai_2-1707103834750.png" alt="AngelaDai_2-1707103834750.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>更多关于如何复制和配置审核手册可以参考<SPAN><A href="https://help.sap.com/docs/SAP_S4HANA_CLOUD/ee9ee0ca4c3942068ea584d2f929b5b1/d4d4101b03754a84a7d26893911f7dbc.html?version=2402.500" target="_blank" rel="noopener noreferrer">文档</A></SPAN>。</P><P>&nbsp;</P><P>&nbsp;</P><H2 id="toc-hId--16767488">升级后弃用的CDS</H2><P>系统升级后有CDS会被弃用,例如I_Materialstock。建议客户查看<SPAN><A href="https://help.sap.com/whats-new/4328a3353fb14ef6ba3345697ac9ecc3?Business_Area=ABAP%20Platform%3BAccounting%20and%20Financial%20Close%3BAdvanced%20Order%20Promising%3BAnalytics%3BBilling%20and%20Revenue%20Innovation%20Management%3BCentral%20Procurement%3BContract%20Management%3BCorporate%20Sustainability%3BCross%20Topics%3BDelivery%20and%20Transportation%3BEnterprise%20Information%20Management%3BEnterprise%20Portfolio%20and%20Project%20Management%3BEnvironment,%20Health,%20and%20Safety%3BExtended%20Production%20Planning%20and%20Scheduling%3BGeneral%20Functions%3BGovernance,%20Risk%20and%20Compliance%20for%20Finance%3BIntegrated%20Product%20Development%20for%20Discrete%20Industries%3BIntegrated%20Product%20Development%20for%20Process%20Industries%3BInventory%3BInvoice%20Management%3BMaintenance%20Management%3BManagement%20Accounting%20and%20Margin%20Analysis%3BMaterial%20Unit%20Identification%3BOperational%20Procurement%3BOrder%20and%20Contract%20Management%3BOrder%20Promising%3BProduct%20Compliance%3BProduct%20Safety%20and%20Stewardship%3BProduction%20Engineering%3BProduction%20Operations%3BProduction%20Planning%3BQuality%20Management%3BReal%20Estate%20Management%3BReceivables%20Management%3BService%20Master%20Data%20and%20Agreement%20Management%3BService%20Operations%20and%20Processes%3BSolution%20Business%20Management%3BSourcing%3BSpend%20Analysis%3BTime%20and%20Attendance%20Management%3BTreasury%20Management%3BUser%20Experience%3BWarehousing&amp;Version=SAP%20S%2F4HANA%20Cloud%202402&amp;locale=en-US&amp;Category=CDS%20View&amp;Type=Deprecated" target="_blank" rel="noopener noreferrer">弃用CDS清单</A></SPAN>,根据系统实际使用情况,尽快切换到后继CDS。</P><P>&nbsp;</P><P><STRONG>更多关于</STRONG> <STRONG>SAP S/4HANA Cloud Public Edition</STRONG><STRONG>分析报表话题</STRONG><STRONG>:</STRONG></P><UL><LI>SAP S/4HANA Cloud嵌入式分析业务用例汇总及简介 <A href="https://blogs.sap.com/?p=1837215" target="_blank" rel="noopener noreferrer">查看</A></LI><LI>SAP S/4HANA Cloud公有云版本中三系统开发扩展性与二系统关键用户扩展性报表开发对比 <A href="https://blogs.sap.com/?p=1857759" target="_blank" rel="noopener noreferrer">查看</A></LI></UL> 2024-02-05T13:46:47.399000+01:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sap-activate-what-s-new-in-user-experience-guidance-with-sap-fiori-for-sap/ba-p/13615104 SAP Activate – What’s New in User Experience guidance with SAP Fiori for SAP S/4HANA 2024-02-22T06:45:12.736000+01:00 Jocelyn_Dart https://community.sap.com/t5/user/viewprofilepage/user-id/131660 <P>Good news for those implementing SAP Fiori for SAP S/4HANA!</P><P>Over the last couple of months, the SAP S/4HANA RIG team have been hard at work bringing several updates to the User Experience content and accelerators for SAP S/4HANA roadmaps in SAP Activate.</P><P>These updates bring the latest information for SAP S/4HANA 2023 (and 2022) releases to your project planning.</P><P>The following roadmaps now include User Experience content and accelerators:</P><UL><LI><A href="https://go.support.sap.com/roadmapviewer/#/group//roadmapContentPage/a11ec6d657054bf9:t3" target="_blank" rel="noopener noreferrer">SAP Activate Methodology for RISE with SAP S/4HANA Cloud Private Edition</A></LI><LI><A href="https://go.support.sap.com/roadmapviewer/#/group//roadmapOverviewPage/S4HANATRANSONPRE" target="_blank" rel="noopener noreferrer">SAP Activate Methodology for Transition to SAP S/4HANA</A></LI><LI><A href="https://go.support.sap.com/roadmapviewer/#/group//roadmapOverviewPage/MATS4HANA" target="_blank" rel="noopener noreferrer">SAP Activate Methodology for SAP S/4HANA Upgrades</A></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Jocelyn_Dart_0-1708578892757.png" style="width: 453px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/69025i8A87CB135AC55A67/image-dimensions/453x256?v=v2" width="453" height="256" role="button" title="Jocelyn_Dart_0-1708578892757.png" alt="Jocelyn_Dart_0-1708578892757.png" /></span></P><P><STRONG>What’s Changed? </STRONG></P><UL><LI>Much of the UX-related task content has been updated in SAP Activate Methodology for RISE with SAP S/4HANA Cloud Private Edition.</LI><LI>Several accelerators have been updated and shared across multiple related roadmaps. &nbsp;Here’s a quick summary of what’s changed.</LI></UL><P>Below you will find a quick summary of what to use when you are:</P><UL><LI>Getting started with SAP Fiori for SAP S/4HANA</LI><LI>Want to see an examples of how experts introduce UX</LI><LI>Planning to demonstrate SAP Fiori</LI><LI>Planning your SAP S/4HANA upgrade</LI><LI>Moving to Spaces and Pages layout</LI><LI>Looking to grow your usage of SAP Fiori&nbsp;</LI><LI>Looking to add SAP Build Work Zone and SAP Mobile Start</LI><LI>Want more User Experience advice in SAP Activate</LI></UL><P><EM>P.s. Much of the content in SAP Activate related to system conversions has also been updated by the SAP S/4HANA RIG team.&nbsp; You can find more about the other updates in blog post </EM><A href="https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/news-from-sap-activate-sap-s-4hana-cloud-public-edition-2402/ba-p/13589835" target="_blank"><STRONG><EM>News from SAP Activate SAP S/4HANA Cloud Public Edition 2402</EM></STRONG></A></P><H1 id="toc-hId-857988094">Getting started with SAP Fiori for SAP S/4HANA ?</H1><P><STRONG>Not sure how to explain User Experience to your business? </STRONG></P><UL><LI>You’ll find some useful slides and preparation ideas in <A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_939%20UX%20Adoption%20_%20Establish%20the%20Business%20Value%20of%20UX%20Workshop.pptx" target="_blank" rel="noopener noreferrer">UX Adoption: Establish the Business Value of UX Workshop (Public)</A></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Jocelyn_Dart_1-1708579032338.png" style="width: 443px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/69026i991FBA89D6548E0E/image-dimensions/443x249?v=v2" width="443" height="249" role="button" title="Jocelyn_Dart_1-1708579032338.png" alt="Jocelyn_Dart_1-1708579032338.png" /></span></P><H2 id="toc-hId-790557308"><STRONG>Want to see an examples of how experts introduce UX? </STRONG></H2><P>See how I do it in the <A href="https://open.sap.com/courses/s4h34" target="_blank" rel="noopener noreferrer">openSAP course SAP S/4HANA UX for Business and Functional Experts.</A><EM> Missed it? No problem! Join the course self-paced.</EM></P><P>Review the video:</P><UL><LI><A href="https://open.sap.com/courses/s4h34/items/18mcSm8gk08SFS1uN1Yytd" target="_blank" rel="noopener noreferrer">Unit 1: How to explain the value of SAP Fiori</A></LI></UL><H2 id="toc-hId-594043803"><STRONG>Planning to demonstrate SAP Fiori? </STRONG></H2><P>You will find it very helpful to review the <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-fiori-tips-tricks-for-users-of-sap-s-4hana/ba-p/13552344" target="_blank"><STRONG>SAP Fiori: Tips &amp; Tricks for Users of SAP S/4HANA</STRONG></A> which is also listed in the SAP Activate accelerators.</P><P>You will need a User Experience Strategy to set your baseline expectations, architecture, features, and tools.&nbsp; Accelerator <A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_947%20User%20Experience%20Strategy%20Template.docx" target="_blank" rel="noopener noreferrer">User Experience Strategy Template (Public)</A> &nbsp;now contains much more assistance, along with some Guiding Principles to help you keep your team human-centred.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Jocelyn_Dart_2-1708579160672.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/69027iD476A4B0F5D53998/image-size/medium?v=v2&amp;px=400" role="button" title="Jocelyn_Dart_2-1708579160672.png" alt="Jocelyn_Dart_2-1708579160672.png" /></span></P><H2 id="toc-hId-397530298"><STRONG>Want to discuss your UX Strategy with your business? </STRONG></H2><P>Accelerator <A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">UX </A><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">Adoption: UX Strategy and Guiding Principles Workshop (Public</A><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">)</A> now has a flipbook-style section showing how to make cross-functional feature in/out of scope decisions with your team.</P><H1 id="toc-hId-71934074">Planning a SAP S/4HANA upgrade ?</H1><P>Take a look at SAP Activate roadmap <A href="https://go.support.sap.com/roadmapviewer/#/group//roadmapOverviewPage/MATS4HANA" target="_blank" rel="noopener noreferrer">SAP Activate Methodology for SAP S/4HANA Upgrades</A></P><P>Even if you are going for a technical upgrade approach, you will still need to revisit your UX Strategy and launchpad feature usage. This ensures you cover any mandatory changes due to:</P><UL><LI>New, changed, or deprecated launchpad features</LI><LI>Obsolete, deprecated, or superseded apps</LI><LI>New, changed, or deprecated launchpad administration tooling</LI></UL><P>Accelerator <A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">UX </A><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">Adoption: UX Strategy and Guiding Principles Workshop (Public</A><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">)</A> shows how to make cross-functional feature in/out decisions with your team, and document the reasons for change.&nbsp; Accelerator <A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_947%20User%20Experience%20Strategy%20Template.docx" target="_blank" rel="noopener noreferrer">User Experience Strategy Template (Public)</A>&nbsp;has the latest best practices for launchpad features and administration tooling.</P><P>Missing some advice on upgrading your SAP Fiori for SAP S/4HANA? Please let us know what else you need in the comments.</P><H1 id="toc-hId--124579431">Moving to Spaces and Pages layout?</H1><P>You will find some suggestions on how to get started in <A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_937%20How%20to%20approach%20Design%20your%20Launchpad%20Layout.pptx" target="_blank" rel="noopener noreferrer">UX Adoption: How to approach Design your Launchpad Layout​ Workshop (Public)</A></P><P>Doing a deeper dive with blog post <A href="https://community.sap.com/t5/technology-blogs-by-sap/info-package-making-the-move-from-launchpad-groups-to-spaces-in-sap-s-4hana/ba-p/13580564" target="_blank">Info Package: Making the Move from Launchpad Groups to Spaces (In SAP S/4HANA and in SAP S/4HANA Cloud, private edition)</A></P><H1 id="toc-hId--321092936">Looking to grow your usage of SAP Fiori ?</H1><P><STRONG>Looking for ideas on which apps to use? </STRONG></P><P>You will find updated guides for selecting apps by UX Value at <A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_944%20UX%20Value%20Goal%20App%20Selection%20guides.zip" target="_blank" rel="noopener noreferrer">UX Value Goal App Selection Guides (Public)</A></P><P>With more than 3K apps, even with suggestions from tools such as <A href="https://www.signavio.com/products/process-insights/" target="_blank" rel="noopener nofollow noreferrer">SAP Signavio Process Insights</A>, and Readiness Check, you’ll need a way to narrow down the focus.</P><P>The <STRONG>UX Adoption Planning</STRONG> process shows how to have a <STRONG>now/next/later</STRONG> discussion to engage with your business stakeholders.</P><P>You can find an introduction to the major steps in <A href="https://open.sap.com/courses/s4h34" target="_blank" rel="noopener noreferrer">openSAP course SAP S/4HANA UX for Business and Functional Experts.</A><EM> Missed it? No problem! Join the course self-paced.</EM></P><P>Review the videos:</P><UL><LI><A href="https://open.sap.com/courses/s4h34/items/3GkaeuIDVNOUUnPiwlyEG5" target="_blank" rel="noopener noreferrer">Week 1 Unit 7 UX adoption planning – Selecting UX for business value</A></LI><LI><A href="https://open.sap.com/courses/s4h34/items/14mNHoOGAywk8UA6WNwF0I" target="_blank" rel="noopener noreferrer">Week 1 Unit 8 Real world experiences in defining a UX adoption roadmap</A></LI></UL><P>You will find the entire matching series of updated workshop templates in SAP Activate.&nbsp; You will even find some suggestions on which major decision points to focus on at each stage to keep it simple.</P><UL><LI><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_939%20UX%20Adoption%20_%20Establish%20the%20Business%20Value%20of%20UX%20Workshop.pptx" target="_blank" rel="noopener noreferrer">UX Adoption: Establish the Business Value of UX Workshop (Public)</A></LI><LI><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">UX </A><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">Adoption: UX Strategy and Guiding Principles Workshop (Public</A><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">)</A></LI><LI><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_941%20UX%20Adoption%20_%20Scope%20the%20Future%20Workshop.pptx" target="_blank" rel="noopener noreferrer">UX Adoption: Scope the Future Workshop (Public)</A></LI><LI><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_942%20UX%20Adoption%20_%20Envision%20the%20Future.pptx" target="_blank" rel="noopener noreferrer">UX Adoption: Envision the Future Workshop (Public)</A></LI><LI><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_937%20How%20to%20approach%20Design%20your%20Launchpad%20Layout.pptx" target="_blank" rel="noopener noreferrer">UX Adoption: How to approach Design your Launchpad Layout​ Workshop (Public)</A></LI><LI><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_943%20UX%20Adoption%20_%20Review%20realised%20UX%20business%20benefits.pptx" target="_blank" rel="noopener noreferrer">UX Adoption: Review realized UX Business Benefits (Public)</A></LI></UL><P>Use it all or just whatever helps you move forward. That’s the intention ... and how other customers tell us they are using the content.</P><H1 id="toc-hId--517606441">Looking to add SAP Build Work Zone and SAP Mobile Start? &nbsp;&nbsp;</H1><P>With SAP S/4HANA focus on <STRONG>SAP Build Work Zone, standard edition</STRONG>.</P><P>You will find the latest guidance and suggestions at&nbsp;<A href="https://pages.community.sap.com/topics/work-zone" target="_blank" rel="noopener noreferrer">SAP Community topic page for SAP Build Work Zone</A>&nbsp;</P><P>As a first step, you should review the latest architecture guidance announcements in blog post&nbsp;<A href="https://www.sap.com/documents/2018/02/f0148939-f27c-0010-82c7-eda71af511fa.html" target="_blank" rel="noopener noreferrer">SAP Fiori Deployment Options and System Landscape Recommendations</A></P><P>You will find some suggestions on where to incorporate SAP Build Work Zone in your UX Strategy in accelerator&nbsp;<A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_947%20User%20Experience%20Strategy%20Template.docx" target="_blank" rel="noopener noreferrer">User Experience Strategy Template (Public)</A>.&nbsp; You can engage your business on your SAP Build Work Zone journey by using the Cross-Functional Feature Decisions approach shown in accelerator&nbsp;<A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">UX </A><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">Adoption: UX Strategy and Guiding Principles Workshop (Public</A><A href="https://support.sap.com/content/dam/SAAP/SAP_Activate/S4H_940%20UX%20Adoption%20_%20UX%20Strategy%20and%20Guiding%20Principles.pptx" target="_blank" rel="noopener noreferrer">)</A>&nbsp;</P><P>Then get the latest news on what’s possible by reviewing the latest roadmap blog posts from SAP such as:</P><UL><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-ux-innovations-in-public-cloud-products-joule-ai-entry-points-apple/ba-p/13594954" target="_blank"><STRONG>SAP UX Innovations in Public Cloud Products, Joule, AI, Entry Points, Apple Vision Pro and more</STRONG></A></LI></UL><H1 id="toc-hId--714119946">Want more SAP Activate updates for User Experience?</H1><P>Whew! There’s a lot of content in SAP Activate so if you see something that needs improving, please let us know in the comments!&nbsp;</P><P>Don't forget to use the <STRONG>User Experience tag</STRONG>&nbsp;(in the left-hand filter pane) of SAP Activate to find the rest of the recommended UX content and accelerators already available in SAP Activate.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Jocelyn_Dart_3-1708580380051.png" style="width: 478px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/69035i3F403758ADBE47A3/image-dimensions/478x404?v=v2" width="478" height="404" role="button" title="Jocelyn_Dart_3-1708580380051.png" alt="Jocelyn_Dart_3-1708580380051.png" /></span></P><P>Find out more about SAP Activate on the <A href="https://pages.community.sap.com/topics/activate" target="_blank" rel="noopener noreferrer">SAP Activate topic page</A>.</P><UL><LI>Follow the&nbsp;<A href="https://community.sap.com/topics/activate" target="_blank">SAP Activate</A>&nbsp;page on the SAP Community. Remember to turn on your notification to receive updates or information about items requiring your attention.&nbsp;</LI><LI>Tune into the SAP Activate Minute videos in our <A href="https://video.sap.com/playlist/details/1_igy45dy5" target="_blank" rel="noopener noreferrer">SAP Activate Playlist</A>. Subscribe to get notified when we drop new videos. We have big plans to add interesting new topics.</LI></UL><P>Find more from the SAP S/4HANA RIG team via tag <A href="https://community.sap.com/t5/tag/S4HANA%20RIG/tg-p" target="_blank"><STRONG>S4HANA RIG</STRONG></A></P><P>Find more on UX at our&nbsp; <A href="https://community.sap.com/topics/fiori/s4hana" target="_blank">SAP Fiori for SAP S/4HANA topic page</A></P><P>Other helpful links:</P><UL><LI>See all questions and answers about <A href="https://community.sap.com/t5/c-khhcw49343/SAP+Fiori+for+SAP+S%25252F4HANA/pd-p/73555000100800000131" target="_blank">SAP Fiori for SAP S/4HANA&nbsp;</A></LI><LI>Follow <A href="https://blogs.sap.com/tags/73555000100800000131/" target="_blank" rel="noopener noreferrer">SAP Fiori for SAP S/4HANA</A> for more blogs and updates&nbsp;</LI><LI><A href="https://community.sap.com/t5/forums/postpage/choose-node/true/board-id/technology-questions?primaryTagId=73555000100800000131" target="_blank">Ask a Question about SAP Fiori for SAP S/4HANA</A></LI></UL><P><EM>Brought to you by the SAP S/4HANA RIG and Customer Care team.</EM></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-02-22T06:45:12.736000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/new-asynchronous-export-to-spreadsheet-feature-for-the-multidimensional/ba-p/13619049 New Asynchronous Export to Spreadsheet Feature for the Multidimensional Data Grid Apps 2024-02-27T11:20:25.612000+01:00 Jan-Ole https://community.sap.com/t5/user/viewprofilepage/user-id/1401786 <P>Dear SAP Community,</P><P>In 2021, the <A href="https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/six-reasons-why-web-dynpro-is-better-than-design-studio-in-sap-s-4hana/ba-p/13520602" target="_blank">Web Dynpro Multidimensional Data Grid App replaced</A>&nbsp;the SAP Design Studio app as default reporting tool for drill-down reporting in SAP S/4HANA.</P><P><BR />Initially designed for human interaction, this web application offers an export feature that has been continuously improved and streamlined over time:</P><UL><LI>Export of PDF files</LI><LI>Streamlining of export to improve performance</LI><LI>Google workspace integration with the possibility to export spreadsheets to Google directly</LI><LI>etc.</LI></UL><P>However, there always was the possibility that the amount of data cells simply was too large, and the system would run out of memory, or into a timeout. SAP Note&nbsp;<A href="https://me.sap.com/notes/0002547776" target="_blank" rel="noopener noreferrer">2547776</A> introduced a popup message that warned a user of these risks in case more than 100.000 cells would be exported.</P><P>Now the next step in terms of performance optimization has been taken by offering to export large amounts of data in a background task. Furthermore, the user can trigger the export in the background (see Figure 1), and continue working in the application without having to wait until the export has finished, with or without the application still alive and running.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Figure 1: “Export to Spreadsheet” popup with a new function to trigger the export in the background." style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/71086i051BF28942404AB0/image-size/medium?v=v2&amp;px=400" role="button" title="JanOle_0-1708943178529.png" alt="Figure 1: “Export to Spreadsheet” popup with a new function to trigger the export in the background." /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure 1: “Export to Spreadsheet” popup with a new function to trigger the export in the background.</span></span></P><P>&nbsp;</P><P>Once the background task has finished, if the application that has triggered it is still running, the user is informed of the success (or failure) of the export. The exported file is then available for download for the next 72 hours. Expired files will be deleted automatically from the database table.</P><P>The files can be accessed either in a new tab “Downloads” (e.g. in the generic FPM_BICS_OVP apps), or in a dialog window that can be accessed via the download button choice for applications that do not offer the new tab directly (see Figure 2). In both cases, the same component is used, and the layout is the same.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure 2: List of downloads to monitor the status and access the result of the asynchronous exports." style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/71087i3E7C09909947AE62/image-size/large?v=v2&amp;px=999" role="button" title="JanOle_1-1708943178533.png" alt="Figure 2: List of downloads to monitor the status and access the result of the asynchronous exports." /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure 2: List of downloads to monitor the status and access the result of the asynchronous exports.</span></span></P><P>In the list of downloads in this example, the first file “export.xlsx” already has been exported successfully, while the second file “demo_export” is currently being exported. Download is possible only for successfully exported files, while deletion is possible also for entries where the export has failed or is currently in progress. However, deleting an unfinished export does not abort the background process.</P><P>During a single user session, only one background export can be executed at any given time. If you start an export in background while there is still another process running, the new process will not be started, and an error message will be displayed.</P><P>It should be noted that this does not mean that unlimited amounts of data can be exported from the grid now. There are still scenarios where the amount of data required to export a file is outside the boundaries of memory allocation for a work process. This depends not only on the number of cells in the grid, but also on their (conditional) formatting and merging, variables, and filters, down to the definition of the query and the used database tables. Even the database technology may have an influence on how much data can be processed at once.</P><P>The feature is available with SAP Note <A href="https://me.sap.com/notes/0003427386" target="_blank" rel="noopener noreferrer">3427386</A> for SAP_BW 757 and 758, and SAP Note <A href="https://me.sap.com/notes/0003434831" target="_blank" rel="noopener noreferrer">3434831</A> for BW/4HANA 400, and it is planned to be contained in the 2408 updates of SAP S/4HANA Cloud Public Edition and SAP BW/4HANA Cloud Public Edition.<BR /><EM>[A previous version of this blog stated that it will be contained in the 2408 update. Since this is current state of planning and may be changed by SAP at any time without notice, the wording has been adopted.]</EM></P><P>With this new feature, you can more easily export data from a Multidimensional Data Grid Apps <SPAN>without blocking the application and reduce the risk of running into error situations.</SPAN></P> 2024-02-27T11:20:25.612000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/cds-view-time-comparison/ba-p/13620651 CDS View: Time comparison 2024-02-28T22:27:29.400000+01:00 LinaRaut https://community.sap.com/t5/user/viewprofilepage/user-id/179963 <P><FONT color="#000000">This blog is about CDS scalar functions - CALENDER_SHIFT and CALENDER_OPERATIONS and how to use it in analytical queries for time comparison. Similarly FISCAL_CALENDAR_SHIFT and FISCAL_CALENDAR_OPERATION can be used.</FONT></P><P><FONT color="#000000">These CDS scalar functions are used to compare the measure value of current time period with previous time period. Further it can be used to calculate measure value for year to date (YTD), month to date (MTD) or quarter to date (QTD). Current member can only be used when time dimensions are in drilldown else restricted measure is used. The usage of current member is not as fast as restricted measure. Detail specification of the mentioned scalar functions can be found in Help.</FONT></P><H2 id="toc-hId-987850336">&nbsp;</H2><H2 id="toc-hId-791336831"><FONT color="#000000"><STRONG>Usage of Current Member</STRONG></FONT></H2><P><FONT color="#000000">This function can be used by modeling an association with the cube. In the ON-condition, the scalar functions are specified on the right side.</FONT></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>association to ZOQ_FLIGHT as _previousMonth on _previousMonth.fyearMonth = calendar_shift( base =&gt; $projection.fyearMonth, base_level =&gt; calendar_date_level.#MONTH, shift =&gt; abap.int2'-1', shift_level =&gt; calendar_date_level.#MONTH )</code></pre><P>&nbsp;</P><P>&nbsp;</P><P><FONT color="#000000"><STRONG>Constraints:</STRONG></FONT></P><UL><LI><FONT color="#000000">Current member to work properly, we have to mark all the time fields which are related with annotation - @ObjectModel.value.derivedFrom. We should also specify semantics. </FONT><FONT color="#000000">for example,</FONT></LI></UL><P><FONT color="#000000">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<STRONG>key</STRONG> fldate,<BR />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<STRONG>@ObjectModel.value.derivedFrom: 'fldate'</STRONG><BR />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;@Semantics.calendar.yearMonth: true<BR />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;@ EndUserText.label: 'FL Month'<BR />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_calday.calmonth <STRONG>as</STRONG> fyearMonth,&nbsp;</FONT><FONT color="#000000">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</FONT></P><UL><LI><FONT color="#000000">The base parameter must be filled with the same field name as it appears on the left: for example, the field name __previousMonth<STRONG>.</STRONG><SPAN><STRONG>fyearMonth</STRONG> &nbsp;&nbsp;should be same as base </SPAN><STRONG>=&gt;</STRONG> $projection<STRONG>.fyearMonth</STRONG></FONT></LI></UL><UL><LI><FONT color="#000000">The Semantics of field $projection.fyearMonth must match the base_level parameter. As In the cube view example, the fyearMonth field has the annotation &nbsp;@Semantics.calendar.yearMonth: true, &nbsp;base_level is specified as calendar_date_level<STRONG>.</STRONG>#MONTH.</FONT></LI><LI><FONT color="#000000">In the example to restrict the measure to the previous month, shift is set to -1 and shift_level is set to #MONTH. There is a constraint in using shift_level with base_level : for example for base level #MONTH, shift _level can be #MONTH,#QUARTER or #YEAR But can’t be #DAY.</FONT></LI></UL><P><FONT color="#000000">&nbsp;&nbsp;<STRONG>Example 1:&nbsp;</STRONG> Time comparison with time in drill-down (Current Member Variables)</FONT></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AccessControl.authorizationCheck: #NOT_ALLOWED @EndUserText.label: 'Query: Current Memeber on Month' define transient view entity ZLR_PC_CM_1 provider contract analytical_query as projection on ZOQ_FLIGHT association to ZOQ_FLIGHT as _previousMonth on _previousMonth.fyearMonth = calendar_shift( base =&gt; $projection.fyearMonth, base_level =&gt; calendar_date_level.#month, shift =&gt; abap.int2'-1', shift_level =&gt; calendar_date_level.#month ) association to ZOQ_FLIGHT as _firstMonthOfQuarter on _firstMonthOfQuarter.fyearMonth between calendar_operation( base =&gt; $projection.fyearMonth, base_level =&gt; calendar_date_level.#month, operation =&gt; calendar_date_operation.#first, operation_level =&gt; calendar_date_level.#quarter ) and $projection.fyearMonth association to ZOQ_FLIGHT as _CMM1_CMP1 on _CMM1_CMP1.fyearMonth between calendar_shift( base =&gt; $projection.fyearMonth, base_level =&gt; calendar_date_level.#month, shift =&gt; abap.int2'-1', shift_level =&gt; calendar_date_level.#month ) and calendar_shift( base =&gt; $projection.fyearMonth, base_level =&gt; calendar_date_level.#month, shift =&gt; abap.int2'1', shift_level =&gt; calendar_date_level.#month ) { @AnalyticsDetails.query: { axis: #ROWS, totals: #SHOW } @EndUserText.label: 'Year Quarter' flquarter, @AnalyticsDetails.query: { axis: #ROWS, totals: #SHOW } @EndUserText.label: 'Year Month' fyearMonth, @AnalyticsDetails.query.axis: #FREE .hidden: true currency, @Semantics.amount.currencyCode: 'currency' paymentsum, _previousMonth.currency as PrevMonthCurrency, @Semantics.amount.currencyCode : 'PrevMonthCurrency' @EndUserText.label: 'Previous Month' _previousMonth.paymentsum as PrevMonthPayment, _firstMonthOfQuarter.currency as firstMonthOfQuartCurrency, @Semantics.amount.currencyCode : 'firstMonthOfQuartCurrency' @EndUserText.label: 'Quarter to today' _firstMonthOfQuarter.paymentsum as firstMonthOfQuartPayment, _CMM1_CMP1.currency as last3MonthCurrency, @Semantics.amount.currencyCode : 'last3MonthCurrency' @EndUserText.label: 'Previous month To next month' _CMM1_CMP1.paymentsum as CMM1_CMP1Payment } where flyear = '2019' and currency = 'EUR'</code></pre><P>&nbsp;</P><P>&nbsp;</P><P><FONT color="#000000"><STRONG>Result:</STRONG></FONT></P><P><FONT color="#000000"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LinaRaut_2-1709031740486.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/71830iDE9646596608699E/image-size/large?v=v2&amp;px=999" role="button" title="LinaRaut_2-1709031740486.png" alt="LinaRaut_2-1709031740486.png" /></span></FONT></P><P><FONT color="#000000">In this Result</FONT></P><UL><LI><FONT color="#000000"><FONT color="#FF0000"><STRONG>Red</STRONG></FONT>- column Previous Month -shows value from previous month.</FONT></LI><LI><FONT color="#000000"><FONT color="#FFCC00"><STRONG>Yellow</STRONG></FONT>- column Quarter to Today- shows the aggregate values of previous months in this quarter.</FONT></LI><LI><FONT color="#000000"><FONT color="#339966"><STRONG>Green</STRONG></FONT>- column Gliding window of 3 month- shows aggregate value of previous month + current month + next month.</FONT></LI></UL><P>&nbsp;</P><H2 id="toc-hId-594823326"><FONT color="#000000"><STRONG>Usage of Restricted Measure</STRONG></FONT></H2><P><FONT color="#000000">This can be done using the CASE statement, where one of the scalar function is used.&nbsp;</FONT></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code> case when fyearMonth = calendar_shift( base =&gt; $parameters.p_month, base_level =&gt; calendar_date_level.#MONTH, shift =&gt; abap.int2'-1', shift_level =&gt; calendar_date_level.#MONTH ) then paymentsum end as paymentPrev</code></pre><P>&nbsp;</P><P>&nbsp;</P><P><FONT color="#000000"><STRONG>Constraints:</STRONG></FONT></P><UL><LI><FONT color="#000000">The base parameter must be a parameter or a literal.</FONT></LI><LI><FONT color="#000000">The type of parameter or literal must match to &nbsp;base_level. In the example for base_level &nbsp;calendar_date_level.#MONTH, the type of parameter p_month must be NUMC6.</FONT></LI><LI><FONT color="#000000">In the example to restrict the measure to the previous month, shift is set to -1 and shift_level is set to #MONTH.</FONT></LI></UL><P><FONT color="#000000"><STRONG>Example 2:</STRONG> Time comparison (Restricted key figure)</FONT></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AccessControl.authorizationCheck: #NOT_ALLOWED @EndUserText.label: 'Query: Current Memeber on Month' define transient view entity ZLR_PC_RSRT_SHIFT1 provider contract analytical_query with parameters p_month : /bi0/oicalmonth as projection on ZOQ_FLIGHT { @AnalyticsDetails.query: { axis: #ROWS, totals: #SHOW } carrid, currency, virtual currCur : abap.cuky, @Semantics.amount.currencyCode : 'currCur' @Consumption.dynamicLabel: { label: 'Bookings &amp;1', binding: [{ index : 1 , element : 'fyearMonth' }] } case when fyearMonth = $parameters.p_month then paymentsum end as paymentCur, virtual currPrev : abap.cuky, @Semantics.amount.currencyCode : 'currPrev' @Consumption.dynamicLabel: { label: 'Previous Bookings &amp;1', binding: [{ index : 1 , element : 'fyearMonth' }] } case when fyearMonth = calendar_shift( base =&gt; $parameters.p_month, base_level =&gt; calendar_date_level.#month, shift =&gt; abap.int2'-1', shift_level =&gt; calendar_date_level.#month ) then paymentsum end as paymentPrev, virtual currLastInYear : abap.cuky, @Semantics.amount.currencyCode : 'currLastInYear' @Consumption.dynamicLabel: { label: 'Bookings from &amp;1 To &amp;2', binding: [{ index : 1 , element : 'fyearMonth', replaceWith: #LOW }, { index : 2 , element : 'fyearMonth', replaceWith: #HIGH }] } case when fyearMonth between calendar_operation( base =&gt; $parameters.p_month, base_level =&gt; calendar_date_level.#month, operation =&gt; calendar_date_operation.#first, operation_level =&gt; calendar_date_level.#year ) and $parameters.p_month then paymentsum end as paymentToDate } where currency = 'EUR'</code></pre><P>&nbsp;</P><P>&nbsp;</P><P><FONT color="#000000"><STRONG>Result:</STRONG></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LinaRaut_3-1709031740488.png" style="width: 800px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/71829i4C6A60C9C4189EE8/image-dimensions/800x159?v=v2" width="800" height="159" role="button" title="LinaRaut_3-1709031740488.png" alt="LinaRaut_3-1709031740488.png" /></span></P><P><FONT color="#000000">In this example I have used @Consumption.dynamicLabel to dynamically set the column label with values calculated from parameter.</FONT></P><H2 id="toc-hId-398309821">&nbsp;</H2><H2 id="toc-hId-201796316"><FONT color="#000000">Release Info:</FONT></H2><P><FONT color="#000000">On-Prem SAP_BW from 7.58 and Cloud from 2308</FONT></P><H2 id="toc-hId-5282811"><FONT color="#000000">Related Notes:</FONT></H2><P><FONT color="#000000">3270090-CurrentMember + FemsN</FONT></P><P><FONT color="#000000">3359468-Current Member on reference characteristic and selection for Partial Time Characteristic</FONT></P> 2024-02-28T22:27:29.400000+01:00 https://community.sap.com/t5/technology-blogs-by-members/create-popup-in-sap-analytics-cloud/ba-p/13648502 Create Popup in SAP Analytics Cloud 2024-03-25T13:29:21.820000+01:00 vignesh3027 https://community.sap.com/t5/user/viewprofilepage/user-id/160733 <P>Hello All!</P><P><SPAN><SPAN class="">I wanted to share my Proof of concept about <STRONG>Creating an alert or popup in the SAP Analytics Cloud</STRONG>, This feature will be very useful for alerting purposes.</SPAN></SPAN></P><P><SPAN><SPAN class="">SAP Analytics Cloud is used to create reports and planning with many features, in that particularly the SAP Analytics cloud&nbsp; allows developers to develop a report in three types types&nbsp;</SPAN></SPAN></P><UL><LI><SPAN><SPAN class="">Optimized Design Experiences</SPAN></SPAN></LI><LI><SPAN><SPAN class="">Classic Design Experiences</SPAN></SPAN></LI><LI><SPAN><SPAN class="">Analytical Application</SPAN></SPAN></LI></UL><P><SPAN><SPAN class="">Each has its special features, in our case, we going to use <EM><STRONG>Optimized Design Experiences (ODE)</STRONG></EM>, Since Classic Design Experiences doesn't support scripting features.</SPAN></SPAN></P><P><STRONG><SPAN class="">Step 1</SPAN></STRONG></P><UL><LI><SPAN class="">Create a story in Optimized Design Experiences</SPAN></LI><LI><SPAN class="">Drag a chart and then select the data source, in my case, I choose a required model for the data source.</SPAN></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vignesh3027_0-1711365684678.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85923iC8187612723D5256/image-size/large?v=v2&amp;px=999" role="button" title="vignesh3027_0-1711365684678.png" alt="vignesh3027_0-1711365684678.png" /></span></P><P><STRONG>Step 2</STRONG></P><UL><LI>Choose the required measure and dimensions that to be displayed in the corresponding chart.</LI><LI>In my case, I chose the Numeric chart and Revenue as measures.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vignesh3027_1-1711365922595.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85924i1F89EB1C08C9C939/image-size/large?v=v2&amp;px=999" role="button" title="vignesh3027_1-1711365922595.png" alt="vignesh3027_1-1711365922595.png" /></span></P><P><STRONG>Step 3</STRONG></P><UL><LI>In the left side panel, you can find the <STRONG>Outline</STRONG> tab, click on it.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vignesh3027_2-1711366168030.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85927iC9FB8FD4DC9844E0/image-size/large?v=v2&amp;px=999" role="button" title="vignesh3027_2-1711366168030.png" alt="vignesh3027_2-1711366168030.png" /></span></P><P><STRONG>Step 4</STRONG></P><UL><LI>Select Page 1, click on more options</LI><LI>Add Popup</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vignesh3027_8-1711368282884.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85936i8AB43E36B525BE72/image-size/large?v=v2&amp;px=999" role="button" title="vignesh3027_8-1711368282884.png" alt="vignesh3027_8-1711368282884.png" /></span></P><P><STRONG>Step 5</STRONG></P><UL><LI>In Popup, I have added an image for the warning and a text box to display the alert message.</LI><LI>The popup is one of the best features, we can display one complete KPI chart or table in the popup itself.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vignesh3027_9-1711368429417.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85937iBD80CB54BBC7A621/image-size/large?v=v2&amp;px=999" role="button" title="vignesh3027_9-1711368429417.png" alt="vignesh3027_9-1711368429417.png" /></span></P><UL><LI>Go to edit the script for Popup, initally it should be closed because whenever the revenue goes below 8000 then only it will be execute, so I coded accordingly.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vignesh3027_7-1711367981657.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85935iE64965299C6D40CD/image-size/large?v=v2&amp;px=999" role="button" title="vignesh3027_7-1711367981657.png" alt="vignesh3027_7-1711367981657.png" /></span></P><P><STRONG>Step 6</STRONG></P><UL><LI>Select the Page_1 and go to Edit Scripts</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vignesh3027_4-1711366671160.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85930i00CA156C9A754428/image-size/large?v=v2&amp;px=999" role="button" title="vignesh3027_4-1711366671160.png" alt="vignesh3027_4-1711366671160.png" /></span></P><P><STRONG>Step 7</STRONG></P><UL><LI>Select onInitialization</LI><LI>Here is my code, this code is used to get all the data in that particular chart and store it in a variable called Revenue, In my case, I want to display the popup when the Revenue goes below <STRONG>8,000.</STRONG></LI><LI>If the revenue value go below 8,000 then the Popup will display, If not then the Popup will remain closed.</LI><LI>Save the story and see it in view mode.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vignesh3027_6-1711367659150.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85933iF7DD27838CAC208A/image-size/large?v=v2&amp;px=999" role="button" title="vignesh3027_6-1711367659150.png" alt="vignesh3027_6-1711367659150.png" /></span></P><P><STRONG>Output</STRONG></P><P>Here The Revenue value is 7000, I coded it to show the alert popup whenever the revenue goes below 8000.</P><P>And So the Popup is displayed successfully.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vignesh3027_10-1711369099931.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/85940iD449491DFCDD9F57/image-size/large?v=v2&amp;px=999" role="button" title="vignesh3027_10-1711369099931.png" alt="vignesh3027_10-1711369099931.png" /></span></P><P><div class="video-embed-center video-embed"><iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FoJ5MOqSaFAQ%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DoJ5MOqSaFAQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FoJ5MOqSaFAQ%2Fhqdefault.jpg&amp;key=b0d40caa4f094c68be7c29880b16f56e&amp;type=text%2Fhtml&amp;schema=youtube" width="640" height="360" scrolling="no" title="Sap analytic cloud popup Alert" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></P><P>&nbsp;</P><P>Thank You.</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-03-25T13:29:21.820000+01:00 https://community.sap.com/t5/technology-blogs-by-members/analytical-query-cds-view-creation-and-consumption-in-rsrt-along-with/ba-p/13641058 Analytical Query CDS View creation and consumption in RSRT along with publishing OData Services 2024-03-26T20:25:51.107000+01:00 chandan_k1 https://community.sap.com/t5/user/viewprofilepage/user-id/1404171 <H2 id="toc-hId-989721410">Introduction</H2><P>In this blog you will learn about the creation of Query CDS Views for Analytical purpose and their consumption in RSRT tool, along with the required steps that needs to be followed to achieve it. Once after the Analytical query creation, I have tried replicating one of my project scenarios to have better understanding on defining key figures/ measures in CDS views. In the end blog explains about the process needs to be followed to expose the given Query CDS view into OData service links. The Query CDS Views are created specifically for Analytical reporting purposes within SAP systems. They can be optimized for certain reporting scenarios, analytical queries, aggregations and further can be integrated with SAP FIORI tool providing much better visual reporting experience.</P><H2 id="toc-hId-793207905">Creation of query CDS view:</H2><P>For the creation of query CDS view we must follow 3 basic steps as mentioned below:<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot1: Pictorial representation of Analytical Query CDS View" style="width: 628px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83968iD467C10DDEBCF2AF/image-dimensions/628x561?v=v2" width="628" height="561" role="button" title="SS1.png" alt="Screenshot1: Pictorial representation of Analytical Query CDS View" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot1: Pictorial representation of Analytical Query CDS View</span></span></P><P>&nbsp;</P><H2 id="toc-hId-596694400">&nbsp;<SPAN>Steps to follow for the creation of query CDS view:</SPAN></H2><P><STRONG>1. CDS Info Provider as source</STRONG></P><P>We cannot use any standard R\3 DB tables as a source for the creation of Query CDS View. We can only use standard/existing CDS Views from the system that needs to be converted into CDS Info Provider. CDS Info Provider is called by the special annotation <FONT color="#FF9900"><EM>@Analytics.DataCategory: #CUBE</EM></FONT>. Here <STRONG>#CUBE</STRONG> means Info Provider. The significance of declaring your CDS View as cube because when we compare it with our BW terms, we will be creating report on top of Composite Provider, ADSO or Info Cube. Similarly, we need to convert our source CDS view as Info Provider to create the analytical report.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot2: Source CDS view" style="width: 382px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83495i94C0C84F38FBE545/image-dimensions/382x214?v=v2" width="382" height="214" role="button" title="SS2.png" alt="Screenshot2: Source CDS view" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot2: Source CDS view</span></span><STRONG>2. CDS Query view&nbsp;</STRONG></P><P>Once after creation of CDS Info Provider view, create new CDS view by utilizing the source Info Provider CDS view as a data source which is <EM>ZCDS_CUBE</EM> from my context. Then start building our Query CDS View report as per the Business requirement and logic.&nbsp;<STRONG>Important annotations required for enabling the CDS as query view is </STRONG><FONT color="#FF9900"><EM><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/15206">@analytics</a>.query: true </EM></FONT><STRONG>and </STRONG><EM><FONT color="#FF9900">VDM.viewType: #CONSUMPTION</FONT>. </EM>By declaring our CDS view as consumption CDS View, we will be able to derive all the required fields from our source CDS view without facing error.<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot3: Creation of Query CDS View" style="width: 375px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83496iC69F8B3122D72C4F/image-dimensions/375x245?v=v2" width="375" height="245" role="button" title="SS3.png" alt="Screenshot3: Creation of Query CDS View" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot3: Creation of Query CDS View</span></span></P><P>Few important Annotations and their significance for the creation of the structure of our Query CDS View:</P><UL><LI><EM>@AnalyticsDetails.query. axis: #ROWS</EM> – Used for defining attributes to row characteristics in Query Browser.</LI><LI><EM>@AnalyticsDetails.query. axis: #COLUMN</EM>- Used for defining key figures to column in Query Browser.</LI><LI><EM>@AnalyticsDetails.query. axis: #FREE </EM>- Used for defining attributes to Free characteristics in Query Browser.</LI><LI><EM>@AnalyticsDetails.query. sortDirection: #DESC or #ASC</EM> – For sorting the values of the defined rows in Ascending or Descending order.</LI><LI><EM>@AnalyticsDetails.query. display: #KEY_TEXT</EM>- Used for displaying the text of the key.</LI><LI><EM>@AnalyticsDetails.query. totals: #HIDE</EM> – used for displaying the totals.</LI><LI><EM>@AnalyticsDetails.query. formula</EM>: - To perform the calculations based on the Business requirements. We cannot see the formula calculations in data preview and can be displayed only when the query is processed in reporting tool.</LI><LI><EM>@EndUser.text. label: </EM>– Can be used for labelling the new field that will be derived from Formula.</LI><LI><EM>@consumption. filter.mandatory : True</EM> :- This annotation will give us prompts same as parameter.</LI><LI><EM>@Aggregation.default</EM>: with this annotation domain, you can declare the required field as a&nbsp; measure.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</LI></UL><P><STRONG>3.CDS Consumption in RSRT</STRONG></P><P>Two major stages involved in consuming the CDS View as Query in RSRT transaction as explained below:</P><OL class="lia-list-style-type-lower-alpha"><LI>For each Query CDS view created, first COMPU ID will be generated in RSRREPDIR backend table along with the Info Provider CDS View name under Info Cube field and query name in COMPID field as highlighted below. Provide the SQL view name of your CDS view with prefix 2C in COMPID tab and you will end up in the below screen as shown:<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot4: RSREEPDIR Table view" style="width: 624px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83533i674E64DFDE36F6C2/image-dimensions/624x126?v=v2" width="624" height="126" role="button" title="SS4.png" alt="Screenshot4: RSREEPDIR Table view" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot4: RSREEPDIR Table view</span></span></LI><LI>One basic rule to consume the Query CDS view in RSRT Query monitor transaction.&nbsp;<STRONG>Use the prefix “2C+SQL view name” given in the CDS View.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="SS5.png" style="width: 614px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83534i965C723A2EDCA242/image-dimensions/614x180?v=v2" width="614" height="180" role="button" title="SS5.png" alt="SS5.png" /></span></STRONG><STRONG><STRONG><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot 5&amp;6: Query monitor and Result view" style="width: 613px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83535iFED9CD7D0575EDB7/image-dimensions/613x330?v=v2" width="613" height="330" role="button" title="SS6.png" alt="Screenshot 5&amp;6: Query monitor and Result view" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 5&amp;6: Query monitor and Result view</span></span></STRONG></STRONG><P>Now let me try to explain you by replicating one of the issues I was facing in my project and thereby we will try to understand more about the the importance of Annotations related to Analytical report. In my source Info Provider CDS View <EM>ZCK_QUERY(structure provided below)</EM>, I was calculating one field name called <EM>“<STRONG>calc</STRONG>” </EM>as shown below which populated the correct value as expected in the data preview.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot7: Source CDS view for &quot;calc&quot; field and data preview" style="width: 665px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84214i07ED69514176FD6D/image-dimensions/665x151?v=v2" width="665" height="151" role="button" title="MicrosoftTeams-image (10).png" alt="Screenshot7: Source CDS view for &quot;calc&quot; field and data preview" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot7: Source CDS view for "calc" field and data preview</span></span></P><P>&nbsp;<SPAN>But when I was trying to create report on top of this CDS View, the field </SPAN><EM>“<STRONG>calc</STRONG>” </EM><SPAN>had null values in the report, even after calling the required annotation as shown below.&nbsp;</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot8: Query CDS View structure and output result view for field &quot;calc&quot;" style="width: 675px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84207i0113AFF4F5A2512F/image-dimensions/675x144?v=v2" width="675" height="144" role="button" title="MicrosoftTeams-image (9).png" alt="Screenshot8: Query CDS View structure and output result view for field &quot;calc&quot;" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot8: Query CDS View structure and output result view for field "calc"</span></span></SPAN></P><P>&nbsp;<SPAN>After going through series of analysis and understanding on the basics of CDS View annotations, came to know that, as my field “</SPAN><STRONG><EM>calc</EM></STRONG><SPAN>” is measure/key figure in nature and values which got populated were not aggregated and thus causing error in my Query CDS View. In CDS View when such calculation happens on the key figure, it is necessary to declare the annotation </SPAN><FONT color="#FF9900"><EM>@Aggregation.default: #SUM</EM></FONT><SPAN> to derive the values from the source CDS View to Query CDS View.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot9: Corrected source CDS view and output result" style="width: 673px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84219iB3161006DCD376DE/image-dimensions/673x152?v=v2" width="673" height="152" role="button" title="MicrosoftTeams-image (17).png" alt="Screenshot9: Corrected source CDS view and output result" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot9: Corrected source CDS view and output result</span></span></SPAN></P><P>&nbsp;<SPAN>Exposing CDS Query as OData Service:</SPAN></P><P>One of my project requirements was to expose the query CDS View to OData service through sap gateway, so I got the opportunity to explore more about this OData services usage in CDS View and thought of sharing the required procedures in this platform.</P><P>Basically, OData Service is a standard web protocol used for querying and updating data present in SAP using ABAP/CDS. So, it is like a bridge between Backend to Front end systems like UI5/FIORI or any other integration systems. In this section let me try to explain to expose the given CDS View into OData service by activating the service link through Transaction code: /<STRONG>n/iwfnd/maint_service</STRONG>.</P><P><STRONG>Usage of OData Annotation:&nbsp;</STRONG></P><P>Declare the Annotation <EM>@OData.Publish: true</EM> in your CDS View as shown below and activate the CDS view.<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot10: OData annotation declaration for Query CDS View" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83625iB93D551E1222FDD8/image-size/medium?v=v2&amp;px=400" role="button" title="SS10.png" alt="Screenshot10: OData annotation declaration for Query CDS View" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot10: OData annotation declaration for Query CDS View</span></span></P><P>&nbsp;Once after the activation of CDS View, a popup will appear near the OData annotation comment declared, which will show as “Service is not active”.<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot11: OData exposure popup" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83627i0025615D7565FAA7/image-size/medium?v=v2&amp;px=400" role="button" title="SS11.png" alt="Screenshot11: OData exposure popup" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot11: OData exposure popup</span></span></P><P>&nbsp;For the activation of OData service, get into the GUI system and follow the below mentioned steps:</P><OL><LI>Use the transaction code: <STRONG>/n/iwfnd/maint_service</STRONG><STRONG>.</STRONG></LI><LI>Click on the Add service tab in the Activate and Maintenance page.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot12: Add service tab" style="width: 602px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84223iCC0D8FF4796C23B5/image-dimensions/602x111?v=v2" width="602" height="111" role="button" title="SS12.png" alt="Screenshot12: Add service tab" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot12: Add service tab</span></span><P>&nbsp;</P></LI><LI><SPAN>Fill the System Alias option with </SPAN><STRONG>“1. LOCAL”</STRONG><SPAN> and External Service Name option with the </SPAN><STRONG>“2. CDS Entity name + _CDS”</STRONG><SPAN> and click on the “</SPAN><STRONG>3. Get Services”</STRONG><SPAN>. &nbsp;In my case </SPAN><EM>ZCDS_CONS</EM><SPAN> is my CDS entity name, so my service name will be </SPAN><STRONG><EM>ZCDS_CONS_CDS</EM></STRONG><SPAN> which will appear under the tab “</SPAN><STRONG>4. Technical Service Name”</STRONG><SPAN>.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot 13: Add selected service view" style="width: 626px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84224i143B923E4D8CDC2F/image-dimensions/626x170?v=v2" width="626" height="170" role="button" title="SS13.png" alt="Screenshot 13: Add selected service view" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 13: Add selected service view</span></span></SPAN></LI><LI><P>&nbsp;<SPAN>Click on the service name been generated under the technical service name tab and provide the package assignment name as $TMP to store it locally where this service link will be generated. After providing the package name and then click on ok as highlighted below:&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot14: Create package for the service" style="width: 637px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84226i3BC8D05B5CAAC919/image-dimensions/637x333?v=v2" width="637" height="333" role="button" title="SS14.png" alt="Screenshot14: Create package for the service" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot14: Create package for the service</span></span></SPAN></P></LI><LI>Next you will have the popup saying “Service XXX_CDS was created, and its metadata was loaded successfully”.</LI><LI>As a next step for the confirmation, come back to your ADT tool where you have called OData Annotation in your CDS View. Now the popup will show the OData service link for your CDS View as shown below:&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot15: Activated OData service link reflecting in Query CDS view" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83649i014E7D658789C3ED/image-size/medium?v=v2&amp;px=400" role="button" title="SS15.png" alt="Screenshot15: Activated OData service link reflecting in Query CDS view" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot15: Activated OData service link reflecting in Query CDS view</span></span></LI><LI>Click on the OData -Service link and your OData server will appear like below:&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot16: OData server image" style="width: 611px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84259i90EBBAF6555A4968/image-dimensions/611x287?v=v2" width="611" height="287" role="button" title="MicrosoftTeams-image (18).png" alt="Screenshot16: OData server image" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot16: OData server image</span></span><SPAN>&nbsp;</SPAN></LI><LI>To get OData service in SAP gateway client, use the option SAP gateway client option which is available in the maintenance service page. Here first search your activated OData CDS view with technical name and click on sap gateway client.<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot17: SAP Gateway client" style="width: 453px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/83655i025BB53FBC8704F2/image-dimensions/453x265?v=v2" width="453" height="265" role="button" title="SS17.png" alt="Screenshot17: SAP Gateway client" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot17: SAP Gateway client</span></span></LI><LI>Once you enter the gateway client, click execute to display the OData service in gateway client.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot18: OData service in Gateway client" style="width: 609px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84269i76FE15B19B2372E1/image-dimensions/609x276?v=v2" width="609" height="276" role="button" title="MicrosoftTeams-image (19).png" alt="Screenshot18: OData service in Gateway client" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot18: OData service in Gateway client</span></span><P>&nbsp;</P></LI><LI>To display the meta data structure of your OData service, use the <FONT color="#FF9900"><EM>$metadata </EM></FONT>in the Request URI.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Screenshot19: Metadata structure view" style="width: 638px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84313iAE641A85DEC92B3B/image-dimensions/638x293?v=v2" width="638" height="293" role="button" title="MicrosoftTeams-image (20).png" alt="Screenshot19: Metadata structure view" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot19: Metadata structure view</span></span><P>The scope of these Query CDS views can be extended to display in SAP FIORI as well. For this you need to be aware of creating the UI5 App through UI annotations for Analytical Query CDS view.&nbsp;</P><P>&nbsp;</P></LI></OL><P>&nbsp;</P></LI></OL> 2024-03-26T20:25:51.107000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/cds-view-hierarchy-node-sign-reversal/ba-p/13599337 CDS View: Hierarchy node sign reversal 2024-04-15T13:30:04.285000+02:00 LinaRaut https://community.sap.com/t5/user/viewprofilepage/user-id/179963 <P><SPAN>This blog is about how to use @Semantics.signReversal in CDS Views</SPAN> <SPAN>to revert the sign of a measure in</SPAN> <SPAN>dependence of the settings of a hierarchy node. Analytic query offers the functionality to reverse a sign after aggregation based on a hierarchy node attribute.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>This functionality shall be made accessible from a CDS Query,</SPAN> <SPAN>for this it is necessary to determine the hierarchy node attribute which stores the sign reverse indicator.</SPAN><SPAN>&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>To make use of the sign reversal feature in an analytical query, the following field needs to be added to the related hierarchy view:</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>@Semantics.signReversalIndicator</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; signref </SPAN><STRONG><SPAN>as</SPAN></STRONG><SPAN> signReversalFlag</SPAN><STRONG><SPAN>,</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P><FONT color="#0000FF"><STRONG><SPAN class=""><SPAN class="">Example</SPAN><SPAN class="">:</SPAN> <SPAN class="">Hierarchy </SPAN><SPAN class="">v</SPAN><SPAN class="">iew</SPAN></SPAN><SPAN class="">&nbsp;</SPAN></STRONG></FONT></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AbapCatalog.sqlViewName: 'ZOQ_CONNIDHIER' @EndUserText.label: 'Connection Hierarchy View' @ObjectModel.dataCategory: #HIERARCHY @Hierarchy.parentChild : { name : 'ConnectionHierarchy', label : 'Connection', siblingsOrder: [{ by: 'seqno' , direction: 'ASC' }] , recurseBy : '_parent', directory: '_dir' } define view ZOQ_CONNECTION_HIERARCHY as select from zoq_connid_h association [0..1] to ZOQ_CONNECTION_HIERARCHY as _parent on $projection.parentid = _parent.nodeid association [1] to ZOQ_CONNECTION_HIERARCHY_DIR as _dir on $projection.hieid = _dir.hieid association [1] to ZOQ_CONNECTION_NODENAME as _node on $projection.hieid = _node.hieid and $projection.nodename = _node.nodeName and $projection.carrid = '' and $projection.connid = '0000' association [1] to ZOQ_AIRLINE as _airline on $projection.carrid = _airline.carrid and $projection.connid = '0000' association [1] to ZOQ_CONNECTION as _connection on $projection.carrid = _connection.carrid and $projection.connid = _connection.connid { @Consumption.filter: { mandatory : true, selectionType : #SINGLE, multipleSelections : false } @ObjectModel.foreignKey.association: '_dir' key hieid, key nodeid, parentid, seqno, @ObjectModel.foreignKey.association: '_airline' carrid, @ObjectModel.foreignKey.association: '_connection' connid, @ObjectModel.foreignKey.association: '_node' nodename, @Semantics.signReversalIndicator signref as signReversalFlag, _parent, _dir, _node, _airline, _connection } </code></pre><P>&nbsp;</P><P><FONT color="#0000FF"><SPAN><STRONG><SPAN class=""><SPAN class="">Preview:</SPAN></SPAN><SPAN class="">&nbsp;</SPAN></STRONG></SPAN></FONT></P><P><FONT color="#0000FF"><SPAN><STRONG><SPAN class=""><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="preview.png" style="width: 791px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95121i6179BCE8DA569035/image-size/large?v=v2&amp;px=999" role="button" title="preview.png" alt="preview.png" /></span></SPAN></STRONG></SPAN></FONT></P><P><SPAN>In CDS views with "Analytics.query : true"</SPAN><SPAN> or define as "transient view entity",</SPAN><SPAN> function "HRY_NODE_SIGN_VALUE(elemRef)" </SPAN><SPAN>is </SPAN><SPAN>used in a formula (AnalyticsDetails.query.formula). This function works in the following way</SPAN><SPAN>, </SPAN><SPAN>At first the path from the element to its hierarchy view is evaluated. In the hierarchy view there should exist exactly one field with semantics signReversal. For each hierarchy node for which the value of the sign reversal element returns space, the function HRY_NODE_SIGN_VALUE will return +1. If the value is not initial, the function returns -1. With this,</SPAN></P><P><SPAN>for example- </SPAN><SPAN>the formula</SPAN> <STRONG><SPAN>$projection.</SPAN></STRONG><SPAN>paymentsum </SPAN><STRONG><SPAN>*</SPAN></STRONG><SPAN> hry_node_sign_value</SPAN><STRONG><SPAN>(</SPAN></STRONG><SPAN> dimension </SPAN><STRONG><SPAN>=&gt;</SPAN></STRONG> <STRONG><SPAN>$projection.</SPAN></STRONG><SPAN>connid</SPAN><STRONG><SPAN>)</SPAN></STRONG> <STRONG><SPAN>as</SPAN></STRONG><SPAN> paymentsumSignRef</SPAN></P><P><SPAN>will return the key figure </SPAN><SPAN>paymentsum</SPAN><SPAN> for all nodes/leaves in the hierarchy with initial sign reversal indicator</SPAN><SPAN> and </SPAN><SPAN>It will return "- </SPAN><SPAN>paymentsum</SPAN><SPAN>" for all nodes/leaves with not initial sign reversal indicator.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>If there is no field with semantics signReversal in the hierarchy view, the function HRY_NODE_SIGN_VALUE always returns +1.</SPAN><SPAN>&nbsp;</SPAN></P><P><FONT color="#0000FF"><STRONG><SPAN class=""><SPAN class="">Example:</SPAN></SPAN><SPAN class=""> <SPAN class="">Analytical query</SPAN></SPAN><SPAN class="">&nbsp;</SPAN></STRONG></FONT></P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>@AccessControl.authorizationCheck: #NOT_ALLOWED @EndUserText.label: 'SIGN REVERSAL' @Metadata.ignorePropagatedAnnotations: true define transient view entity ZLR_SIGN_REV_FLIGHT_1 provider contract analytical_query with parameters @EndUserText.label: 'Hierarchy' @Consumption.defaultValue: 'CNTRY' p_hienm : char5 as projection on ZOQ_FLIGHT { @AnalyticsDetails.query.axis: #ROWS @AnalyticsDetails.query: { displayHierarchy: #ON, hierarchyBinding: [{ type : #PARAMETER , value : 'p_hienm' }] } connid, @AnalyticsDetails.query.axis: #FREE currency, @Semantics.amount.currencyCode: 'CURRENCY' @Aggregation.default: #SUM @AnalyticsDetails.query.axis: #COLUMNS curr_to_decfloat_amount( paymentsum ) as paymentsum, @AnalyticsDetails.query.axis: #COLUMNS @EndUserText.label: 'HierSignRev' @Aggregation.default: #FORMULA $projection.paymentsum * hry_node_sign_value( dimension =&gt; $projection.connid) as paymentsumSignRef }</code></pre><P>&nbsp;</P><P><FONT color="#0000FF"><STRONG>Result:</STRONG></FONT></P><P><FONT color="#0000FF"><STRONG><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="result.png" style="width: 761px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95125iE96DEC39C036AD90/image-size/large?v=v2&amp;px=999" role="button" title="result.png" alt="result.png" /></span></STRONG></FONT></P><P><SPAN>In this example for Hierarchy ZOQ_CONNECTION_HIERARCHY (which is defined in the </SPAN><SPAN>ZOQ_FLIGHT)</SPAN><SPAN>, </SPAN><SPAN>signReversalFlag is set for Carried id 'A', 'JL', 'UA'. Therefore, in result of analytical query HierSignRev field is showing the –ve result of the booking total.</SPAN><SPAN>&nbsp;</SPAN></P><P><FONT color="#0000FF"><STRONG><SPAN>SAP Delivered Hierarchies:</SPAN></STRONG><SPAN>&nbsp;</SPAN></FONT></P><P><SPAN>There are few SAP delivered hierarchies which have this feature.</SPAN></P><P><SPAN>Following fields name:&nbsp;</SPAN><SPAN>FinancialStatementItem, </SPAN><SPAN>CnsldtnFinancialStatementItem, FinancialStatementLeafItem, GLAccount, etc.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Can have this feature because they have foreign key association with dimension view which has hierarchy association to hierarchy view supporting this feature.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>For example:</SPAN><SPAN>&nbsp;</SPAN><SPAN>Field with name ‘</SPAN><SPAN>FinancialStatementItem</SPAN><SPAN>’ typically have a foreign key association to dimension view </SPAN><SPAN>I_CnsldtnFinStmntItem and corresponding hierarchy view </SPAN><SPAN>I_FinStmntItmHier will support this feature.</SPAN><SPAN>&nbsp;</SPAN></P><P><FONT color="#0000FF"><STRONG><SPAN>Constraints:</SPAN></STRONG><SPAN>&nbsp;</SPAN></FONT></P><P><SPAN>Only one element in a view of data category HIERARCHY can be marked with semantics signReversal. The data type of the element should be CHAR of length 1.</SPAN><SPAN>&nbsp;<SPAN class=""><SPAN class="">Allowed values are X or space.</SPAN></SPAN><SPAN class="">&nbsp;</SPAN></SPAN></P><P><FONT color="#0000FF"><STRONG><SPAN>Related Note:</SPAN></STRONG><SPAN>&nbsp;</SPAN></FONT></P><P><SPAN>1385580 - How does a formula variable with a replacement path work?</SPAN><SPAN>&nbsp;</SPAN></P><P><FONT color="#0000FF"><STRONG><SPAN>Availability:</SPAN></STRONG><SPAN>&nbsp;</SPAN></FONT></P><P><SPAN>This feature is available from </SPAN><SPAN>S/4HANA 1909 (ABAP Platform 7.54).</SPAN><SPAN>&nbsp;</SPAN></P> 2024-04-15T13:30:04.285000+02:00 https://community.sap.com/t5/data-and-analytics-blog-posts/why-don-t-we-use-data-and-analytics-group-on-sap-community/ba-p/13666201 Why Don't We Use Data and Analytics Group on SAP Community? 2024-04-18T18:28:14.375000+02:00 TuncayKaraca https://community.sap.com/t5/user/viewprofilepage/user-id/137163 <P>Hey Data and Analytics Folks! Why Don't We Use <A href="https://community.sap.com/t5/data-and-analytics/gh-p/data-analytics" target="_self">Data and Analytics</A> Group on SAP Community instead of <A href="https://community.sap.com/t5/technology/ct-p/technology" target="_self">Technology</A>?</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="TuncayKaraca_1-1712778519559.png" style="width: 761px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/94808iB9F1693F79E6207B/image-dimensions/761x194?v=v2" width="761" height="194" role="button" title="TuncayKaraca_1-1712778519559.png" alt="TuncayKaraca_1-1712778519559.png" /></span></P><P>Of course, it does not matter at the end. As long as if you tag your posts with SAP Managed tags everybody can find your posts. But there is a really one huge difference for usability that here in <A href="https://community.sap.com/t5/interest-groups/ct-p/interests" target="_self">Interests Groups</A> we can <STRONG>reply-the-reply</STRONG> but under <A href="https://community.sap.com/t5/products-and-technology/ct-p/products" target="_self">Products and Technology</A>&nbsp;we cannot! Check out this blog post&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-datasphere-is-ready-to-take-over-the-role-of-sap-bw/bc-p/13666176" target="_self">SAP Datasphere is ready to take over the role of SAP BW</A> by&nbsp;<a href="https://community.sap.com/t5/user/viewprofilepage/user-id/705968">@kenneth_dalvik</a>&nbsp;and all responses that are very all boring sequential --there is no&nbsp;<STRONG>reply-the-reply</STRONG> option!&nbsp;<span class="lia-unicode-emoji" title=":upside_down_face:">🙃</span></P><P>So let's start using this group&nbsp;Here is already available <A href="https://community.sap.com/t5/data-and-analytics/gh-p/data-analytics" target="_self">Data and Analytics</A>.&nbsp; &nbsp;The group will be definitely a perfect fit for <a href="https://community.sap.com/t5/c-khhcw49343/SAP+Analytics+Cloud/pd-p/67838200100800006884" class="lia-product-mention" data-product="3-1">SAP Analytics Cloud</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Datasphere/pd-p/73555000100800002141" class="lia-product-mention" data-product="16-1">SAP Datasphere</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Analytics+Cloud%25252C+hybrid+analytics/pd-p/464f79a9-d5e9-4113-8e9f-7ff61b577b4f" class="lia-product-mention" data-product="6-1">SAP Analytics Cloud, hybrid analytics</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+HANA+Cloud%25252C+SAP+HANA+database/pd-p/ada66f4e-5d7f-4e6d-a599-6b9a78023d84" class="lia-product-mention" data-product="40-1">SAP HANA Cloud, SAP HANA database</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Analytics+Cloud%25252C+connectivity/pd-p/0db4caf8-3039-4a93-9d11-543de33255a4" class="lia-product-mention" data-product="193-1">SAP Analytics Cloud, connectivity</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Analytics+Cloud%25252C+analytics+designer/pd-p/3f33380c-8914-4b7a-af00-0e9a70705a32" class="lia-product-mention" data-product="97-1">SAP Analytics Cloud, analytics designer</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+S%25252F4HANA+Cloud%25252C+extended+edition/pd-p/73b37c4d-a4aa-4de9-aeb9-a5dc59710b26" class="lia-product-mention" data-product="244-1">SAP S/4HANA Cloud, extended edition</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+S%25252F4HANA+Embedded+Analytics/pd-p/8492b555-b489-4972-8e37-83f2f27ae399" class="lia-product-mention" data-product="1067-1">SAP S/4HANA Embedded Analytics</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Business+Planning+and+Consolidation%25252C+version+for+SAP+NetWeaver/pd-p/01200615320800001016" class="lia-product-mention" data-product="460-1">SAP Business Planning and Consolidation, version for SAP NetWeaver</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Business+Warehouse+Accelerator/pd-p/01200615320800000698" class="lia-product-mention" data-product="722-1">SAP Business Warehouse Accelerator</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/BW+%252528SAP+Business+Warehouse%252529/pd-p/242586194391178517100436979900901" class="lia-product-mention" data-product="1-1">BW (SAP Business Warehouse)</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+BW%25252F4HANA/pd-p/73554900100800000681" class="lia-product-mention" data-product="466-1">SAP BW/4HANA</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/BW+SAP+BEx+Analyzer/pd-p/720735023700999283551380474299965" class="lia-product-mention" data-product="919-1">BW SAP BEx Analyzer</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/BW+SAP+BEx+Web/pd-p/835872679136515185293228681234825" class="lia-product-mention" data-product="920-1">BW SAP BEx Web</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+ASE+-+BW+Enablement/pd-p/758617099728293421716080695502398" class="lia-product-mention" data-product="1038-1">SAP ASE - BW Enablement</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/BW+SAP+HANA+Data+Warehousing/pd-p/337684911283545157914465705009179" class="lia-product-mention" data-product="921-1">BW SAP HANA Data Warehousing</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Data+Services/pd-p/01200314690800000395" class="lia-product-mention" data-product="527-1">SAP Data Services</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Data+Intelligence/pd-p/73555000100800000791" class="lia-product-mention" data-product="15-1">SAP Data Intelligence</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Data+Custodian/pd-p/73554900100700002051" class="lia-product-mention" data-product="1204-1">SAP Data Custodian</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Big+Data+Services/pd-p/73555000100800000691" class="lia-product-mention" data-product="439-1">SAP Big Data Services</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+BusinessObjects+-+Platform+Administration/pd-p/493706448058243238508632186627562" class="lia-product-mention" data-product="1051-1">SAP BusinessObjects - Platform Administration</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+BusinessObjects+-+Semantic+Layer/pd-p/280909257853820289811451573728573" class="lia-product-mention" data-product="1053-1">SAP BusinessObjects - Semantic Layer</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+BusinessObjects+Mobile/pd-p/01200314690800000346" class="lia-product-mention" data-product="337-1">SAP BusinessObjects Mobile</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+BusinessObjects+-+Semantic+Layer+-+SDK/pd-p/724814917412511087954547042734363" class="lia-product-mention" data-product="1054-1">SAP BusinessObjects - Semantic Layer - SDK</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+BusinessObjects+-+Web+Intelligence+%252528WebI%252529/pd-p/907900296036854683333078008146613" class="lia-product-mention" data-product="1055-1">SAP BusinessObjects - Web Intelligence (WebI)</a>&nbsp;</P><P>These are welcome too <a href="https://community.sap.com/t5/c-khhcw49343/SAP+Master+Data+Governance/pd-p/67837800100800004488" class="lia-product-mention" data-product="697-1">SAP Master Data Governance</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+NetWeaver+Master+Data+Management/pd-p/01200615320800000588" class="lia-product-mention" data-product="739-1">SAP NetWeaver Master Data Management</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Data+Quality+Management+for+SAP+NetWeaver+MDM/pd-p/01200615320800002027" class="lia-product-mention" data-product="526-1">SAP Data Quality Management for SAP NetWeaver MDM</a>&nbsp;</P><P>One thing I've noticed we cannot submit the blog posts directly. We need to "Submit for Review" only. You can still post discussions aka questions directly.&nbsp;</P><P>Thanks owners&nbsp;@ColinC, @meganhoy, @moshenaveh, @caroleighdeneen, @craigcmehil for their support!</P><P>Regards,<BR />Tuncay Karaca</P> 2024-04-18T18:28:14.375000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/understanding-data-modeling-tools-in-sap/ba-p/13689215 Understanding Data Modeling Tools in SAP 2024-05-02T16:25:43.459000+02:00 Marwah_Shwaiki https://community.sap.com/t5/user/viewprofilepage/user-id/7391 <P>Choosing the right SAP data modeling solution can be a challenging task, as there are multiple options available, including cloud-based or on-premise solutions with or without data visualization capabilities etc..so to select the best tool that can meet the project requirements and specifications, several factors need to be considered including, reviewing the raw data source and understanding how it will be used, assessing the need for data warehousing capabilities, evaluating the team's skill sets, and deciding whether a cloud or on-premise solution is preferred.</P><P>During the last few years, I've worked with almost all the SAP Data Modeling tools that are available, and In this blog article, I would like to briefly highlight the strength of each tool and where would be the best fit for it <span class="lia-unicode-emoji" title=":hugging_face:">🤗</span>.</P><P>&nbsp;</P><H3 id="toc-hId-1122738336">Understanding Data Modeling</H3><P>so what it's data modeling in SAP and why it's important?&nbsp;<span class="lia-unicode-emoji" title=":thinking_face:">🤔</span></P><P><SPAN>when we talk about Data modeling we are defining the process of creating diagrams that show how data flows in and out of a database. These diagrams define the data formats, structures, and functions required to support the data flow. Once the database is built, the data model becomes documentation for its existence and design. Data models provide a framework of relationships between data elements within a database. They enable different applications to share the same data and create a simple and logical database that eliminates redundancy, reduces storage requirements, and enables efficient retrieval. </SPAN></P><DIV class=""><DIV class=""><DIV class=""><DIV class=""><DIV class=""><DIV><DIV class=""><DIV class=""><DIV class=""><DIV class=""><DIV class=""><DIV class=""><DIV><DIV class=""><DIV class=""><DIV class=""><DIV class=""><DIV class=""><H3 id="toc-hId-926224831">&nbsp;</H3></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV><H3 id="toc-hId-729711326">SAP HANA Calculation Views</H3><P>SAP HANA calculation views are the key data modeling object on HANA, it's a graphical object that describes all the data processing steps from raw data to the final, consumable output.</P><P>Common data processing steps include filtering data, combining data, aggregating data, calculating new values, converting values, and ranking data. Calculation views are built in layers so that each calculation view can consume other calculation views to form a stack of super-models. This approach promotes the reuse of calculation views at the lower levels.</P><P><!-- notionvc: 1f08f122-aff1-4b17-a252-88f24ff50cd6 --></P><P><STRONG>Strengths:</STRONG></P><UL><LI><STRONG>In-Memory Processing:</STRONG> Data processing occurs directly in memory, ensuring high performance.</LI><LI><STRONG>Graphical Interface:</STRONG> Intuitive tools make it easy to create and visualize models.</LI><LI><STRONG>Custom Logic:</STRONG> Ability to integrate custom SQL for tailored data processing.</LI><LI><STRONG>Advanced Analytics:</STRONG> Supports spatial, graph, text analytics, and predictive/machine learning.</LI></UL><P><STRONG>Best Fit:</STRONG> Developing flexible data marts with custom logic requirements.</P><H3 id="toc-hId-533197821">SAP BW/4HANA</H3><P>SAP BW/4HANA is an on-premise data warehouse. The main purpose of a data warehouse is to extract data from any data source, integrate the data, store the cleansed data, and provide modeling tools so that data models can be created ready for use by any analytical tool. This is exactly what SAP BW/4HANA can do.<!-- notionvc: fbec00b1-c3e6-4815-9168-a79d91e7b64e --></P><P><STRONG>Strengths:</STRONG></P><UL><LI><STRONG>Ready-Made Models:</STRONG> Comprehensive data models are provided for virtual and physical storage.</LI><LI><STRONG>Data Warehousing Features:</STRONG> Supports dimensional modeling, hierarchies, and efficient data storage.</LI><LI><STRONG>Graphical Tool:</STRONG> User-friendly interface for efficient model visualization.</LI><LI><STRONG>On-Premise Deployment:</STRONG> Ideal for industries requiring high security and data control.</LI></UL><P><STRONG>Best Fit:</STRONG> Establishing on-premise data warehouses with strong data integration needs.</P><H3 id="toc-hId-336684316">ABAP CDS Views</H3><P>ABAP CDS Views enable developers to create data models that are semantically rich. These models are then exposed to UI clients by the application services. CDS Views is the central pillar of S/4HANA development and is used as the core technology in most of SAP's programming models.</P><P><STRONG>Strengths:</STRONG></P><UL><LI><STRONG>High Performance:</STRONG> Data processing is pushed down to the database level, ensuring efficiency.</LI><LI><STRONG>Ready-Made Models for SAP S/4HANA:</STRONG> Simplifies operational reporting on S/4HANA.</LI><LI><STRONG>Flexible Development:</STRONG> Allows for code-based customization leveraging SQL skills.</LI></UL><P><STRONG>Best Fit:</STRONG> Operational reporting on SAP S/4HANA with ready-made content.</P><H3 id="toc-hId-140170811">SAP Analytics Cloud</H3><P>SAP Analytics Cloud is an end-to-end cloud solution that brings together business intelligence, augmented analytics, predictive analytics, and enterprise planning in a single system. It is a solution aimed at business users for self-service analytics.<!-- notionvc: d7bd6f38-61bc-42a0-a555-c9dd8eff176f --></P><P><STRONG>Strengths:</STRONG></P><UL><LI><STRONG>Integrated Modeling:</STRONG> Modeling seamlessly integrated with reporting tools for streamlined analytics.</LI><LI><STRONG>Cloud-Based:</STRONG> No need for software installation; data modeling is conducted in the cloud.</LI><LI><STRONG>Self-Service Analytics:</STRONG> Empowers business users to create their own models.</LI></UL><P><STRONG>Best Fit:</STRONG> Organizations seeking self-service analytics with integrated modeling and reporting.</P><H3 id="toc-hId--56342694">SAP Datasphere</H3><P>which is so far My Absolute favorite tool <span class="lia-unicode-emoji" title=":beaming_face_with_smiling_eyes:">😁</span>!&nbsp;<SPAN>It is a public cloud software as a service (SaaS) data warehouse that supports the business data warehouse architecture. This tool effortlessly harmonizes data across the enterprise, making it a must-have for any business. It includes services for data modeling, data integration, cataloging, and data warehousing across SAP and non-SAP data, making it a one-stop-shop for all data management needs</SPAN></P><P><!-- notionvc: 70a2bda6-9fce-4816-8c17-7c73a80c91b7 --></P><P><STRONG>Strengths:</STRONG></P><UL><LI><STRONG>Comprehensive Data Warehouse Features:</STRONG> Supports dimensional modeling, data history management, and hierarchy modeling.</LI><LI><STRONG>Scalability:</STRONG> Easily scale resources in the cloud, supporting new innovations.</LI><LI><STRONG>Cloud Service:</STRONG> Simplifies software management through cloud consumption.</LI></UL><P><STRONG>Best Fit:</STRONG> Cloud-based data warehousing with advanced features and scalability.</P><H3 id="toc-hId--252856199">SAP BusinessObjects BI Semantic Layer (Universes)</H3><P>An organized collection of objects that called a Universe, which consists of dimensions, measures, and attributes grouped by business topics. The skill of a Universe developer is to create objects that resemble business terms by mapping them to the columns of the database tables. In some cases, SQL coding may be required to generate the value of the objects.<!-- notionvc: 28e2218d-7548-4c77-93ca-b664e5293a5d --></P><P><STRONG>Strengths:</STRONG></P><UL><LI><STRONG>User-Friendly Interface:</STRONG> Graphical tool simplifies data modeling tasks.</LI><LI><STRONG>SQL-Based Development:</STRONG> Easy to understand for database developers.</LI><LI><STRONG>Mature Tool:</STRONG> Offers a wide range of features for diverse modeling needs.</LI></UL><P><STRONG>Best Fit:</STRONG> Supporting SAP BusinessObjects reporting tools with Universes.</P><P><SPAN><BR />for more information, I would recommend this&nbsp;&nbsp;<A href="https://learning.sap.com/learning-journeys/exploring-data-modeling-with-sap-solutions" target="_self" rel="noopener noreferrer">Learning journey</A>&nbsp; from SAP which will give you an overview of all the SAP data modeling solutions&nbsp;<span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:">😊</span></SPAN></P><P>&nbsp;</P><P>&nbsp;</P><P><SPAN><!-- notionvc: 5ddaf2db-05cb-4914-8c1b-ab9fad69323a --></SPAN></P> 2024-05-02T16:25:43.459000+02:00 https://community.sap.com/t5/technology-blogs-by-members/currency-translation-in-sap-datasphere/ba-p/13688008 Currency Translation in SAP Datasphere 2024-05-07T09:57:57.155000+02:00 suraj_yadav13 https://community.sap.com/t5/user/viewprofilepage/user-id/191142 <P>Currency translation refers to the process of converting financial data from one currency to another.</P><P>This is particularly important for multinational companies that operate in multiple countries and use different currencies for their financial transactions.</P><P>Currency translation in SAP typically involves the following steps:</P><P>1. <STRONG>Setting up currency exchange rates</STRONG>: Before performing any currency translation, exchange rates need to be maintained in SAP. These rates can be manually entered or automatically updated from external sources.</P><P>2. <STRONG>Defining translation ratios</STRONG>: Companies may have specific rules for currency translation, such as using average rates, closing rates, or historical rates. These rules need to be defined within SAP.</P><P>3. <STRONG>Executing currency translation</STRONG>: Once the exchange rates and translation rules are set up, currency translation can be executed. SAP usually provides standard functionality and reports to perform this task.</P><P>4. <STRONG>Reviewing translated financial data</STRONG>: After translation, it's essential to review the translated financial data to ensure accuracy and compliance with accounting standards.</P><P>Currency translation in SAP is crucial for financial reporting, consolidation, and analysis purposes, allowing companies to view their financial data in a common currency, facilitating comparisons and decision-making across different regions.</P><P>To perform <STRONG>currency translation</STRONG> in <STRONG>SAP Datapshere</STRONG>, the following tables must be available in your space:</P><UL><LI><STRONG>TCURV</STRONG>&nbsp;- Exchange rate types</LI><LI><STRONG>TCURW</STRONG>&nbsp;- Exchange rate type text</LI><LI><STRONG>TCURX</STRONG>&nbsp;- Decimal places in currencies</LI><LI><STRONG>TCURN</STRONG>&nbsp;- Quotations</LI><LI><STRONG>TCURR</STRONG>&nbsp;- Exchange rates</LI><LI><STRONG>TCURF</STRONG>&nbsp;- Conversion factors</LI><LI><STRONG>TCURC</STRONG>&nbsp;- Currency codes</LI><LI><STRONG>TCURT</STRONG>&nbsp;- Currency text</LI></UL><P><STRONG>Creating currency translation related tables in SAP Dataspher:</STRONG></P><OL><LI>Login to SAP Datapshere, go to Data Builder menu, and click on create icon.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104267iCAB9FE16CBF01E0C/image-size/large?v=v2&amp;px=999" role="button" title="1.png" alt="1.png" /></span><P>&nbsp;</P></LI><LI>Select 'Currency Conversion View' from the drop-down.&nbsp;<P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104268i3D97DF30AE28697C/image-size/large?v=v2&amp;px=999" role="button" title="2.png" alt="2.png" /></span></P></LI><LI>Select source which can be manual or any SAP connection in your SAP Datasphere space which is compatible for replicating currency translation tables.&nbsp;<P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="3.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104274iC0DB3C51F2D9BAC0/image-size/large?v=v2&amp;px=999" role="button" title="3.png" alt="3.png" /></span></P>&nbsp;</LI><LI>If source is manual, upload the data to all the required tables either manually or via data flows.&nbsp;</LI><LI>If SAP source is selected, respective remote tables and data flows will also get created.&nbsp;<P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="3.JPG" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104266i2E9D9786853C1BAD/image-size/large?v=v2&amp;px=999" role="button" title="3.JPG" alt="3.JPG" /></span></P></LI><LI>After clinking on create option, 32 objects will get deployed including below 8 data flows&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="5.JPG" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104279i65069AF7912EF989/image-size/large?v=v2&amp;px=999" role="button" title="5.JPG" alt="5.JPG" /></span></LI><LI>Create a task chain and add all these data flows for uploading the data to required TCUR* tables. You can also schedule the task chain to keep your data updated.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="6.JPG" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104282iCB8EBA695B8F5756/image-size/large?v=v2&amp;px=999" role="button" title="6.JPG" alt="6.JPG" /></span></LI><LI>Execute the task chain to update the data.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="10.JPG" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105836i448E2B3CC553F647/image-size/large?v=v2&amp;px=999" role="button" title="10.JPG" alt="10.JPG" /></span></LI><LI>Create '<STRONG>currency conversion column</STRONG>' in required object (for instance in view)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="11.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105834iAE45EBD43031C50B/image-size/large?v=v2&amp;px=999" role="button" title="11.png" alt="11.png" /></span></LI><LI>Enter business name, technical name, data type, precision and scale.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="8.png" style="width: 615px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104305i96079EFD07B7B39D/image-size/large?v=v2&amp;px=999" role="button" title="8.png" alt="8.png" /></span></LI><LI>In currency properties, select source amount column, source currency (fixed value or columns), target currency (fixed value, columns, or input parameter) and reference date (input parameters, columns, expressions, fixed date) for conversion.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="12.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105833i19845A3DEECC6FE9/image-size/large?v=v2&amp;px=999" role="button" title="12.png" alt="12.png" /></span></LI><LI>Enter client, conversion type and error handling&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="9.png" style="width: 592px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104304i08D09614B4D5258F/image-size/large?v=v2&amp;px=999" role="button" title="9.png" alt="9.png" /></span></LI><LI>Preview the data and verify the rate maintained:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="13.JPG" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105835i1D125F7C79F21E76/image-size/large?v=v2&amp;px=999" role="button" title="13.JPG" alt="13.JPG" /></span>&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="15.JPG" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105837i98DF6D918A8ECD69/image-size/large?v=v2&amp;px=999" role="button" title="15.JPG" alt="15.JPG" /></span></LI></OL><P>Reference:&nbsp;<A href="https://youtu.be/m4m1TNJ5Ekw" target="_blank" rel="nofollow noopener noreferrer">https://youtu.be/m4m1TNJ5Ekw</A></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-05-07T09:57:57.155000+02:00