https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/BW-Business-Explorer-(SAP-BEx)-blog-posts.xml SAP Community - BW Business Explorer (SAP BEx) 2026-03-04T00:10:16.811935+00:00 python-feedgen BW Business Explorer (SAP BEx) blog posts in SAP Community https://community.sap.com/t5/technology-blog-posts-by-sap/bex-3-x-7-x-to-afo-2-x-automated-mass-conversion-tool-v2-2/ba-p/13463627 BEx 3.x/7.x to AfO 2.x Automated Mass Conversion Tool v2.2 2020-11-18T08:41:41+01:00 mo_ezzat https://community.sap.com/t5/user/viewprofilepage/user-id/597901 <H1 id="toc-hId-805292685">Introduction</H1><P><BR />Hello everyone, I am back again with a very interesting topic, the Automated Mass Conversion Tool v2.2, it will be my pleasure to walk you through the newest features that I added to the previous version that was firstly introduced by my colleague <SPAN class="">bhargavmalsani.dayanand</SPAN> in <A href="https://blogs.sap.com/2017/07/12/automated-mass-migrationconvertion-of-bex-workbook-to-ao-2.x/" target="_blank" rel="noopener noreferrer">this blog.</A></P><H2 id="toc-hId-737861899">What is the Mass Conversion Tool?</H2><P><BR />The Mass Conversion Tool was internally developed by SAP to accelerate and facilitate the conversion process rom BEx (Analyzer) Workbooks to Analysis for Microsoft Office Workbooks.<BR /><BR />The Automated Mass Conversion Tool is 6x to 8x faster than the manual conversion method, conversion of 100 Workbooks take around 5-6 Minutes, compared to at least 30 seconds per one workbook in case of manual conversion.<BR /><BR />This is a screenshot for a real run on 100 Workbooks that were converted in 5:44 minutes, after successfully setting up the tool on the customer's environment:</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/Loading.png" border="0" /></P><P><BR />&nbsp;</P><H2 id="toc-hId-541348394">When is the conversion process mandatory?</H2><UL><UL><LI>If you are migrating to BW/4HANA, as BEx Analyzer will not be able to access the BW/4HANA system.</LI></UL></UL><UL><UL><LI>If you are upgrading your Microsoft Office landscape to 64bit Edition, as BEx Analyzer only runs on Excel 32bit Edition</LI></UL></UL><P>More information about the maintenance strategy for BW BEx Explorer can be found in note number <A href="https://launchpad.support.sap.com/#/notes/1322923" target="_blank" rel="noopener noreferrer">1322923.</A></P><H1 id="toc-hId-215752170">New Features:</H1><H2 id="toc-hId-148321384">Rename workbooks after conversion</H2><P><BR />Standardize the naming convention of the converted workbooks, by simply providing a CSV file containing the Workbook ID, Destination Role ID, and New Workbook ID.</P><TABLE width="198"><TBODY><TR><TD width="64">WID</TD><TD width="66">Role</TD><TD width="68">WBName</TD></TR><TR><TD>3FAFDUZNSGVNIHLO63YTUX9HA</TD><TD>ZE_ROLE1</TD><TD>AFOWB_1</TD></TR><TR><TD>3VYKQU1PO9DKICADNOPQN0G70</TD><TD>ZE_ROLE2</TD><TD>AFOWB_2</TD></TR><TR><TD>1JW9S8WCDXYZ277J3NDNAVHH8</TD><TD>ZE_ROLE3</TD><TD>AFOWB_3</TD></TR></TBODY></TABLE><P>&nbsp;</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/tempsnip-2.png" border="0" /></P><P class="">&nbsp; &nbsp; &nbsp;Workbook IDs after Conversion</P><H2 id="toc-hId--48192121">Converted workbooks can now be opened using 64bit Excel:</H2><P><BR />This was a limitation even in the manual conversion method, when a workbook is converted the leftover code from BEx Analyzer remains, in order to surpass it, the 3 default VBA modules must be manually deleted, or "Declare PtrSafe" must be written before each Sub.<BR /><BR />In the new version of the tool, you do not have to worry about that, you are just one checkbox away from solving it.</P><H2 id="toc-hId--244705626">Saving to multiple different roles:</H2><P><BR />This feature allows the converted workbooks to be saved to multiple different workbooks, they can be their original roles or entirely new ones.<BR /><BR />For example WB1 to Role1, WB2 to Role2, and WB3 to WB3, a csv can be provided to identify the workbook technical ID and destination role, as shown below:</P><TABLE width="283"><TBODY><TR><TD width="219">WID</TD><TD width="64">Role</TD></TR><TR><TD>3FAFDUZNSGVNIHLO63YTUX9HA</TD><TD>ZE_ROLE1</TD></TR><TR><TD>3VYKQU1PO9DKICADNOPQN0G70</TD><TD>ZE_ROLE2</TD></TR><TR><TD>1JW9S8WCDXYZ277J3NDNAVHH8</TD><TD>ZE_ROLE3</TD></TR></TBODY></TABLE><P>&nbsp;</P><H2 id="toc-hId--441219131">Workbook branding options:</H2><P><BR />Gain advantage of the conversion service by rebranding or standardizing the layout of your old workbooks, the following options are now available to be applied to the converted workbooks:</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/Styling1-1.png" border="0" /><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/Styling2-1.png" border="0" />A screenshot for a workbook before conversion:</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/Before-2.png" border="0" />The workbook had 2 images, the filter and information buttons were clicked, there was no descriptive title, there were the Author and Status of Data info fields in the range below the title.<BR />This is the same workbook after conversion using the options in Advanced Conversion Settings in the first screenshot:</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/after-3.png" border="0" /></P><UL><UL><LI>The images were removed and replaced by SAP logo and the orange line.</LI></UL></UL><UL><UL><LI>The 3 buttons from Analyzer were removed, whether they were opened or closed.</LI></UL></UL><UL><UL><LI>A descriptive title was captured from the workbook description, centralized and added in merged cells.</LI></UL></UL><UL><UL><LI>The whole workbook was colored white.</LI></UL></UL><UL><UL><LI>The old info field was removed and replaced by Query Created By, Data Source Name, Last Date Update and Key Date were added, using a different font for the title and the value.</LI></UL></UL><UL><UL><LI>Rows between 1:4 were deleted.</LI></UL></UL><UL><UL><LI>Rows between 1:5 were inserted to be populated by the info fields.</LI></UL></UL><P><STRONG>Note:</STRONG></P><UL><UL><LI>The table styling cannot be applied in this version, it will always reset to the AfO default blue theme.</LI></UL></UL><UL><UL><LI>Workbook styling will be applied to the main sheet, not all of them, this is a current limitation that I will be working on.</LI></UL></UL><H1 id="toc-hId--766815355">Conclusion:</H1><P><BR />The new version is not only about conversion, it offers an opportunity to:</P><UL><UL><LI>Make all of the converted workbooks 64bit Compatible.</LI></UL></UL><UL><UL><LI>Redistribution of the workbooks among different roles.</LI></UL></UL><UL><UL><LI>Standardize workbooks format or entirely change the design.</LI></UL></UL><UL><UL><LI>Standardize the naming convention for the converted workbooks.</LI></UL></UL><P>This service is available for both <STRONG>Max Attention(Premium Enagaments)</STRONG> and <STRONG>Professional Services customers</STRONG>, if you would like to request it or find out more about it please contact your <STRONG>Engagement Architect</STRONG>, <STRONG>Technical Quality Manager</STRONG>, <STRONG>Account Manager</STRONG> or you can reach out to the <STRONG>contacts below.</STRONG><BR /><BR />This blog post will be updated whenever a new feature is rolled out.<BR /><BR />Lastly I would like to give well deserved credit to my colleague <SPAN class="">mike.luang-khot1</SPAN> who played a major role in the development of the first version of the tool, and also played a crucial part in this version by thoroughly explaining the tool's primary code to me, without his help these features would not have been possible.</P><H2 id="toc-hId--834246141"><STRONG>SAP Stakeholders can reach out to the following contacts based on their region:</STRONG></H2><H2 id="toc-hId--683505289">CoE EMEA Team:</H2><P>CoE EMEA Analytics Planning and Consolidation</P><H2 id="toc-hId--880018794">CoE North America Team:</H2><P>&nbsp;</P><DIV class=""><DIV class=""><DIV class="">CoE NA Analytics</DIV></DIV></DIV><H2 id="toc-hId--1076532299">CoE Ireland Team:</H2><P>CoE Ireland Analytics and AI</P><P><BR />Thank you for reading this, I hope it was interesting and comprehensive enough, please do not hesitate to ask any questions, provide feedback, or suggest any further enhancements.</P> 2020-11-18T08:41:41+01:00 https://community.sap.com/t5/technology-blog-posts-by-sap/sap-data-warehouse-cloud-consume-sap-bw-based-queries/ba-p/13468379 SAP Data Warehouse Cloud: Consume SAP BW based Queries 2020-11-20T09:39:43+01:00 former_member136842 https://community.sap.com/t5/user/viewprofilepage/user-id/136842 <H1 id="toc-hId-805438914">Introduction</H1><BR /> SAP Data Warehouse Cloud (DWC) is designed to extend the existing Enterprise Data Warehouse into the Cloud under the lead of the LoB users. Due to its easy to use design, look and feel, Data Harmonization tasks can be achieved directly within your LoB Departments with very little IT involvment.<BR /> <BR /> When we talk about SAP BW Data Model and exposing logic out of SAP BW we talk about BEx/BW Queries. These Queries will be used to expose a Data set to the Front- End such as SAP Analytics Cloud for Data visualization.<BR /> <BR /> We can re- use these Queries in order to expose this logic to DWC aswell. In that case you can secure your TCO that you invested in the past into your SAP BW Data Model.<BR /> <H1 id="toc-hId-608925409"></H1><BR /> <H1 id="toc-hId-412411904">Versioning</H1><BR /> <TABLE style="border-collapse: collapse;width: 100%" border="1"><BR /> <TBODY><BR /> <TR style="height: 14px"><BR /> <TD style="width: 50%;height: 14px;background-color: #f0ab00"><STRONG>Document Version</STRONG></TD><BR /> <TD style="width: 50%;height: 14px;background-color: #cccccc">0.1</TD><BR /> </TR><BR /> <TR style="height: 14px"><BR /> <TD style="width: 50%;height: 14px;background-color: #f0ab00"><STRONG>Document Date</STRONG></TD><BR /> <TD style="width: 50%;height: 14px;background-color: #cccccc">19.11.2020</TD><BR /> </TR><BR /> <TR style="height: 14px"><BR /> <TD style="width: 50%;height: 14px;background-color: #f0ab00"><STRONG>DWC Version</STRONG></TD><BR /> <TD style="width: 50%;height: 14px;background-color: #cccccc">2020.23.56</TD><BR /> </TR><BR /> </TBODY><BR /> </TABLE><BR /> <H1 id="toc-hId-215898399"></H1><BR /> <H1 id="toc-hId-19384894">Prerequisites</H1><BR /> In order to follow this Blog you need the following prerequisites fulfilled:<BR /> <OL><BR /> <LI>You have meet the DWC <A href="https://help.sap.com/viewer/d4f3c5a0bb074d09ae9b42b2b9bd7a08/cloud/en-US/2f23baa36782474899b7693f68f23635.html" target="_blank" rel="noopener noreferrer">System requirements</A></LI><BR /> <LI>Your DWC Tenant is <A href="https://help.sap.com/viewer/9f804b8efa8043539289f42f372c4862/cloud/en-US/f1a39d1a763e48c8872f45c110a5a4e2.html" target="_blank" rel="noopener noreferrer">connected</A> to your SAP BW</LI><BR /> <LI>You are using the SAP ABAP connection Tile</LI><BR /> <LI>You have a BEx/BW Query</LI><BR /> <LI>None of the limitations apply<BR /> <UL><BR /> <LI>SAP BW on HANA <A href="https://help.sap.com/viewer/93bea049296a41508d972e117149f784/7.5.19/en-US/4bc347cd494650e9e10000000a15822b.html" target="_blank" rel="noopener noreferrer">Limitations</A></LI><BR /> <LI>SAP BW/4HANA <A href="https://help.sap.com/viewer/107a6e8a38b74ede94c833ca3b7b6f51/2.0.6/en-US/4bc347cd494650e9e10000000a15822b.html" target="_blank" rel="noopener noreferrer">Limitations</A></LI><BR /> </UL><BR /> </LI><BR /> </OL><BR /> <H1 id="toc-hId--177128611"></H1><BR /> <H1 id="toc-hId--373642116">Consume SAP BW based Queries</H1><BR /> In order to consume your Queries within DWC, we have to mark your Query as an InfoProvider. Without doing this, the Query wont show up within DWC. So the general Overview looks like the following:<BR /> <OL><BR /> <LI>Identify your Query</LI><BR /> <LI>Mark the Query as InfoProvider within SAP BW</LI><BR /> <LI>Use it in your Graphical View</LI><BR /> </OL><BR /> <H2 id="toc-hId--441072902">Identify your Query</H2><BR /> In our case i created a simple Query for demoing. My Query is called <EM>CP02Q01_SALOVE</EM> and the definition looks like the following:<BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/2020-11-19_15-10-23.png" /><BR /> <BR /> Not a beauty, but does the trick.<BR /> <H2 id="toc-hId--637586407">Mark the Query as InfoProvider</H2><BR /> This part is mission critical. If we do not mark the Query as InfoProvider, the view out of DWC looks as follows:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/2020-11-19_17-03-31.png" /></P><BR /> &nbsp;<BR /> <H3 id="toc-hId--705017193">Mark your Query as InfoProvider</H3><BR /> <OL><BR /> <LI>Log- On to your SAP BW</LI><BR /> <LI>Launch Transaction <EM>RSRT</EM></LI><BR /> <LI>Select your Query<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/2020-11-19_15-13-32.png" /></LI><BR /> <LI>Hit the <EM>Properties</EM> button</LI><BR /> <LI>Select <EM>Query is used as InfoProvider</EM><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/2020-11-19_15-14-28.png" /><SPAN style="color: #ff0000"><STRONG>Please remark:</STRONG></SPAN> If you get a notification telling you that your Query cannot be used as an InfoProvider, please check the limitations that apply when using a Query as an InfoProvider.</LI><BR /> </OL><BR /> As of now, we can see our Query within DWC:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/2020-11-19_17-02-37.png" /></P><BR /> <BR /> <H2 id="toc-hId--683359060"></H2><BR /> <H2 id="toc-hId--879872565">Use it in your Grapical View</H2><BR /> At the end we are now finally able to use the Query within a Graphical View. In the first hand we import it:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/2020-11-20_09-30-21.png" /></P><BR /> Whereas afterwards it is ready to use within our Graphical View:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2020/11/2020-11-20_09-33-55.png" /></P><BR /> <BR /> <H1 id="toc-hId--782983063"></H1><BR /> <H1 id="toc-hId--979496568">Further Information</H1><BR /> If you seek for further DWC Information material, hit the <A href="https://saphanajourney.com/data-warehouse-cloud/" target="_blank" rel="nofollow noopener noreferrer">DWC Product Page</A>.<BR /> <BR /> You need more help during your Implementation? Check the <A href="https://help.sap.com/viewer/product/SAP_DATA_WAREHOUSE_CLOUD/cloud/en-US" target="_blank" rel="noopener noreferrer">Product documentation</A> for helpful implementation Guides.<BR /> <BR /> Want to know whats coming up in the DWC Universe? Check the <A href="https://roadmaps.sap.com/board?PRODUCT=73555000100800002141&amp;range=CURRENT-LAST" target="_blank" rel="noopener noreferrer">DWC Roadmap</A>.<BR /> <BR /> Regards<BR /> -Seb. 2020-11-20T09:39:43+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/enabling-cold-store-data-access-using-view-for-external-access-the-8-view/ba-p/13493750 Enabling cold store data access using view for external access (The ‘8’ View) for aDSOs in BW reports with mixed modelling scenario 2021-04-15T14:10:59+02:00 Abhishek_Hazra https://community.sap.com/t5/user/viewprofilepage/user-id/170510 Greetings !<BR /> <BR /> As promised in my earlier <A href="https://blogs.sap.com/2021/04/13/view-for-external-access-the-8-view-for-adsos-in-bw-4hana-2.0-mixed-modelling/" target="_blank" rel="noopener noreferrer">blog post</A>, in this article I will be explaining the possibilities of using the view for external access or the external SAP HANA SQL view for aDSOs or the generated '8' view of aDSOs. The main idea is to gain optimum performance avoiding unnecessary access to cold storage when only Hot data is requested. For details about the '8' view please have a look into the above mentioned blog post link.<BR /> <BR /> For this illustration, I will use the same aDSO used for the earlier blog post : SALESADSO, which has some sample sales data for calendar year 2019 &amp; 2020. Executing suitable DTO rule, I have moved all the data residing in partitions covering calendar year 2019 to external cold storage (IQ). So, the view for external access for the aDSO : <STRONG>/BIC/ASALESADSO8</STRONG>, has the <STRONG>COLD_STORE_FLAG</STRONG> column populated as : 'X' for all data belonging to year 2019 &amp; ' ' for all data belonging to year 2020.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/dto-3.jpg" /></P><BR /> Now let's think about consuming this view into a BW data model using mixed modelling architecture in such a way that unless a request has been made to cold store data, it should not access the cold store causing unnecessary performance penalty.<BR /> <BR /> Meaning, we will build a calculation view based on the '8' view &amp; then consume the calculation view into a composite provider &amp; finally a report on top of the composite provider. The purpose is to explore how can we determine the access to cold store data exposing the flag as a consumer of single value input variable in the application layer of reporting.<BR /> <BR /> Now the challenge is that if we simply expose the field COLD_STORE_FLAG as a variable in the report through the HCPR, user can select either<STRONG> ' '</STRONG> (<STRONG>blank or empty string, no whitespace</STRONG>) or 'X'&nbsp; if we build a single value input variable in frontend, which is the goal here, we could potentially have a multi input variable which can request both the data. But I will try to explain how to build a solution using single value input variable around this flag. The challenge with this approach is if a user, for example, requests data from December 2019 to February 2020 in report, &amp; selects based on the flag values available with just the field exposed as it is, user can see either 2019 year's data (if user selects COLD_STORE_FLAG = 'X') or&nbsp; 2020 year's data (if selected ' '). But with selection of 'X' we need to secure that the user is able to access both 2019 &amp; 2020 years' data. This situation can be handled in multiple ways :<BR /> <OL><BR /> <LI>By using multiple input variable where user needs to select both the values for COLD_STORE_FLAG in such situations.</LI><BR /> <LI>By handling it using an input parameter &amp; necessary filter criteria in calculation view.</LI><BR /> <LI>By using a step 2 exit variable where for user input 'X' against flag value, the step 2 variable can pass '*' (all) as a filter to COLD_STORE_FLAG column.</LI><BR /> </OL><BR /> I will explain the second approach in this blog post, which is handling of the flag completely in calculation view level. I would explaiin two ways of doing it :<BR /> <BR /> <STRONG>Approach#1 : using single input parameter :</STRONG><BR /> <BR /> First step is to consume the view in a calculation view&nbsp; in below way:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/CLView.jpg" /></P><BR /> I have made 2 nodes out of the view called HDB &amp; HDB_IQ. In HDB I have placed a filter on COLD_STORE_FLAG = ''. So, it contains only data from the hot data store (Active Data Table of aDSO), while the other node has no filter, containing all the data combining hot &amp; cold storage.<BR /> <BR /> In the node Union_1, I have created a new target column : CS_FLAG, with custom constant mapping of the node values as ' ' (HDB) and 'X' (HDB_IQ). This way the pruning is secured.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/union.jpg" /></P><BR /> I have created an input parameter called <STRONG>IP_CS_FLAG (Access Cold Store)</STRONG> as optional single input of type VARCHAR &amp; length 1. This is to pushdown the filter with flag value passed from application layer on access of the data tiering storage by using a filter expression.<BR /> <BR /> <STRONG>If no value is passed through it, the takes the unassigned value, thus only requesting the hot store data avoiding the extra traffic to access the external cold storage.</STRONG><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/iParam1.jpg" /></P><BR /> Coming to the fact that the COLD_STORE_FLAG can have 2 possible values with enabling Cold Storage &amp; movement of some data into it ie. 'X' for cold store data &amp; ' ' for hot store data.<BR /> <BR /> Now in our reports, we want to have a universal variable which enables users to select if<BR /> <OL><BR /> <LI>They want to access data from cold storage('X') - this may lead to some performance penalty</LI><BR /> <LI>Or they just want to access the recent data residing in Hot storage of HANA nodes(' ').For securing no data loss while selecting the variable as 'X', we need to access both HANA &amp; IQ (Cold store) data when user selects the variable value as 'X', to handle cases like accessing data from a period which overlaps between hot &amp; cold storage.</LI><BR /> </OL><BR /> The above scenario is handled using the filter in node 'Aggregation_2' using a filter on the created target column : CS_FLAG &amp; restricting it on the input parameter value.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/filter-1.jpg" /></P><BR /> The filter expression basically reads the input parameter value passed, if it comes with a value 'X' (user requests data from both Hot &amp; Cold store), we set the CS_FLAG to go through the HDB_IQ node as per the definition of the field pruning &amp; both 2019 &amp; 2020 years' data are requested, if the input parameter is not fed or filled with blank value ie. ' ', then according to the constant mapping it should only look through the HDB node with ' ' values for the flag, ensuring only Hot store data is selected &amp; no cold store table is accessed causing unnecessary performance penalty.<BR /> <BR /> Now, let's just make a select query on the calculation view without passing any input parameter value :<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/output1.jpg" /></P><BR /> We can see it only picks the data relevant for year 2020 where the COLD_STORE_FLAG is blank. A planviz shows that the executed plan hits only the Active data table residing in hot store.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/plv.jpg" /></P><BR /> Now, let's execute a select query on the same again but this time with the input parameter value filled in as 'X'.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/output2-1.jpg" /></P><BR /> And this time it shows all the data irrespective of the flag value both from hot &amp; cold store for year 2019 &amp; 2020. The planviz shows it hits both cold store table &amp; active data table this time.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/plv1.jpg" /></P><BR /> &nbsp;<BR /> <BR /> <STRONG>Approach#2 : Using double input parameters</STRONG><BR /> <BR /> Create a calculation view with two input parameters. One input parameter for taking the user input as to determine if access the cold store is needed or not &amp; the other one is to derive the actual filter value to pass for COLD_STORE_FLAG column.<BR /> In this case, we have IP_USER_INPUT input parameter to intake the user input, with default value blank &amp; the other one is IP_CS_FLAG, which is derived using a stored procedure. The stored procedure has the input parameter which is fed by the first input parameter &amp; then if user selects 'X', it passes '*'(both Hot &amp; Cold Store should be accessed), else blank(only Hot data store is accessed).<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/CV-2.jpg" /></P><BR /> Now let's create a procedure&nbsp; which can take the IP_USER_INPUT as input parameter &amp; populate &amp; return the value of COLD_STORE_FLAG as a feeder to IP_CS_FLAG.<BR /> <BR /> The logic of which is as below :<BR /> <PRE class="language-sql"><CODE>CREATE PROCEDURE "ZCSFLAG" ( <BR /> IN IP_USER_INPUT NVARCHAR(1), <BR /> OUT IP_CS_FLAG NVARCHAR(1) )<BR /> LANGUAGE SQLSCRIPT <BR /> READS SQL DATA AS<BR /> BEGIN<BR /> <BR /> IF :IP_USER_INPUT = '' THEN<BR /> IP_CS_FLAG := '';<BR /> ELSE<BR /> IP_CS_FLAG := '*';<BR /> END IF;<BR /> <BR /> END;</CODE></PRE><BR /> Now use this procedure as the derivation factor for IP_CS_FLAG.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/iparam2.jpg" /></P><BR /> Now we need to connect the input parameter IP_USER_INPUT to the same of this procedure. This can be done in semantics of the calculation view under tab : Parameters/Variables from Input Parameter Manage Mapping option as shown below :<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/mapping.jpg" /></P><BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/mapping_1.jpg" /></P><BR /> And then in the lowest Aggregation node we filter the COLD_STORE_FLAG column by using a match function with the IP_CS_FLAG.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/filter-2.jpg" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px">This way securing, that if user selects blank as IP_USER_INPUT, we only select hot store data by passing '' value as match filter, else if user selects 'X' in the same, both Hot &amp; Cold store data are selected by passing '*' as match filter. We can again check if the pruning is working as intended by doing a select on the calculation view without manually entering any input. This should take the default blank value &amp; should only access Hot data store (Active Data Table). The below plan viz supports the expectation.<BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/plv-1.jpg" /></P><BR /> And it picks only those 9 records pertaining to year 2020 from hot data store.<BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>Approach#3 : which does not support proper pruning of maneuvering query to right data tiering storage&nbsp;</STRONG><BR /> <BR /> However, I tried another exercise with one input parameter &amp; the IF-ELSE handling in the MATCH funtion using filter instead of doing the same in a stored procedure. The results were same, but the difference was in prunning.<BR /> <BR /> Let's assume, I have just one input parameter (VARCHAR(1)) in the calculation view &amp; the default value is blank.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/calcv1.jpg" /></P><BR /> &nbsp;<BR /> <BR /> Now in lowest Aggregation_1 node, the filter on COLD_STORE_FLAG is like below :<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/filter1.jpg" /></P><BR /> <BR /> <PRE class="language-sql"><CODE>if('$$IP_CS_FLAG$$' = 'X',match("COLD_STORE_FLAG",'*'),match("COLD_STORE_FLAG",'$$IP_CS_FLAG$$'))</CODE></PRE><BR /> The filter expression basically reads the input parameter value passed, if it comes with a value 'X' (user requests data from both Hot &amp; Cold store), we set the COLD_STORE_FLAG to show all values using a match function with '*' , other values than 'X', which is ' ' should only match with ' ' values for the flag, ensuring only Hot store data is filtered &amp; selected for output.<BR /> <BR /> But the observation from planviz is that it accesses both Hot &amp; Cold store tables even when a blank value is passed.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/CV_1.jpg" /></P><BR /> In terms of performance it is not good if the query hits the external cold store table even if only Hot data is requested &amp; fetched as output. So, the last option is not something we should aim for.<BR /> <BR /> Our job now is to consume this calculation view along in a composite provider &amp; then build a report with the variable based on the input parameter. Let's create an masterdata info object for holding the input parameter possible values for browse help. I created one called CS_FLAG with type CHAR length 1, the master data table of which looks like below :<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/md-1.jpg" /></P><BR /> &nbsp;<BR /> <BR /> So, on browse help in report, it will only show the values as unassigned &amp; 'X' to choose from.<BR /> <BR /> As next step, the HCPR : CP_SALES is created &amp; this info object is assigned to the input parameter in HCPR output tab (IP_CS_FLAG in Approach#1 &amp; IP_USER_INPUT in approach#2)<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/hcpr-1.jpg" /></P><BR /> The next step is to create an input ready single value variable on this info object CS_FLAG to restrict the input parameter in the report using the same.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/var-1.jpg" /></P><BR /> &nbsp;<BR /> <BR /> Now simply create a report with meaningful rows &amp; columns dragged into. I have created a sample report : ZQ_SALES_TEST as below just to show the behaviour of the report data controlled by the flag with a single variable in selection prompt screen which was built on CS_FLAG.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/query.jpg" /></P><BR /> Let's now have a look at the selection prompt screen of the report :<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/prompt-1.jpg" /></P><BR /> &nbsp;<BR /> <BR /> So, as mentioned earlier, I have just included the data tiering controller flag variable to showcase the output variance. As expected from the masterdata entries, the value help shows only two possible values to choose from.<BR /> <BR /> Now let's first execute the report without having any value passed to this variable, since it is optional.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/outputres.jpg" /></P><BR /> &nbsp;<BR /> <BR /> We can see only 2020 data is shown back, which is in the hot storage.<BR /> <BR /> Now let's do it again with the variable value passed as 'X'.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/prompt1.jpg" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/04/outputres1.jpg" /></P><BR /> &nbsp;<BR /> <BR /> And this time we get data from both hot &amp; cold storage ie. both 2019 &amp; 2020 year's data.<BR /> <BR /> &nbsp;<BR /> <BR /> PS : Since the '8' view has a union of the cold store &amp; hot store tables in it's sql defintion (explained in my <A href="https://blogs.sap.com/2021/04/13/view-for-external-access-the-8-view-for-adsos-in-bw-4hana-2.0-mixed-modelling/" target="_blank" rel="noopener noreferrer">blog post</A>), at this point, it always will create a connection to the cold store no matter what data is requested. Meaning when this view is used in the data model &amp; data from aDSO's hot storage is requested, it will still open a connection to the cold store if DTO is active for the aDSO &amp; there is data in cold store. It will not access the cold store table if we use the above mentioned pruning methods of accessing data, but it will still open the connection since it has to structure the definition of the '8' view, ie. union of aDSO's active table in HANA &amp; the virtual 'OU' table pointing to the cold store. So, make sure you have enough connections available if you are opting for this kind of solution. Else You can make a workaround with a union of active table of aDSO &amp; the 8 view of aDSO &amp; make a constant selection mapping based pruning in the union node with a target field directing the query to 8 view if cold data is requested, else direct the query only to hit the active table of the aDSO in case only hot data is requested using a filter expression restricted on the input parameter.<BR /> <BR /> Hope this blog will help gaining some insights about the generated '8' view for aDSOs being consumed in mixed modelling scenario from BW/4 reporting perspective &amp; securing correct control of data across different data temperature tiering systems with optimum performance in mind.<BR /> <BR /> You are welcome to share any comment/feedback/experience regarding this topic for enriching our mutual knowledge bank <span class="lia-unicode-emoji" title=":winking_face:">😉</span><BR /> <BR /> Cheers!<BR /> Abhi 2021-04-15T14:10:59+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/implementing-amdp-procedure-in-the-bw-customer-exit-variable/ba-p/13499896 Implementing AMDP procedure in the BW customer exit variable 2021-07-09T22:03:26+02:00 lakshminarasimhan_n4 https://community.sap.com/t5/user/viewprofilepage/user-id/200273 <STRONG>Introduction</STRONG><BR /> <BR /> Implementing AMDP procedure for the custom logic used in the BW customer exit variables.<BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>Applies to</STRONG><BR /> <BR /> BW/4HANA, BW Powered by HANA.<BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>Summary</STRONG><BR /> <BR /> What you learn from this blog is to push the custom logics based on table lookups into the HANA via AMDP method to Database instead of relying on the application server.<BR /> <BR /> Many a times in our customer exit variables we might have to read from the cube, ADSO tables, info object tables, HANA Tables, SAP Standard, Custom tables etc.<BR /> <BR /> if we are in a bw4hana then we can use the AMDP procedure to do the “select operations” from the tables. The reason is simple we are trying to bring the database operation to the database itself.(Code to Database)<BR /> <BR /> Author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Lakshminarasimhan Narasimhamurthy<BR /> <BR /> Created on&nbsp;&nbsp; : 13/JUN/2021<BR /> <BR /> <STRONG>Body</STRONG><BR /> <BR /> <STRONG>Requirement</STRONG><BR /> <BR /> I have a customer exit variable and the logic is that it must include only the cost centers that are present in the employee master data InfoObject and also include costcenters present for the user in the Z info object(Custom info object).<BR /> <BR /> we can implement the badi RSROA_VARIABLES_EXIT and Now in the custom logic part I'm going to make use of AMDP procedures to read the costcenters.<BR /> <BR /> AMDP stands for abap managed database procedures, basically we're going to make use of native SQL statements within the method.<BR /> <BR /> The interface IF_AMDP_MARKER_HDB must be added to the public section of the class and then add the method to the class with importing and exporting parameters.<BR /> <BR /> The AMDP methods must not be blank and must have SQL statements only.<BR /> <BR /> In the AMDP method implementation we must add the following,<BR /> <BR /> Method &lt;method name&gt;<BR /> <BR /> By database procedure<BR /> <BR /> For HDB<BR /> <BR /> Language sql-script<BR /> <BR /> Options Read-only<BR /> <BR /> Using &lt;table name/view names&gt;<BR /> <BR /> I have created the method “get_cost_centers” inside the class ycl_amdp_var_exit_1(Screen shot 1), the method takes the input of the username and outputs the relevant costcenters from the masterdata.<BR /> <BR /> (Note : The master data infoobjects/ADSO's must be exposed to hana in prior via the check box “External SAP HANA view for master data” if at all you need to read from the generated view(s) in HANA for the BW objects)<BR /> <BR /> &nbsp;<BR /> <BR /> The table type YCOST_CENTERS has been created with the line type as cost center(Screen shots 2 and 3)<BR /> <BR /> &nbsp;<BR /> <BR /> Screen shot 1 -<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/06/SS1.png" /></P><BR /> Code snippet<BR /> <PRE class="language-abap"><CODE>class ycl_amdp_var_exit_1 definition<BR /> public<BR /> final<BR /> create public.<BR /> public section.<BR /> interfaces IF_AMDP_MARKER_HDB.<BR /> <BR /> METHODS:<BR /> get_cost_centers<BR /> importing<BR /> value(lp_un) type XUBNAME<BR /> exporting<BR /> value(result) type YCOST_CENTERS raising cx_amdp_error.<BR /> <BR /> protected section.<BR /> private section.<BR /> endclass.<BR /> class ycl_amdp_var_exit_1 implementation.<BR /> method get_cost_centers<BR /> by database procedure for hdb language sqlscript options read-only<BR /> using /BIC/Q&lt;table name&gt; /bic/p&lt;table name&gt;.<BR /> <BR /> result = select MAST_CCTR<BR /> from<BR /> "/BIC/Q&lt;table name&gt;"<BR /> where<BR /> dateto = '99991231' and<BR /> "/BIC/&lt;field name&gt;" = :lp_un<BR /> union<BR /> select "/BIC/&lt;field name&gt;" AS MAST_CCTR<BR /> from<BR /> "/BIC/P&lt;table name&gt;"<BR /> where<BR /> "/BIC/&lt;field name&gt;" = :lp_un;<BR /> <BR /> endmethod.</CODE></PRE><BR /> Screen shot 2 -<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/06/SS2.jpg" /></P><BR /> Screen shot 3 -<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/06/SS3.jpg" /></P><BR /> Now create a query (Screen shot 5)and customer exit variable for cost center(Screen shot 4). The processing type is customer exit and it is a mandatory variable.<BR /> <BR /> &nbsp;<BR /> <BR /> Screen shot 4 -<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/06/SS4.jpg" /></P><BR /> Screen shot 5-<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/06/SS5-1.jpg" /></P><BR /> I have implemented the badi RSROA_VARIABLES_EXIT and the debugger comes to the variable Y_COSTCENTERS in i_step 2. (Even in i_step 1 same logic can be applied).<BR /> <BR /> The code is given below in Screen shot 6.<BR /> <BR /> &nbsp;<BR /> <BR /> Screen shot 6 –<BR /> <PRE class="language-abap"><CODE> data : lv_username type xubname,<BR /> ls_range type rrrangesid,<BR /> yob_amdp_var_exit_1 type ref to ycl_amdp_var_exit_1,<BR /> yt_cost_centers type ycost_centers,<BR /> ya_cost_centers type line of ycost_centers.<BR /> <BR /> case i_vnam.<BR /> <BR /> when 'Y_COSTCENTERS_01'. " Customer exit variable</CODE></PRE><BR /> To get the username of the user executing the report(SYST-UNAME can also be used instead of the below FM).<BR /> <PRE class="language-abap"><CODE> clear lv_username.<BR /> <BR /> call function 'RSEC_GET_USERNAME'<BR /> importing<BR /> e_username = lv_username.</CODE></PRE><BR /> Call the AMDP method<BR /> <PRE class="language-abap"><CODE> clear la_pernr.<BR /> <BR /> create object yob_amdp_var_exit_1.<BR /> <BR /> * try.<BR /> call method yob_amdp_var_exit_1-&gt;get_cost_centers<BR /> exporting<BR /> lp_un = lv_username<BR /> importing<BR /> result = yt_cost_centers<BR /> .<BR /> * catch cx_amdp_error .<BR /> * endtry.<BR /> </CODE></PRE><BR /> In debug mode<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/06/SS9.jpg" /></P><BR /> After F6 the data is populated in the yt_cost_centers<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/06/SS10.jpg" /></P><BR /> As expected 5 cost centers were retrieved from master data.<BR /> <BR /> The report now yields the output<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/06/SS12.jpg" /></P><BR /> The user(1736) has the following cost centers in Z* infoobject and master cost center in 0employee master data and all of them are visible in the report.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/06/SS13.jpg" height="283" width="456" /></P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2021/06/SS14.jpg" height="82" width="449" /></P><BR /> <STRONG>Note</STRONG> – We can debug the AMDP procedure step by step using “Debugger perspective” in SAP HANA STUDIO.&nbsp;Step by step debug of AMDP is possible using F5, F6 etc similar to ABAP Debugger. This will give a greater clarity on the execution of SQL Scripts.<BR /> <BR /> Welcoming the readers to provide feedback and engage with me in the comment section.<BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>References&nbsp;</STRONG><BR /> <BR /> <A href="https://www.saplearners.com/introduction-to-abap-managed-database-procedure-amdp/" target="_blank" rel="nofollow noopener noreferrer">Introduction to ABAP Managed Database Procedure (AMDP) (saplearners.com)</A><BR /> <BR /> &nbsp; 2021-07-09T22:03:26+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/query-performance-optimization-in-bw-few-tips/ba-p/13546382 Query Performance Optimization in BW - Few Tips 2022-02-02T07:13:27+01:00 pallab_haldar https://community.sap.com/t5/user/viewprofilepage/user-id/594699 In this blog, I am going to discuss about the approach I have taken to optimize queries in SAP BW .<BR /> <BR /> Two-way Bex query performance tuning can be done:<BR /> <OL><BR /> <LI>Changing the development and design of query.</LI><BR /> <LI>Tuning and changing the Setting and properties.</LI><BR /> </OL><BR /> Let’s discuss on the two options in details:<BR /> <BR /> <STRONG>A. Tuning with proper setting:::&nbsp;</STRONG><BR /> <BR /> 1. Use Program <STRONG>RSR_CACHE_RSRV_CHECK_ENTRIES </STRONG>to remove the unused Cache entries.<BR /> <BR /> <STRONG style="font-size: 1rem">2. Using the Selection of Structure Elements activated.</STRONG><BR /> <BR /> This option you need to enable when you are selecting specific selection (restricted Key figure) out other key figure you activated the setting when filter passes to the DB and cell which have value only pass to the query in BW. Not All fields and cells are transferred. As a result, query execution time less.<BR /> <BR /> This function you can also&nbsp;not&nbsp;be activated if the query has read mode 'A’ as in this mode all the key figure value are transferred at the start of the query execution so selective process can be done.<BR /> <BR /> For example -<BR /> <BR /> A. Selected on Structure Element AMMOUNT (MN) Without activating Selection of Structure Elements -<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/02/Structure.png" /></P><BR /> &nbsp;<BR /> <BR /> Selected on Structure Element AMMOUNT (MN) With activating Selection of Structure Elements -<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/02/Structure2.png" height="60" width="469" /></P><BR /> &nbsp;<BR /> <BR /> 3. There will be a significant improvement in performance using it if:<BR /> <UL><BR /> <LI>Your queries contain a large number of selections or restricted key figures and that need to be displayed latter on the drilldown, not in the initial screen.</LI><BR /> <LI>When a lot of operations used filters using selections or restricted key figures then this configuration useful.</LI><BR /> </UL><BR /> 4. Steps: <STRONG>Go to RSRT -</STRONG><STRONG>à Go to Query Properties.</STRONG><BR /> <BR /> My recommended setting in general scenario -<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/02/Recomended-Setting.png" /></P><BR /> &nbsp;<BR /> <BR /> 5.<STRONG style="font-size: 1rem">Deactivate parallel processing for an individual query.</STRONG><BR /> <UL><BR /> <LI>Deactivate the parallel processing for an individual query which do not have sub query or formula variable with replacement path which execute another subquery. We will gate fast response time.</LI><BR /> <LI>By below process we can deactivate it –</LI><BR /> <LI>Go to RSRT-&gt; select Execute + Debug mode -&gt; Data Manager -&gt; select no parallel processing –</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/2022/02/Parallel-Processing.png" /></P><BR /> &nbsp;<BR /> <BR /> 6. <STRONG>Operation in BWA/HANA mode: Which is suitable for what scenario:</STRONG><BR /> <OL><BR /> <LI><STRONG>0 -No Optimized Operations in SAP HANA/No BWA: </STRONG>This is not efficient as this setting not allowing to do any kind of operation inside the HANADB. If there is any virtual key figure used in query, then this setting we apply.</LI><BR /> <LI><STRONG>2 - Individual Access per Info Provider: If</STRONG> we used multi-Provider and want to optimize each multi-Provider separately then we use this option,</LI><BR /> <LI>3- <STRONG>Optimized Access: </STRONG>In this setting we the optimization done as a whole i.e., jointly for all the info providers. This is one of the best settings to get optimize query performance.</LI><BR /> <LI><STRONG>6- Exception Aggregation default: </STRONG>Using this setting we can get most optimize performance as it used to perform sub calculation and build sub views on it. But this setting has lots of limitation and everywhere we can not use it. If it is not suitable for your scenario then use 3- Optimize access.</LI><BR /> </OL><BR /> &nbsp;<BR /> <BR /> <STRONG>A. Tuning on Development and Design time:::</STRONG><BR /> <BR /> The below rules are not only true for BEX query but also for other query and views also –<BR /> <BR /> 1.Take only those info object/fields in query which you only want to use in the report. No single additional info object/fields.<BR /> <BR /> 2.Use Multi provider/Composite provider, if possible, to build a query.<BR /> <BR /> 3.Use filter whenever is possible to reduce the dataset into query.<BR /> <BR /> In filter use Not in i.e., Exclude some data point from a data set instead of IN. It improves performance –<BR /> <BR /> <STRONG>&nbsp;</STRONG><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/02/BEX-Exclude.png" /></P><BR /> &nbsp;<BR /> <BR /> <STRONG>4. Minimum use of Free Characteristics:</STRONG> If you know how the Report structure looks like then please use structure to develop the query. I recommended to minimum use of free characteristics. It reduces the memory load and improve the performance.<BR /> <BR /> If we use structures selections inside that and enable the setting “<STRONG>Selection of Structure Elements</STRONG>” the performance improves Significantly.<BR /> <BR /> 5. Push the calculation to the transformation layer:<BR /> <BR /> Do not do any kind of calculation i.e., Calculated key figure and Restricted key figure Query Level if it is not required to meet the criteria that cannot be fulfil without creating in query level.<BR /> <BR /> Push all the calculations to the Transformation layer . Develop DSO, info cubes and other objects in different layers and use transformations Layer for Calculated characteristics and calculated info Objects. Pass those info Object/fields to the Reporting Layer.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/02/Standard-Query.png" /></P><BR /> Use that field into query.<BR /> <BR /> 6. Avoid Aggregate unnecessary fields, be specific to the key figures required.<BR /> <BR /> 7. in additional in Push the joins (lookups) before aggregation in to narrow down the dataset in info provider level. In native HANA we can use ENUM JOIN_THRU_AGGR same way by alternate we will use via lookup before aggregate whenever it is possible.<BR /> <BR /> 8. If required Use logical partitioning - semantic partitioning, multi provhint<BR /> <BR /> 9. If required use physical partitioning<BR /> <BR /> 10. Use OLAP cache<BR /> <BR /> 11. compress cubes<BR /> <BR /> 12. Always “Suppress Result Row” to get optimize performance for each field in the Bex query –<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2022/02/subpress.png" /></P><BR /> &nbsp;<BR /> <BR /> 13 .Try to reduce characteristics drilldown at Query Level.<BR /> <BR /> 14. <STRONG>Choosing the proper decimal precisions for key figure calculation:</STRONG><STRONG>&nbsp;</STRONG><BR /> <UL><BR /> <LI>Use higher precisions while creating info object using in Info Object maintenance transaction (RSD1) for key figure, and in the query monitor for all key figures of a query.</LI><BR /> </UL><BR /> <UL><BR /> <LI>By default, “short decfloat” with Dec floating point with 16 places selected.</LI><BR /> </UL><BR /> Use “Long decfloat” with floating number with 32 places. This will reduce memory load.<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp; 2022-02-02T07:13:27+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/bw4-query-linked-components-an-intelligent-feature/ba-p/13536714 BW4 Query Linked Components – an intelligent feature 2022-03-29T09:24:09+02:00 rashi_singal1 https://community.sap.com/t5/user/viewprofilepage/user-id/594404 <H3 id="toc-hId-1089407011">Introduction to Linked Components</H3><BR /> With BW/4HANA, SAP introduced a new intelligent feature at query level called&nbsp;<STRONG>Linked Components</STRONG>. This allows you to link Query components so that changes in the source query components are reflected in the target query components. The system maintains mapping information that allows the queries to be synchronised automatically. We can create Linked components based on Calculated/Restricted Key figures and Queries.<BR /> <BR /> Mapping is supported for InfoObjects, Hierarchies, Restricted Key Figures, Calculated Key Figures, and Variables. Some features are not currently available/supported, such as Filters and Currency/unit conversions.<BR /> <BR /> For example, the business requirement is to write a large number of BW/4 Queries, the majority of which use comparable Restricted / Calculated Key Figures but are based on different InfoProviders. As they are dependent on common business requirements, most of the Restricted / Calculated Key Figures follow the same logic. If the business logic changes, all Restricted / Calculated Key Figures need to be changed.<BR /> <BR /> Instead of manually altering all of these Restricted/ Calculated Key figures, why not just change one of them and the others would automatically be updated?<BR /> <BR /> The question now is, “How can I accomplish such automatic functionality?” This is where the&nbsp;<STRONG>Linked Components</STRONG>&nbsp;feature comes in.<BR /> <H3 id="toc-hId-892893506">Solution Overview</H3><BR /> Using Linked Components feature, the central management of Query objects is achievable. It is now possible to describe the logic of components centrally (for example Calculated/Restricted Key Figures) and reuse the logic across queries created on top of other Info Providers. When the source Restricted / Calculated Key Figure is modified, all linked (target) components are updated.<BR /> <H3 id="toc-hId-696380001">Deep Dive</H3><BR /> We shall examine four topics in this blog post concerning Linked Components:<BR /> 1. Creating Linked Components<BR /> 2. Modifying the Source Component<BR /> 3. Modifying/Deleting the Target Component<BR /> 4. Decoupling the Target Component<BR /> <BR /> Let us look at the following scenario and see how to work with linked components.<BR /> <BR /> <STRONG>Scenario:</STRONG>&nbsp;IP1 and IP2 are two Info Providers with a similar structure. You have created the query Q1 for IP1. You need to create query Q2 for IP2. This query (Q2) should be similar to query Q1 and should alter automatically whenever query Q1 is changed.<BR /> <H3 id="toc-hId-499866496">Creating Link Components</H3><BR /> To create a Linked Component based on a query, follow the steps below:<BR /> <BR /> 1. Open source query Q1 and click on ‘Show Linked Components View’:<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45420" src="https://nttdata-solutions.com/wp-content/usermedia/LC-1.png" alt="" width="1219" height="77" /><BR /> <BR /> This opens a new tab called Linked Components:<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45421" src="https://nttdata-solutions.com/wp-content/usermedia/LC2.png" alt="" width="916" height="111" /><BR /> <BR /> 2. Open the context menu for the source component and choose&nbsp;<STRONG>New Component</STRONG>:<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45422" src="https://nttdata-solutions.com/wp-content/usermedia/LC3.png" alt="" width="1148" height="315" /><BR /> <BR /> 3. Enter the name of the target component &amp; target Info Provider and a description.<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45423" src="https://nttdata-solutions.com/wp-content/usermedia/LC4.png" alt="" width="852" height="588" /><BR /> <BR /> 4. Click on&nbsp;<STRONG>Create Proposal.</STRONG><BR /> <BR /> When you click “Create Proposal,” the system will automatically map the objects based on the reference info object. You have the option to alter the mapping by clicking on ellipsis button on the target object, this opens up a dialog box to choose from.<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45426" src="https://nttdata-solutions.com/wp-content/usermedia/LC5.png" alt="" width="1524" height="864" /><BR /> <BR /> If the data types for Info Objects match and the system is able to map source and target objects, the status will be green. If the system cannot find any similar fields, the status will be red, with the message “Could not locate a suitable object for **.” In this case, you map it manually.<BR /> <BR /> 5. Validate &amp; Create. Now you can see the newly created query (IP2_Q2) is linked to the source query (IP1_Q1):<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45427" src="https://nttdata-solutions.com/wp-content/usermedia/LC6.png" alt="" width="1152" height="193" /><BR /> <H3 id="toc-hId-303352991">Modifying the Source Component</H3><BR /> If we make any changes to the source component these will be added in the target component as well. Let us look at it in more detail:<BR /> <BR /> 1. Open source query (IP1_Q1) and make any changes to it. Let us add Product in rows.<BR /> <BR /> 2. Save the changes in Source query.<BR /> <BR /> After saving the source query, the target component icon on the Linked Components tab has been changed and an * is added, indicating that the target component is currently not synchronous with the source component and that any changes made in the source will not be reflected in the target:<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45428" src="https://nttdata-solutions.com/wp-content/usermedia/LC7.png" alt="" width="1526" height="790" /><BR /> <BR /> 3. To start synchronization, choose&nbsp;<STRONG>Synchronize</STRONG>&nbsp;from the context menu for the source component:<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45429" src="https://nttdata-solutions.com/wp-content/usermedia/LC8.png" alt="" width="1374" height="313" /><BR /> <BR /> If the synchronization is successful, you will get status as green.<BR /> <H3 id="toc-hId-106839486">Modifying/deleting the Target Component</H3><BR /> As the target component is linked to the source component, you are allowed to make limited changes to it. You can only change description or mapping.<BR /> <BR /> Let us look at how to make these changes in the target component.<BR /> <BR /> 1. Choose&nbsp;<STRONG>Open</STRONG>&nbsp;from the context menu of the link target component on the&nbsp;<STRONG>Linked Components tab</STRONG>:<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45430" src="https://nttdata-solutions.com/wp-content/usermedia/LC9.png" alt="" width="1152" height="265" /><BR /> <BR /> 2. Under&nbsp;<STRONG>General</STRONG>, press the&nbsp;<STRONG>Edit mapping and synchronize with source component&nbsp;</STRONG>button.<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45431" src="https://nttdata-solutions.com/wp-content/usermedia/LC10.png" alt="" width="536" height="418" /><BR /> <BR /> 3.&nbsp;<STRONG>Edit mapping and synchronize with source component dialog box appears</STRONG>, make relevant changes (Description / Mapping):<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45432" src="https://nttdata-solutions.com/wp-content/usermedia/LC11.png" alt="" width="1414" height="861" /><BR /> <BR /> 4. Validate &amp; Synchronize.<BR /> <BR /> <STRONG>Note:</STRONG>&nbsp;If you try to make any more modifications to the target component, such as adding filters, removing characteristics/key figures, or even deleting the target query, you will get an error that the&nbsp;<STRONG>Component is still linked and cannot be changed</STRONG>:<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45433" src="https://nttdata-solutions.com/wp-content/usermedia/LC12.png" alt="" width="940" height="440" /><BR /> <H3 id="toc-hId--89674019">Decoupling the Target Component</H3><BR /> In order to make further changes/delete the target component, we need to&nbsp;<STRONG>Decouple&nbsp;</STRONG>(breaking the link between source &amp; target component) the target component.<BR /> <BR /> Follow these steps to decouple target component:<BR /> <BR /> 1. From the Linked Components tab, open the context menu of target component and press&nbsp;<STRONG>Decouple</STRONG>:<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45434" src="https://nttdata-solutions.com/wp-content/usermedia/LC13.png" alt="" width="866" height="193" /><BR /> <BR /> Or<BR /> <BR /> 2. Open the target component, in the general tab press&nbsp;<STRONG>Decouple</STRONG>&nbsp;button:<BR /> <BR /> <IMG class="aligncenter size-full wp-image-45435" src="https://nttdata-solutions.com/wp-content/usermedia/LC14.png" alt="" width="480" height="441" /><BR /> <BR /> <STRONG>Note:&nbsp;</STRONG>It is not possible to re-link a broken query component; if you wish to re-synchronize, you must restart the entire process.<BR /> <H3 id="toc-hId--286187524">Conclusion</H3><BR /> Overall, Linked Components is a helpful and straightforward feature for mapping source and destination components and automatically synchronising them. It also assures uniformity and saves time.<BR /> <H3 id="toc-hId--482701029">Supporting Documentation &amp; Information</H3><BR /> You can find more information on Linked Components on <A href="https://help.sap.com/viewer/dd104a87ab9249968e6279e61378ff66/11.0.8/en-US/ec2998cc10d44c7c8d26817fe8eb63b3.html?q=BWMT%20linked%20components" target="test_blank" rel="noopener noreferrer">https://help.sap.com/viewer/dd104a87ab9249968e6279e61378ff66/11.0.8/en-US/ec2998cc10d44c7c8d26817fe8eb63b3.html?q=BWMT%20linked%20components</A><BR /> <BR /> &nbsp;<BR /> <BR /> I hope this blog post has helped you understand Linked Components better. Thank you very much for reading it; please provide your valuable feedback, and if you have any questions, please message me, or you can find more Q&amp;A and post questions in the community by using the links below.<BR /> <A href="https://answers.sap.com/tags/73554900100800000681" target="test_blank" rel="noopener noreferrer">https://answers.sap.com/tags/73554900100800000681</A> (BW/4HANA) <A href="https://answers.sap.com/tags/834511320631052684142696158061592" target="test_blank" rel="noopener noreferrer">https://answers.sap.com/tags/834511320631052684142696158061592</A> (SAP Business Explorer)<BR /> <BR /> Please note that this blog post was first published at&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;<A href="https://nttdata-solutions.com/uk/local-blog/bw4-query-linked-components-an-intelligent-feature/" target="_blank" rel="nofollow noopener noreferrer">https://nttdata-solutions.com/uk/local-blog/bw4-query-linked-components-an-intelligent-feature/</A> 2022-03-29T09:24:09+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-consume-an-analytical-query-bex-query-in-abap/ba-p/13570280 How to consume an analytical query / BEx Query in ABAP 2023-01-17T19:59:03+01:00 martin_mayer https://community.sap.com/t5/user/viewprofilepage/user-id/191669 <H3 id="toc-hId-1092917757">How can I consume an analytical query in ABAP ?</H3><BR /> Normally analytical queries are used with reporting tools like SAC, Analysis Office, WebDynpro Grid,&nbsp; or RSRT in backend.<BR /> <BR /> This post show how to directly access and use the query within your own ABAP application by the use of <STRONG>L</STRONG>ightweight <STRONG>B</STRONG>ICS <STRONG>A</STRONG>PI ( LBA ) .<BR /> <BR /> It's really easy and needs only 2 ABAP calls . Development was driven by the need for testing the query with unit test. But for sure this approach also fits to others usecase where you want to use the query in your ABAP application.<BR /> <BR /> This example show the most simple case. Calling a query without variables.<BR /> <PRE><CODE>DATA(lr_std_query) = NEW cl_lba_std_query( i_query_name = 'MyQueryName' ).<BR /> <BR /> lr_std_query-&gt;get_resultset(&nbsp; <BR /> "EXPORTING i_t_requested_columns = lt_requested_columns "dimensions&amp;keyfigures for resultset <BR /> " i_t_variable_values = lt_variable "mandatory and optional variables<BR /> " i_t_filter_values = lt_filter "additional filters <BR /> IMPORTING e_r_resultset = DATA(lr_resultset) "resultset table<BR /> &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e_t_column_catalog = DATA(lt_column_catalog) ). "resultset description</CODE></PRE><BR /> LBA comes also with a 2nd flavours to call the CDS based query.<BR /> <PRE><CODE>DATA(lr_std_query) = NEW cl_lba_cds_query( i_view_name = 'MyCDSview' ). <BR /> <BR /> lr_cds_query-&gt;get_resultset(&nbsp; ...</CODE></PRE><BR /> &nbsp;<BR /> <BR /> Query in this context means BW modelled queries:<BR /> <UL><BR /> <LI>CDS based analytical queries ,</LI><BR /> <LI>Query modelled using BW modelling tools ( BWMT )</LI><BR /> <LI>Query modelled using BEx Query Designer</LI><BR /> </UL><BR /> <A href="https://i7p.wdf.sap.corp/sap/support/notes/0003269710" target="_blank" rel="nofollow noopener noreferrer">Note 3269710</A> contain further details like available releases and has 2 attachments<BR /> with several sample cases for CDS based queries and classical analytical queries.<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp; 2023-01-17T19:59:03+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/amount-in-certain-currency-is-multiplied-by-100-at-report-level/ba-p/13558447 Amount in certain currency is multiplied by 100 at Report Level 2023-02-09T18:08:51+01:00 hari_prasad1 https://community.sap.com/t5/user/viewprofilepage/user-id/472505 <STRONG>About Author:</STRONG><BR /> <BR /> Hari Boda is working as a SAP Lead BW-HANA consultant at TekLink Software Pvt&nbsp; Ltd and has worked on multiple assignments in BW-HANA analytics&nbsp; domain.<BR /> <BR /> <STRONG>Brief about issue:<BR /> </STRONG><BR /> <BR /> Amount in certain currency is multiplied by 100 in bex report in other terms the decimal places in a query is returning wrong values, sometimes the amount might be too high or too low by a factor of 100.<BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>Explanation and solution:</STRONG><BR /> <BR /> This generally happens due to the decimal places maintained in table TCURX.<BR /> <BR /> The Table TCURX defines how currency amounts are converted between DB storage and display on the front-end.<BR /> <BR /> Not only at front end,the TCURX settings are considered also when loading data. Therefore, in order to get consistency, always there should be inverse calculation done at loading time at Application level.<BR /> <BR /> By default, all amounts are stored with 2 decimal places on the database and are later converted for display based on the currency entry in the table TCURX.<BR /> <BR /> If a currency is entered with e.g. value 0, then the currency is displayed with 0 decimal places in BW Queries (which means that the amount is displayed with factor 100 higher than it is stored on DB Level).<BR /> <BR /> <STRONG>Example:</STRONG><BR /> <BR /> TCURX = NO ENTRY: Database entry = 123.45<BR /> <BR /> The above number is displayed as 123.45<BR /> <BR /> TCURX = 3: Database entry = 123.45<BR /> <BR /> The above number is displayed as 12.345(3 decimal places, as 3 is maintained in the TCURX table).<BR /> <BR /> TCURX = 0 Database entry = 123.45<BR /> <BR /> The above number is displayed as 12345(0 decimal places and shows 12345 as no decimal places&nbsp; maintained in the TCURX table)<BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>In order to correct this in BW:</STRONG><BR /> <BR /> we have to correct the data for the currencies having issue while loading in BW within the transformation.<BR /> <OL><BR /> <LI>In the routine, get the data from TCURX&nbsp; to fetch number of decimal places for the respective currency.</LI><BR /> <LI>for 0 decimal currencies that are having issue's at reporting layer, assign 100 value to&nbsp; a variable and store it in internal table.</LI><BR /> <LI>using above internal table, for the respective KPI's and Currency Unit we need to divide by 100.</LI><BR /> </OL><BR /> By doing this division by 100, at the reporting layer the KPI will show correctly i.e. without multiplication of 100.<BR /> <BR /> Thank you for reading my blog. Comments and feedback are welcome! 2023-02-09T18:08:51+01:00 https://community.sap.com/t5/technology-blog-posts-by-sap/sap-premium-engagement-a-service-roadmap-for-sac-s-4-embedded-analytics/ba-p/13577480 SAP Premium Engagement: A service roadmap for SAC, S/4 Embedded Analytics, Business Objects and Planning 2023-10-11T23:58:54+02:00 thomas_ernst https://community.sap.com/t5/user/viewprofilepage/user-id/239619 <P><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.</P><P><IMG src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/SAP_PE.png" border="0" /></P><P><BR /><STRONG>Introduction</STRONG><BR /><BR />With thousands of established and new customers moving and expanding their Analytics &amp; Planning solutions in S/4 and BTP, we want to explain how our Premium Engagement services offer every type of help needed for your success.<BR /><BR /><STRONG>OnPrem, in the cloud or hybrid</STRONG><BR /><BR />Our services and experts provide solutions and guidance in S/4, BTP, BW/4 and <A href="https://blogs.sap.com/?p=1844489?source=email-global-notification-mod" target="_blank" rel="noopener noreferrer">Business Objects</A>. We support with integration, implementation and prototyping. We guide you in your Big Data and AI innovation journey to a quick and positive ROI with modern analytics, planning and forecasting.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Analytics Portfolio 3.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/55185i04BA4431F1B9BD1A/image-size/large?v=v2&amp;px=999" role="button" title="Analytics Portfolio 3.png" alt="Analytics Portfolio 3.png" /></span></P><P>&nbsp;</P><P class="">Priorities for the Customer from Analytics and Data Management Perspective</P><P><BR /><STRONG>From discovery to run</STRONG><BR /><BR />Our service portfolio (<A href="https://servicescatalog.cvdp3eof-dbsservic1-p1-public.model-t.cc.commerce.ondemand.com/c/Focus-Package:-SAP-Analytics-Cloud-Design,-Integration-and-Deployment/p/FP000015" target="_blank" rel="noopener nofollow noreferrer">Service and Support Catalog link</A>) and engagement model range from:<BR /><BR /></P><UL><UL><LI>Expert workshops for discovering innovation.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI>Architecture and strategy services where new solutioning options are defined reflecting your requirements.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI>Design, configuration, migration, enablement and prototyping services for your specific analytics, data mangement and planning scenarios.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI>Holistic functional and technical assessments, verifications, performance tuning and stress testing.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI>E2E monitoring and issue analysis during go-live and cutover.</LI></UL></UL><P><BR /><BR /></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Analytics Portfolio.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/55172i0C9CAB1A25DF1B2D/image-size/large?v=v2&amp;px=999" role="button" title="Analytics Portfolio.png" alt="Analytics Portfolio.png" /></span></P><P>&nbsp;</P><P class="">Service Portfolio for SAP Analytics and Planning</P><P><BR />&nbsp;<STRONG>Key services and highlights</STRONG><BR /><BR /></P><UL><UL><LI><A href="https://blogs.sap.com/2023/12/11/sap-premium-engagement-analytics-strategy-workshop/" target="_blank" rel="noopener noreferrer"><U>Analytics Strategy</U></A>: Workshop with experts to define your own path and strategy to a modernized SAP landscape in the area of enterprise analytics and planning, S/4HANA embedded analytics, enterprise data warehousing, and integration scenarios.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI><A href="https://blogs.sap.com/2023/12/21/sap-premium-engagement-analytics-design-workshop/" target="_blank" rel="noopener noreferrer"><U>Analytics Design</U></A>: Learn how to refine the implementation aspects of the analytics architecture, e.g., <A href="https://blogs.sap.com/2023/12/11/unlock-data-integrations-with-sap-analytics-cloud-sac/" target="_blank" rel="noopener noreferrer">source system connections to SAC, SSO</A>, creating models, UX and reporting &amp; planning applications.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI><U>Jump-start for Analytics and Data Management</U>: Demo realization and prototyping of a use case. Identify and realize business processes and KPIs for your enterprise analytics, data management and planning. <A href="https://blogs.sap.com/2023/08/02/navigating-the-path-to-sap-analytics-cloud-re-platforming-from-lumira/" target="_blank" rel="noopener noreferrer">For example, re-platforming Lumira to SAC</A>.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI><U>Enablement Workshop for Data and Analytics</U>: Show-and-tell session and teaching for your technical and functional teams on analytics features, concepts and methods.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI><U>Technical Integration Check</U>: Technical assessment of the solution, business processes, interfaces, and system landscape. Transparency and action plans for expert guidance and follow up.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/business-process-performance-optimization-a-premium-engagement-offering/ba-p/13574680" target="_self"><U>Business Process Performance Optimization</U></A>: Analyzing and improving the performance of business processes.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI><A href="https://blogs.sap.com/2023/10/04/volume-test-optimization-service-for-sap-analytics-cloud/?source=email-global-notification-bp-new-in-tag-followed" target="_blank" rel="noopener noreferrer"><U>Volume Test Optimization</U></A>: Simulation of peak usage in Analytics to validate if the underlying solution architecture can handle the load.</LI></UL></UL><P>&nbsp;</P><UL><UL><LI><U>Analytics &amp; Data Management Health Check</U>: Remote check of the analytics solution for a potential misconfiguration of parameter settings or logs and operational aspects (e.g., housekeeping).</LI></UL></UL><P>&nbsp;</P><UL><UL><LI><A href="https://blogs.sap.com/2023/10/04/go-live-support-service-for-sap-analytics-cloud/?source=email-global-notification-bp-new-in-tag-followed" target="_blank" rel="noopener noreferrer"><U>Going Live Support</U></A>: System monitoring during go-live and hyper-care. Root cause analysis of critical issues during cut-over period.</LI></UL></UL><P><BR /><BR /><STRONG>Service Assignment Options</STRONG><BR /><BR />These services are available for a variety of SAP support frameworks, including Value Assurance, SAP MaxAttention, SAP Active Embedded, and SAP Active Attention.&nbsp;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 <A href="mailto:sap_vpr_emea@global.corp.sap" target="_blank" rel="noopener nofollow noreferrer">Virtual Project Room</A> (VPR) to unleash the full potential of SAC, the unrivaled symphony of data insights that elevate your business intelligence to new heights.<BR /><BR />In the blogs below we share more tools and insights from our engagements.<BR /><BR /></P><UL><UL><LI><A href="https://blogs.sap.com/2023/09/09/sap-analytics-cloud-planning-in-unified-story-using-input-controls/" target="_blank" rel="noopener noreferrer">SAP Analytics Cloud – Planning in Unified Story using Input Controls</A></LI></UL></UL><P>&nbsp;</P><UL><UL><LI><A href="https://blogs.sap.com/2020/11/18/bex-3.x-7.x-to-afo-2.x-automated-mass-conversion-tool-v2.1/" target="_blank" rel="noopener noreferrer">BEx to AfO Automated Mass Conversion Tool</A></LI></UL></UL><P>&nbsp;</P><UL><UL><LI><A href="https://blogs.sap.com/2021/12/02/sap-analytics-cloud-replicating-bw-analysis-authorizations-into-dimension-read-write-property/" target="_blank" rel="noopener noreferrer">SAP Analytics Cloud – Replicating BW Analysis Authorizations into Dimension Read/Write Property</A></LI></UL></UL><P>&nbsp;</P><UL><UL><LI><A href="https://blogs.sap.com/2023/08/04/enhancing-sap-analytics-cloud-the-power-of-ux-and-accessibility/" target="_blank" rel="noopener noreferrer">why UX and Accessibility are important</A></LI></UL></UL><P>&nbsp;</P><UL><UL><LI><A title="https://community.sap.com/t5/technology-blogs-by-sap/strategy-for-troubleshooting-network-performance-issues-in-sap-analytics/ba-p/14054830" href="https://community.sap.com/t5/technology-blogs-by-sap/strategy-for-troubleshooting-network-performance-issues-in-sap-analytics/ba-p/14054830" target="_self">Strategy for troubleshooting network performance issues in SAC</A>&nbsp;</LI></UL></UL><P>&nbsp;</P><UL><UL><LI><A class="" href="https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-collect-a-http-archive-har-file-from-the-sac-mobile-app-a-step-by/ba-p/14140486" target="_blank">How to Collect a HTTP Archive (HAR file) from the SAC Mobile App: A Step-by-Step Guide</A></LI></UL></UL><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2023-10-11T23:58:54+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/bex-query-afo-reports-development-tips-tricks-performance-improvement/ba-p/13571935 Bex Query/AFO Reports Development tips/tricks & Performance Improvement Techniques. 2023-10-25T16:10:28+02:00 NarasinghaPrasadPatro https://community.sap.com/t5/user/viewprofilepage/user-id/618193 Hello All,<BR /> <BR /> Welcome back to yet another blogpost on Bex Query/AFO Reports Development, Tips/Tricks&nbsp; &amp; Performance Improvement Techniques. This blogpost will explain best practices to follow during the development of these objects, tips and tricks to follow, and how to optimize the performance of these queries so that we can develop better business reports for our customers.<BR /> <BR /> Before deep diving, first let us understand the flow of data while creating a Business Explorer Report Aka Bex Query in a typical SAP BW or SAP BWONHANA or SAP BW4HANA and BW4HANA mixed and hybrid modelling scenario looks. PFB picture :<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/1-187.png" /></P><BR /> &nbsp;<BR /> <BR /> There are a lot of blog posts and learning videos available on the web to understand how to create BW objects for modeling before reaching the Bex query. Here I am not going to discuss BW development. Here we will discuss Bex query best practices to follow and optimization techniques.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-963871406"><SPAN style="text-decoration: underline"><STRONG>Best Practices to follow during Bex Query Development&nbsp;</STRONG></SPAN></H2><BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">1.&nbsp;</SPAN><SPAN class="css-rh820s">When&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-15iwe0d">reports&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-2yp7ui">from&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-15iwe0d">Web&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">Intelligence&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">(also&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-2yp7ui">known&nbsp;</SPAN><SPAN class="css-15iwe0d">as&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">WebI&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">or&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-0">Webi)&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-0">are&nbsp;</SPAN><SPAN class="css-0">connected&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~11" class="css-1m8t0fv"><SPAN class="css-0">via&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~12" class="css-1m8t0fv"><SPAN class="css-0">a&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~13" class="css-1m8t0fv"><SPAN class="css-0">BICS&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~14" class="css-1m8t0fv"><SPAN class="css-0">connection,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~15" class="css-1m8t0fv"><SPAN class="css-0">all&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~16" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-0">data&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~17" class="css-1m8t0fv"><SPAN class="css-0">is&nbsp;</SPAN><SPAN class="css-rh820s">extracted&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~18" class="css-1m8t0fv"><SPAN class="css-rh820s">depending&nbsp;</SPAN><SPAN class="css-0">on&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~19" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-0">characteristics&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~20" class="css-1m8t0fv"><SPAN class="css-rh820s">listed&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~21" class="css-1m8t0fv"><SPAN class="css-0">under&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~22" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-1eh0vfs">columns,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~23" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">rows,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~24" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">or&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~25" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">free&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~26" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">characteristics.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-0">In&nbsp;</SPAN><SPAN class="css-rh820s">order&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-0">for&nbsp;</SPAN><SPAN class="css-0">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-0">SAP&nbsp;</SPAN><SPAN class="css-0">BW&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-0">BEx&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-0">Query&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-rh820s">to&nbsp;</SPAN><SPAN class="css-rh820s">provide&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">aggregated&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">results,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">only&nbsp; </SPAN><SPAN class="css-15iwe0d">necessary&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~9" class="css-1m8t0fv"><SPAN class="css-15iwe0d">characteristics&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~10" class="css-1m8t0fv"><SPAN class="css-15iwe0d">should&nbsp;</SPAN><SPAN class="css-15iwe0d">be&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~11" class="css-1m8t0fv"><SPAN class="css-2yp7ui">present&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~12" class="css-1m8t0fv"><SPAN class="css-1ber87j">in&nbsp;</SPAN><SPAN class="css-1ber87j">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~13" class="css-1m8t0fv"><SPAN class="css-1ber87j">columns,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~14" class="css-1m8t0fv"><SPAN class="css-1ber87j">rows,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~15" class="css-1m8t0fv"><SPAN class="css-1ber87j">and&nbsp;</SPAN><SPAN class="css-1ber87j">free&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~16" class="css-1m8t0fv"><SPAN class="css-0">characteristics.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">2.&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-rh820s">Employ&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-15iwe0d">filters&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-15iwe0d">to&nbsp;</SPAN><SPAN class="css-2yp7ui">reduce&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-15iwe0d">query's&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">expected&nbsp;</SPAN><SPAN class="css-15iwe0d">result&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">set&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">as&nbsp;</SPAN><SPAN class="css-2yp7ui">much&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">as&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-2yp7ui">you&nbsp;</SPAN><SPAN class="css-2yp7ui">can&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-15iwe0d">(to&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~11" class="css-1m8t0fv"><SPAN class="css-1ber87j">a&nbsp;</SPAN><SPAN class="css-1ber87j">maximum&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~12" class="css-1m8t0fv"><SPAN class="css-1ber87j">of </SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~13" class="css-1m8t0fv"><SPAN class="css-1ber87j">1000 </SPAN></SPAN><SPAN id="output-phrase~0~14" class="css-1m8t0fv"><SPAN class="css-0">lines).</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-15iwe0d">Large&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-15iwe0d">result&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-15iwe0d">sets&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-2yp7ui">produced&nbsp;</SPAN><SPAN class="css-2yp7ui">by&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">SAP&nbsp;</SPAN><SPAN class="css-15iwe0d">BW&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">BEx&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">queries&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">are&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-rh820s">resource-intensive&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~9" class="css-1m8t0fv"><SPAN class="css-0">and&nbsp;</SPAN><SPAN class="css-0">have&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~10" class="css-1m8t0fv"><SPAN class="css-0">an&nbsp;</SPAN><SPAN class="css-rh820s">immediate&nbsp;</SPAN><SPAN class="css-rh820s">effect&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~11" class="css-1m8t0fv"><SPAN class="css-0">on&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~12" class="css-1m8t0fv"><SPAN class="css-0">reporting&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~13" class="css-1m8t0fv"><SPAN class="css-0">performance.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">3.&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-0">Instead&nbsp;</SPAN><SPAN class="css-0">of&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-rh820s">using&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-15iwe0d">formulas&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">in&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">SAP&nbsp;</SPAN><SPAN class="css-15iwe0d">BW&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">BEx&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">Queries,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-1ber87j">build&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-1ber87j">calculated&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-1ber87j">key&nbsp;</SPAN><SPAN class="css-1ber87j">figures&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~11" class="css-1m8t0fv"><SPAN class="css-1ber87j">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~12" class="css-1m8t0fv"><SPAN class="css-1ber87j">restricted&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~13" class="css-1m8t0fv"><SPAN class="css-1ber87j">key&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~14" class="css-1m8t0fv"><SPAN class="css-1ber87j">figures&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~15" class="css-1m8t0fv"><SPAN class="css-1ber87j">at&nbsp;</SPAN><SPAN class="css-1ber87j">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~16" class="css-1m8t0fv"><SPAN class="css-1ber87j">InfoCube&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~17" class="css-1m8t0fv"><SPAN class="css-15iwe0d">level.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-0">This&nbsp;</SPAN><SPAN class="css-0">is&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-rh820s">due&nbsp;</SPAN><SPAN class="css-0">to&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-rh820s">the&nbsp;</SPAN><SPAN class="css-rh820s">fact&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-rh820s">that&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">whereas&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">calculated&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">key&nbsp;</SPAN><SPAN class="css-1eh0vfs">figures&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">restricted&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~9" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">key&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~10" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">figures&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~11" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">are&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~12" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">global&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~13" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">in&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~14" class="css-1m8t0fv"><SPAN class="css-0">nature,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~15" class="css-1m8t0fv"><SPAN class="css-rh820s">formulae&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~16" class="css-1m8t0fv"><SPAN class="css-0">are&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~17" class="css-1m8t0fv"><SPAN class="css-0">local&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~18" class="css-1m8t0fv"><SPAN class="css-0">to&nbsp;</SPAN><SPAN class="css-0">a&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~19" class="css-1m8t0fv"><SPAN class="css-0">query.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><SPAN id="output-sentence-box~2" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~2"><SPAN data-testid="output-sentence-2"><SPAN id="output-phrase~2~0" class="css-1m8t0fv"><SPAN class="css-rh820s">As&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~1" class="css-1m8t0fv"><SPAN class="css-0">a&nbsp;</SPAN><SPAN class="css-rh820s">result,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~2" class="css-1m8t0fv"><SPAN class="css-0">they&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~3" class="css-1m8t0fv"><SPAN class="css-rh820s">may&nbsp;</SPAN><SPAN class="css-0">be&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~4" class="css-1m8t0fv"><SPAN class="css-rh820s">applied&nbsp;</SPAN><SPAN class="css-0">to&nbsp; </SPAN></SPAN><SPAN id="output-phrase~2~5" class="css-1m8t0fv"><SPAN class="css-0">queries&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~6" class="css-1m8t0fv"><SPAN class="css-rh820s">created&nbsp;</SPAN><SPAN class="css-rh820s">using&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~7" class="css-1m8t0fv"><SPAN class="css-0">InfoProviders,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~8" class="css-1m8t0fv"><SPAN class="css-rh820s">resulting&nbsp;</SPAN><SPAN class="css-0">in&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~9" class="css-1m8t0fv"><SPAN class="css-15iwe0d">values&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~10" class="css-1m8t0fv"><SPAN class="css-2yp7ui">that&nbsp;</SPAN><SPAN class="css-2yp7ui">are&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~11" class="css-1m8t0fv"><SPAN class="css-15iwe0d">consistent&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~12" class="css-1m8t0fv"><SPAN class="css-15iwe0d">across&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~13" class="css-1m8t0fv"><SPAN class="css-15iwe0d">queries.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~3" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~3"><SPAN data-testid="output-sentence-3"><SPAN id="output-phrase~3~0" class="css-1m8t0fv"><SPAN class="css-rh820s">Additionally,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~1" class="css-1m8t0fv"><SPAN class="css-0">it&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~2" class="css-1m8t0fv"><SPAN class="css-rh820s">reduces&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~3" class="css-1m8t0fv"><SPAN class="css-0">maintenance&nbsp;</SPAN><SPAN class="css-rh820s">work&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~4" class="css-1m8t0fv"><SPAN class="css-rh820s">because&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">all&nbsp;</SPAN><SPAN class="css-15iwe0d">queries&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~6" class="css-1m8t0fv"><SPAN class="css-2yp7ui">that&nbsp;</SPAN><SPAN class="css-2yp7ui">use&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~7" class="css-1m8t0fv"><SPAN class="css-1ber87j">a&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~8" class="css-1m8t0fv"><SPAN class="css-1ber87j">calculated&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~9" class="css-1m8t0fv"><SPAN class="css-1ber87j">key&nbsp;</SPAN><SPAN class="css-1ber87j">figure&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~10" class="css-1m8t0fv"><SPAN class="css-1ber87j">or&nbsp;</SPAN><SPAN class="css-2yp7ui">limited&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~11" class="css-1m8t0fv"><SPAN class="css-15iwe0d">key&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~12" class="css-1m8t0fv"><SPAN class="css-15iwe0d">figure&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~13" class="css-1m8t0fv"><SPAN class="css-2yp7ui">receive&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~14" class="css-1m8t0fv"><SPAN class="css-2yp7ui">the&nbsp;</SPAN><SPAN class="css-2yp7ui">effects&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~15" class="css-1m8t0fv"><SPAN class="css-2yp7ui">of&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~16" class="css-1m8t0fv"><SPAN class="css-15iwe0d">any&nbsp;</SPAN><SPAN class="css-2yp7ui">modifications&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~17" class="css-1m8t0fv"><SPAN class="css-15iwe0d">made&nbsp;</SPAN><SPAN class="css-15iwe0d">to&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~18" class="css-1m8t0fv"><SPAN class="css-2yp7ui">them.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">4.&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-0">Any&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-rh820s">computations&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-15iwe0d">(such&nbsp;</SPAN><SPAN class="css-15iwe0d">as&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">currency&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">or&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">unit&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">conversions)&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">that&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-2yp7ui">must&nbsp;</SPAN><SPAN class="css-15iwe0d">be&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-2yp7ui">performed&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~11" class="css-1m8t0fv"><SPAN class="css-15iwe0d">before&nbsp; </SPAN></SPAN><SPAN id="output-phrase~0~12" class="css-1m8t0fv"><SPAN class="css-15iwe0d">aggregation&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~13" class="css-1m8t0fv"><SPAN class="css-0">should&nbsp;</SPAN><SPAN class="css-0">be&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~14" class="css-1m8t0fv"><SPAN class="css-0">done&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~15" class="css-1m8t0fv"><SPAN class="css-rh820s">either&nbsp;</SPAN><SPAN class="css-0">before&nbsp;</SPAN><SPAN class="css-1eh0vfs">or&nbsp;</SPAN><SPAN class="css-1eh0vfs">during&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~16" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">the&nbsp;</SPAN><SPAN class="css-1eh0vfs">transformation&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~17" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~18" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">loading&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~19" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">into&nbsp;</SPAN><SPAN class="css-1eh0vfs">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~20" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">InfoProviders&nbsp; </SPAN></SPAN><SPAN id="output-phrase~0~21" class="css-1m8t0fv"><SPAN class="css-rh820s">operations.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-0">You&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-rh820s">can&nbsp;</SPAN><SPAN class="css-rh820s">skip&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-0">a&nbsp;</SPAN><SPAN class="css-rh820s">significant,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-0">time-consuming&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-0">query-processing&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">step&nbsp;</SPAN><SPAN class="css-1ber87j">by&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-1ber87j">processing&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-1ber87j">currency&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-1ber87j">or&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~9" class="css-1m8t0fv"><SPAN class="css-1ber87j">unit&nbsp;</SPAN><SPAN class="css-1ber87j">conversion&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~10" class="css-1m8t0fv"><SPAN class="css-1ber87j">during&nbsp;</SPAN><SPAN class="css-1ber87j">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~11" class="css-1m8t0fv"><SPAN class="css-1ber87j">data-load&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~12" class="css-1m8t0fv"><SPAN class="css-1ber87j">process&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~13" class="css-1m8t0fv"><SPAN class="css-15iwe0d">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~14" class="css-1m8t0fv"><SPAN class="css-15iwe0d">storing&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~15" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-15iwe0d">result&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~16" class="css-1m8t0fv"><SPAN class="css-15iwe0d">as&nbsp;</SPAN><SPAN class="css-15iwe0d">part&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~17" class="css-1m8t0fv"><SPAN class="css-15iwe0d">of&nbsp;</SPAN><SPAN class="css-15iwe0d">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~18" class="css-1m8t0fv"><SPAN class="css-15iwe0d">InfoProvider.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~2" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~2"><SPAN data-testid="output-sentence-2"><SPAN id="output-phrase~2~0" class="css-1m8t0fv"><SPAN class="css-0">As&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~1" class="css-1m8t0fv"><SPAN class="css-0">a&nbsp;</SPAN><SPAN class="css-0">result,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~2" class="css-1m8t0fv"><SPAN class="css-rh820s">queries&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~3" class="css-1m8t0fv"><SPAN class="css-rh820s">run&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~4" class="css-1m8t0fv"><SPAN class="css-rh820s">more&nbsp;</SPAN><SPAN class="css-rh820s">quickly.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">5.&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-0">InfoCubes&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-0">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-0">MultiProviders,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-rh820s">which&nbsp;</SPAN><SPAN class="css-0">are&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-0">optimized&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-0">for&nbsp;</SPAN><SPAN class="css-15iwe0d">data&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">aggregation,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-2yp7ui">should&nbsp;</SPAN><SPAN class="css-15iwe0d">be&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-2yp7ui">used&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-2yp7ui">to&nbsp; </SPAN><SPAN class="css-2yp7ui">develop&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~11" class="css-1m8t0fv"><SPAN class="css-15iwe0d">SAP&nbsp;</SPAN><SPAN class="css-15iwe0d">BW&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~12" class="css-1m8t0fv"><SPAN class="css-15iwe0d">BEx&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~13" class="css-1m8t0fv"><SPAN class="css-15iwe0d">Queries&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~14" class="css-1m8t0fv"><SPAN class="css-1ber87j">for&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~15" class="css-1m8t0fv"><SPAN class="css-1ber87j">SAP&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~16" class="css-1m8t0fv"><SPAN class="css-1ber87j">BW&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~17" class="css-1m8t0fv"><SPAN class="css-1ber87j">systems&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~18" class="css-1m8t0fv"><SPAN class="css-1ber87j">running&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~19" class="css-1m8t0fv"><SPAN class="css-1ber87j">on&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~20" class="css-1m8t0fv"><SPAN class="css-1ber87j">non-SAP&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~21" class="css-1m8t0fv"><SPAN class="css-1ber87j">HANA&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~22" class="css-1m8t0fv"><SPAN class="css-15iwe0d">databases.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-0">AVOID&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-rh820s">writing&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-0">queries&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-0">on&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">InfoSets&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">or&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">DataStore&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">Objects&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-0">(DSOs).</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~2" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~2"><SPAN data-testid="output-sentence-2"><SPAN id="output-phrase~2~0" class="css-1m8t0fv"><SPAN class="css-0">DSOs,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~1" class="css-1m8t0fv"><SPAN class="css-0">which&nbsp;</SPAN><SPAN class="css-0">are&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~2" class="css-1m8t0fv"><SPAN class="css-0">flat-table&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~3" class="css-1m8t0fv"><SPAN class="css-0">structures,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~4" class="css-1m8t0fv"><SPAN class="css-0">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~5" class="css-1m8t0fv"><SPAN class="css-0">InfoSets&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~6" class="css-1m8t0fv"><SPAN class="css-0">are&nbsp;</SPAN><SPAN class="css-rh820s">largely&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~7" class="css-1m8t0fv"><SPAN class="css-0">join&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~8" class="css-1m8t0fv"><SPAN class="css-0">conditions&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~9" class="css-1m8t0fv"><SPAN class="css-0">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~10" class="css-1m8t0fv"><SPAN class="css-0">their&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~11" class="css-1m8t0fv"><SPAN class="css-0">analytical&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~12" class="css-1m8t0fv"><SPAN class="css-0">engines&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~13" class="css-1m8t0fv"><SPAN class="css-rh820s">lack&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~14" class="css-1m8t0fv"><SPAN class="css-rh820s">efficient&nbsp; </SPAN></SPAN><SPAN id="output-phrase~2~15" class="css-1m8t0fv"><SPAN class="css-0">data-processing&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~16" class="css-1m8t0fv"><SPAN class="css-rh820s">components.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~3" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~3"><SPAN data-testid="output-sentence-3"><SPAN id="output-phrase~3~0" class="css-1m8t0fv"><SPAN class="css-1ber87j">Queries&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~1" class="css-1m8t0fv"><SPAN class="css-1ber87j">on&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~2" class="css-1m8t0fv"><SPAN class="css-1ber87j">DSOs&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~3" class="css-1m8t0fv"><SPAN class="css-1ber87j">are&nbsp;</SPAN><SPAN class="css-2yp7ui">preferred&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">for&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">BW&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">systems&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~7" class="css-1m8t0fv"><SPAN class="css-2yp7ui">built&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">on&nbsp;</SPAN><SPAN class="css-2yp7ui">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~9" class="css-1m8t0fv"><SPAN class="css-15iwe0d">SAP&nbsp;</SPAN><SPAN class="css-15iwe0d">HANA&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~10" class="css-1m8t0fv"><SPAN class="css-2yp7ui">platform.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~4" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~4"><SPAN data-testid="output-sentence-4"><SPAN id="output-phrase~4~0" class="css-1m8t0fv"><SPAN class="css-0">As&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~1" class="css-1m8t0fv"><SPAN class="css-0">a&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~2" class="css-1m8t0fv"><SPAN class="css-0">columnar&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~3" class="css-1m8t0fv"><SPAN class="css-0">database,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~4" class="css-1m8t0fv"><SPAN class="css-0">SAP&nbsp;</SPAN><SPAN class="css-0">HANA&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~5" class="css-1m8t0fv"><SPAN class="css-0">is&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~6" class="css-1m8t0fv"><SPAN class="css-0">highly&nbsp;</SPAN><SPAN class="css-0">optimized&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~7" class="css-1m8t0fv"><SPAN class="css-0">for&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~8" class="css-1m8t0fv"><SPAN class="css-rh820s">reading&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~9" class="css-1m8t0fv"><SPAN class="css-0">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~10" class="css-1m8t0fv"><SPAN class="css-rh820s">aggregating&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~11" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">data&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~12" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">at&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~13" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">the&nbsp;</SPAN><SPAN class="css-1eh0vfs">database&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~14" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">level,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~15" class="css-1m8t0fv"><SPAN class="css-rh820s">producing&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~16" class="css-1m8t0fv"><SPAN class="css-0">high&nbsp;</SPAN></SPAN><SPAN id="output-phrase~4~17" class="css-1m8t0fv"><SPAN class="css-rh820s">query&nbsp;</SPAN><SPAN class="css-0">performance.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">6.&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-0">The&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-0">exclude&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-0">operator&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-rh820s">should&nbsp;</SPAN><SPAN class="css-15iwe0d">not&nbsp;</SPAN><SPAN class="css-2yp7ui">be&nbsp;</SPAN><SPAN class="css-2yp7ui">used&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-1ber87j">in&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-1ber87j">restricted&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-1ber87j">key&nbsp;</SPAN><SPAN class="css-1ber87j">figures,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-1ber87j">filters,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-1ber87j">or&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-2yp7ui">selects&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~11" class="css-1m8t0fv"><SPAN class="css-2yp7ui">since&nbsp;</SPAN><SPAN class="css-15iwe0d">it&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~12" class="css-1m8t0fv"><SPAN class="css-15iwe0d">is&nbsp;</SPAN><SPAN class="css-15iwe0d">not&nbsp; </SPAN><SPAN class="css-2yp7ui">designed&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~13" class="css-1m8t0fv"><SPAN class="css-0">to&nbsp;</SPAN><SPAN class="css-rh820s">work&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~14" class="css-1m8t0fv"><SPAN class="css-rh820s">with&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~15" class="css-1m8t0fv"><SPAN class="css-0">indexes.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-0">It&nbsp;</SPAN><SPAN class="css-0">is&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-rh820s">preferable&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-0">to&nbsp;</SPAN><SPAN class="css-rh820s">incorporate&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-15iwe0d">characteristic&nbsp;</SPAN><SPAN class="css-15iwe0d">values&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">in&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">selections&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">rather&nbsp;</SPAN><SPAN class="css-15iwe0d">than&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">to&nbsp;</SPAN><SPAN class="css-15iwe0d">exclude&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-2yp7ui">them.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN data-testid="output-word-0-0-0"><SPAN class="css-0">7.&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN data-testid="output-word-1-0-0"><SPAN class="css-rh820s">Because&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN data-testid="output-word-2-0-0"><SPAN class="css-15iwe0d">BusinessObjects&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN data-testid="output-word-3-0-0"><SPAN class="css-15iwe0d">client&nbsp;</SPAN></SPAN><SPAN data-testid="output-word-3-0-1"><SPAN class="css-15iwe0d">tools&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN data-testid="output-word-4-0-0"><SPAN class="css-2yp7ui">do&nbsp;</SPAN></SPAN><SPAN data-testid="output-word-4-0-1"><SPAN class="css-15iwe0d">not&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN data-testid="output-word-5-0-0"><SPAN class="css-15iwe0d">use&nbsp;</SPAN></SPAN><SPAN data-testid="output-word-5-0-1"><SPAN class="css-15iwe0d">the&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN data-testid="output-word-6-0-0"><SPAN class="css-15iwe0d">Result&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN data-testid="output-word-7-0-0"><SPAN class="css-15iwe0d">Rows&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN data-testid="output-word-8-0-0"><SPAN class="css-2yp7ui">parameter&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN data-testid="output-word-9-0-0"><SPAN class="css-1ber87j">for&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN data-testid="output-word-10-0-0"><SPAN class="css-1ber87j">each&nbsp; </SPAN></SPAN><SPAN data-testid="output-word-10-0-1"><SPAN class="css-1ber87j">characteristic&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~11" class="css-1m8t0fv"><SPAN data-testid="output-word-11-0-0"><SPAN class="css-1ber87j">in&nbsp;</SPAN></SPAN><SPAN data-testid="output-word-11-0-1"><SPAN class="css-1ber87j">a&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~12" class="css-1m8t0fv"><SPAN data-testid="output-word-12-0-0"><SPAN class="css-1ber87j">BEx&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~13" class="css-1m8t0fv"><SPAN data-testid="output-word-13-0-0"><SPAN class="css-15iwe0d">Query,&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~14" class="css-1m8t0fv"><SPAN data-testid="output-word-14-0-0"><SPAN class="css-15iwe0d">it&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~15" class="css-1m8t0fv"><SPAN data-testid="output-word-15-0-0"><SPAN class="css-15iwe0d">should&nbsp;</SPAN></SPAN><SPAN data-testid="output-word-15-0-1"><SPAN class="css-15iwe0d">be&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~16" class="css-1m8t0fv"><SPAN data-testid="output-word-16-0-0"><SPAN class="css-15iwe0d">set&nbsp;</SPAN></SPAN><SPAN data-testid="output-word-16-0-1"><SPAN class="css-15iwe0d">to&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~17" class="css-1m8t0fv"><SPAN data-testid="output-word-17-0-0"><SPAN class="css-15iwe0d">Always&nbsp;</SPAN></SPAN></SPAN><SPAN id="output-phrase~0~18" class="css-1m8t0fv"><SPAN data-testid="output-word-18-0-0"><SPAN class="css-15iwe0d">Suppress.</SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">8.&nbsp;</SPAN><SPAN class="css-1eh0vfs">If&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">non-cumulative&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-1ber87j">key&nbsp;</SPAN><SPAN class="css-1ber87j">figures&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-1ber87j">are&nbsp;</SPAN><SPAN class="css-1ber87j">used&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-1ber87j">in&nbsp;</SPAN><SPAN class="css-1ber87j">a&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-1ber87j">BEx&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">Query,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">InfoCube&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-2yp7ui">queries&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-15iwe0d">must&nbsp;</SPAN><SPAN class="css-15iwe0d">be&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-0">compressed.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-0">The&nbsp;</SPAN><SPAN class="css-1eh0vfs">two&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">cumulative&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">key&nbsp;</SPAN><SPAN class="css-1eh0vfs">figures&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">that&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">are&nbsp;</SPAN><SPAN class="css-1eh0vfs">used&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">to&nbsp;</SPAN><SPAN class="css-1eh0vfs">define&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">a&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">non-cumulative&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-1ber87j">key&nbsp;</SPAN><SPAN class="css-1ber87j">figure&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~9" class="css-1m8t0fv"><SPAN class="css-15iwe0d">are&nbsp;</SPAN><SPAN class="css-2yp7ui">processed&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~10" class="css-1m8t0fv"><SPAN class="css-2yp7ui">more&nbsp;</SPAN><SPAN class="css-2yp7ui">efficiently&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~11" class="css-1m8t0fv"><SPAN class="css-2yp7ui">thanks&nbsp;</SPAN><SPAN class="css-15iwe0d">to&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~12" class="css-1m8t0fv"><SPAN class="css-15iwe0d">InfoCube&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~13" class="css-1m8t0fv"><SPAN class="css-15iwe0d">compression,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~14" class="css-1m8t0fv"><SPAN class="css-2yp7ui">which&nbsp;</SPAN><SPAN class="css-2yp7ui">also&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~15" class="css-1m8t0fv"><SPAN class="css-2yp7ui">lowers&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~16" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-2yp7ui">amount&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~17" class="css-1m8t0fv"><SPAN class="css-15iwe0d">of&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~18" class="css-1m8t0fv"><SPAN class="css-15iwe0d">records&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~19" class="css-1m8t0fv"><SPAN class="css-15iwe0d">in&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~20" class="css-1m8t0fv"><SPAN class="css-15iwe0d">InfoCube&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~21" class="css-1m8t0fv"><SPAN class="css-0">tables.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">9.&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-rh820s">Whenever&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-0">possible,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-0">let&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-0">global&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-rh820s">filtering&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-rh820s">of&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-rh820s">temporal&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-rh820s">characteristics&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-0">be&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-rh820s">used.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-rh820s">By&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-rh820s">reading&nbsp;</SPAN><SPAN class="css-0">data&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-rh820s">solely&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-0">from&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-rh820s">required&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">database&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">partitions&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">that&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">are&nbsp;</SPAN><SPAN class="css-rh820s">constructed&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~9" class="css-1m8t0fv"><SPAN class="css-15iwe0d">based&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~10" class="css-1m8t0fv"><SPAN class="css-15iwe0d">on&nbsp;</SPAN><SPAN class="css-15iwe0d">time&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~11" class="css-1m8t0fv"><SPAN class="css-15iwe0d">characteristics,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~12" class="css-1m8t0fv"><SPAN class="css-1ber87j">the&nbsp;</SPAN><SPAN class="css-1ber87j">Structure&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~13" class="css-1m8t0fv"><SPAN class="css-1ber87j">Query&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~14" class="css-1m8t0fv"><SPAN class="css-1ber87j">Language&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~15" class="css-1m8t0fv"><SPAN class="css-1ber87j">(SQL)&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~16" class="css-1m8t0fv"><SPAN class="css-1ber87j">engine&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~17" class="css-1m8t0fv"><SPAN class="css-15iwe0d">is&nbsp;</SPAN><SPAN class="css-2yp7ui">able&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~18" class="css-1m8t0fv"><SPAN class="css-2yp7ui">to&nbsp;</SPAN><SPAN class="css-15iwe0d">create&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~19" class="css-1m8t0fv"><SPAN class="css-15iwe0d">an&nbsp;</SPAN><SPAN class="css-15iwe0d">execution&nbsp;</SPAN><SPAN class="css-15iwe0d">plan&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~20" class="css-1m8t0fv"><SPAN class="css-15iwe0d">that&nbsp;</SPAN><SPAN class="css-0">is&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~21" class="css-1m8t0fv"><SPAN class="css-0">as&nbsp;</SPAN><SPAN class="css-rh820s">efficient&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~22" class="css-1m8t0fv"><SPAN class="css-0">as&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~23" class="css-1m8t0fv"><SPAN class="css-rh820s">possible.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">10.&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-0">Ensure&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-0">that&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-rh820s">there&nbsp;</SPAN><SPAN class="css-15iwe0d">is&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">a&nbsp;</SPAN><SPAN class="css-15iwe0d">filter&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">order&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-0">within&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-15iwe0d">structures&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-1ber87j">and&nbsp;</SPAN><SPAN class="css-1ber87j">that&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-1ber87j">it&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-1ber87j">is&nbsp;</SPAN><SPAN class="css-1ber87j">filtered&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~11" class="css-1m8t0fv"><SPAN class="css-1ber87j">at&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~12" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">the&nbsp;</SPAN><SPAN class="css-1eh0vfs">highest&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~13" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">level.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><EM><STRONG><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-0">The&nbsp;</SPAN><SPAN class="css-0">analytical&nbsp;</SPAN><SPAN class="css-0">engine&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-rh820s">constructs&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">the&nbsp;</SPAN><SPAN class="css-1eh0vfs">where&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">clause&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">in&nbsp;</SPAN><SPAN class="css-1eh0vfs">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">SQL&nbsp;</SPAN><SPAN class="css-1eh0vfs">statement&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-rh820s">using&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-rh820s">appropriate&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-0">filter&nbsp; </SPAN></SPAN></SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN id="output-phrase~1~9" class="css-1m8t0fv"><SPAN class="css-0">order.</SPAN></SPAN></SPAN></SPAN></SPAN></STRONG></EM><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">11.&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-rh820s">Decrease&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-rh820s">amount&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-rh820s">of&nbsp;</SPAN><SPAN class="css-0">data&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-0">by&nbsp;</SPAN><SPAN class="css-rh820s">adding&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-rh820s">numerous&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-rh820s">necessary&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-0">variables.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-0">Mandatory&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-0">variables&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-rh820s">ensure&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-rh820s">greater&nbsp;</SPAN><SPAN class="css-15iwe0d">performance&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">by&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-2yp7ui">forcing&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-15iwe0d">query&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">user&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">to&nbsp;</SPAN><SPAN class="css-2yp7ui">supply&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~9" class="css-1m8t0fv"><SPAN class="css-15iwe0d">filters&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~10" class="css-1m8t0fv"><SPAN class="css-15iwe0d">at&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~11" class="css-1m8t0fv"><SPAN class="css-15iwe0d">runtime&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~12" class="css-1m8t0fv"><SPAN class="css-15iwe0d">and&nbsp;</SPAN><SPAN class="css-2yp7ui">reducing&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~13" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-2yp7ui">amount&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~14" class="css-1m8t0fv"><SPAN class="css-2yp7ui">of&nbsp;</SPAN><SPAN class="css-15iwe0d">data&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~15" class="css-1m8t0fv"><SPAN class="css-2yp7ui">that&nbsp;</SPAN><SPAN class="css-2yp7ui">needs&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~16" class="css-1m8t0fv"><SPAN class="css-1ber87j">to&nbsp;</SPAN><SPAN class="css-1ber87j">be&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~17" class="css-1m8t0fv"><SPAN class="css-1ber87j">read&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~18" class="css-1m8t0fv"><SPAN class="css-1ber87j">from&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~19" class="css-1m8t0fv"><SPAN class="css-1ber87j">the&nbsp;</SPAN><SPAN class="css-15iwe0d">database.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><SPAN id="output-sentence-box~2" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~2"><SPAN data-testid="output-sentence-2"><SPAN id="output-phrase~2~0" class="css-1m8t0fv"><SPAN class="css-rh820s">Make&nbsp;</SPAN><SPAN class="css-0">sure&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~1" class="css-1m8t0fv"><SPAN class="css-1ber87j">all&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~2" class="css-1m8t0fv"><SPAN class="css-1ber87j">exit&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~3" class="css-1m8t0fv"><SPAN class="css-1ber87j">variables&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~4" class="css-1m8t0fv"><SPAN class="css-1ber87j">used&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~5" class="css-1m8t0fv"><SPAN class="css-1ber87j">in&nbsp;</SPAN><SPAN class="css-1ber87j">a&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~6" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">SAP&nbsp;</SPAN><SPAN class="css-1eh0vfs">BW&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~7" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">BEx&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~8" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">Query&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~9" class="css-1m8t0fv"><SPAN class="css-rh820s">have&nbsp;</SPAN><SPAN class="css-0">optimized&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~10" class="css-1m8t0fv"><SPAN class="css-0">ABAP&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~11" class="css-1m8t0fv"><SPAN class="css-0">code.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~3" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~3"><SPAN data-testid="output-sentence-3"><SPAN id="output-phrase~3~0" class="css-1m8t0fv"><SPAN class="css-15iwe0d">Performance&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~1" class="css-1m8t0fv"><SPAN class="css-15iwe0d">can&nbsp;</SPAN><SPAN class="css-2yp7ui">be&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~2" class="css-1m8t0fv"><SPAN class="css-2yp7ui">greatly&nbsp;</SPAN><SPAN class="css-2yp7ui">hampered&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~3" class="css-1m8t0fv"><SPAN class="css-2yp7ui">by&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">programs&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~5" class="css-1m8t0fv"><SPAN class="css-2yp7ui">with&nbsp;</SPAN><SPAN class="css-2yp7ui">poor&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">ABAP&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~7" class="css-1m8t0fv"><SPAN class="css-2yp7ui">coding.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">12. </SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-15iwe0d">Only&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-2yp7ui">incorporate&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-15iwe0d">navigational&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">time-dependent&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">attributes&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-2yp7ui">into&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">queries&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-0">when&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-rh820s">necessary.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-15iwe0d">The&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-15iwe0d">InfoCube&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-15iwe0d">tables&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-2yp7ui">do&nbsp;</SPAN><SPAN class="css-15iwe0d">not&nbsp;</SPAN><SPAN class="css-2yp7ui">store&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">time-dependent&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-2yp7ui">qualities&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-2yp7ui">or&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">navigational&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">attribute&nbsp;</SPAN><SPAN class="css-15iwe0d">data.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~2" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~2"><SPAN data-testid="output-sentence-2"><SPAN id="output-phrase~2~0" class="css-1m8t0fv"><SPAN class="css-15iwe0d">In&nbsp;</SPAN><SPAN class="css-2yp7ui">order&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~1" class="css-1m8t0fv"><SPAN class="css-15iwe0d">to&nbsp;</SPAN><SPAN class="css-2yp7ui">provide&nbsp;</SPAN><SPAN class="css-15iwe0d">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~2" class="css-1m8t0fv"><SPAN class="css-15iwe0d">output&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~3" class="css-1m8t0fv"><SPAN class="css-15iwe0d">with&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">time-dependent&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~5" class="css-1m8t0fv"><SPAN class="css-2yp7ui">features&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">navigational&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">attributes,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~9" class="css-1m8t0fv"><SPAN class="css-1ber87j">additional&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~10" class="css-1m8t0fv"><SPAN class="css-1ber87j">table&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~11" class="css-1m8t0fv"><SPAN class="css-1ber87j">joins&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~12" class="css-1m8t0fv"><SPAN class="css-1ber87j">and&nbsp;</SPAN><SPAN class="css-1ber87j">data&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~13" class="css-1m8t0fv"><SPAN class="css-1ber87j">processing&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~14" class="css-1m8t0fv"><SPAN class="css-2yp7ui">must&nbsp;</SPAN><SPAN class="css-15iwe0d">be&nbsp; </SPAN></SPAN><SPAN id="output-phrase~2~15" class="css-1m8t0fv"><SPAN class="css-2yp7ui">done&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~16" class="css-1m8t0fv"><SPAN class="css-15iwe0d">at&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~17" class="css-1m8t0fv"><SPAN class="css-15iwe0d">query&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~18" class="css-1m8t0fv"><SPAN class="css-2yp7ui">execution&nbsp;</SPAN><SPAN class="css-15iwe0d">time,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~19" class="css-1m8t0fv"><SPAN class="css-15iwe0d">which&nbsp;</SPAN><SPAN class="css-rh820s">causes&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~20" class="css-1m8t0fv"><SPAN class="css-0">a&nbsp;</SPAN><SPAN class="css-0">performance&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~21" class="css-1m8t0fv"><SPAN class="css-0">lag.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">13. </SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-rh820s">Reduce&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-1ber87j">the&nbsp;</SPAN><SPAN class="css-1ber87j">number&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-1ber87j">of&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-1ber87j">nodes&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">in&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-0">query&nbsp;</SPAN><SPAN class="css-15iwe0d">results&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">if&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-15iwe0d">hierarchies&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-15iwe0d">are&nbsp;</SPAN><SPAN class="css-2yp7ui">utilized&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-15iwe0d">in&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~11" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-0">query.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-rh820s">The&nbsp;</SPAN><SPAN class="css-15iwe0d">performance&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-2yp7ui">of&nbsp;</SPAN><SPAN class="css-15iwe0d">a&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-1ber87j">SAP&nbsp;</SPAN><SPAN class="css-1ber87j">BW&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-1ber87j">BEx&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-1ber87j">Query&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-rh820s">is&nbsp;</SPAN><SPAN class="css-rh820s">significantly&nbsp;</SPAN><SPAN class="css-rh820s">impacted&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-rh820s">when&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-0">hierarchy&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-0">nodes&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~9" class="css-1m8t0fv"><SPAN class="css-rh820s">are&nbsp;</SPAN><SPAN class="css-rh820s">used.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~2" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~2"><SPAN data-testid="output-sentence-2"><SPAN id="output-phrase~2~0" class="css-1m8t0fv"><SPAN class="css-0">This&nbsp;</SPAN><SPAN class="css-0">is&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~1" class="css-1m8t0fv"><SPAN class="css-rh820s">because&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~2" class="css-1m8t0fv"><SPAN class="css-0">temporary&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~3" class="css-1m8t0fv"><SPAN class="css-0">hierarchy&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~4" class="css-1m8t0fv"><SPAN class="css-0">tables&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~5" class="css-1m8t0fv"><SPAN class="css-rh820s">are&nbsp;</SPAN><SPAN class="css-rh820s">created&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~6" class="css-1m8t0fv"><SPAN class="css-rh820s">and&nbsp;</SPAN><SPAN class="css-0">then&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~7" class="css-1m8t0fv"><SPAN class="css-0">read&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~8" class="css-1m8t0fv"><SPAN class="css-rh820s">during&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~9" class="css-1m8t0fv"><SPAN class="css-0">execution.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~3" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~3"><SPAN data-testid="output-sentence-3"><SPAN id="output-phrase~3~0" class="css-1m8t0fv"><SPAN class="css-rh820s">Utilizing&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~1" class="css-1m8t0fv"><SPAN class="css-0">user-entry&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~2" class="css-1m8t0fv"><SPAN class="css-15iwe0d">variables&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~3" class="css-1m8t0fv"><SPAN class="css-15iwe0d">is&nbsp;</SPAN><SPAN class="css-15iwe0d">one&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~4" class="css-1m8t0fv"><SPAN class="css-2yp7ui">method&nbsp;</SPAN><SPAN class="css-15iwe0d">of&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~5" class="css-1m8t0fv"><SPAN class="css-2yp7ui">lowering&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-15iwe0d">number&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">of&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~8" class="css-1m8t0fv"><SPAN class="css-0">hierarchies.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <BR /> 14. <SPAN id="output-sentence-box~0" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~0"><SPAN data-testid="output-sentence-0"><SPAN id="output-phrase~0~0" class="css-1m8t0fv"><SPAN class="css-0">Suppress&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~1" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~2" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">Not&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~3" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">Assigned&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~4" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">node&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">at&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-15iwe0d">hierarchy&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~7" class="css-1m8t0fv"><SPAN class="css-0">definition&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~8" class="css-1m8t0fv"><SPAN class="css-rh820s">to&nbsp;</SPAN><SPAN class="css-rh820s">remove&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~9" class="css-1m8t0fv"><SPAN class="css-0">it&nbsp;</SPAN><SPAN class="css-rh820s">from&nbsp;</SPAN></SPAN><SPAN id="output-phrase~0~10" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-0">hierarchy.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~1" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~1"><SPAN data-testid="output-sentence-1"><SPAN id="output-phrase~1~0" class="css-1m8t0fv"><SPAN class="css-15iwe0d">Performance&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~1" class="css-1m8t0fv"><SPAN class="css-15iwe0d">is&nbsp;</SPAN><SPAN class="css-2yp7ui">enhanced&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~2" class="css-1m8t0fv"><SPAN class="css-15iwe0d">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~3" class="css-1m8t0fv"><SPAN class="css-2yp7ui">unnecessary&nbsp;</SPAN><SPAN class="css-15iwe0d">data&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">is&nbsp;</SPAN><SPAN class="css-2yp7ui">prevented&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~5" class="css-1m8t0fv"><SPAN class="css-rh820s">from&nbsp;</SPAN><SPAN class="css-rh820s">being&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~6" class="css-1m8t0fv"><SPAN class="css-rh820s">fetched&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~7" class="css-1m8t0fv"><SPAN class="css-rh820s">into&nbsp;</SPAN><SPAN class="css-0">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~8" class="css-1m8t0fv"><SPAN class="css-0">query-result&nbsp;</SPAN></SPAN><SPAN id="output-phrase~1~9" class="css-1m8t0fv"><SPAN class="css-0">set.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~2" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~2"><SPAN data-testid="output-sentence-2"><SPAN id="output-phrase~2~0" class="css-1m8t0fv"><SPAN class="css-0">To&nbsp;</SPAN><SPAN class="css-rh820s">choose&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~1" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-15iwe0d">hierarchy,&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~2" class="css-1m8t0fv"><SPAN class="css-2yp7ui">enter&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~3" class="css-1m8t0fv"><SPAN class="css-15iwe0d">the&nbsp;</SPAN><SPAN class="css-15iwe0d">SAP&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~4" class="css-1m8t0fv"><SPAN class="css-15iwe0d">BW&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~5" class="css-1m8t0fv"><SPAN class="css-15iwe0d">transaction&nbsp;</SPAN><SPAN class="css-15iwe0d">code&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~6" class="css-1m8t0fv"><SPAN class="css-15iwe0d">RSH1&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~7" class="css-1m8t0fv"><SPAN class="css-15iwe0d">and&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~8" class="css-1m8t0fv"><SPAN class="css-2yp7ui">choose&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~9" class="css-1m8t0fv"><SPAN class="css-1ber87j">Main&nbsp;</SPAN><SPAN class="css-1ber87j">Menu&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~10" class="css-1m8t0fv"><SPAN class="css-1ber87j">&gt;&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~11" class="css-1m8t0fv"><SPAN class="css-1ber87j">Goto&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~12" class="css-1m8t0fv"><SPAN class="css-1ber87j">&gt;&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~13" class="css-1m8t0fv"><SPAN class="css-1ber87j">Hierarchy&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~14" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">attributes&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~15" class="css-1m8t0fv"><SPAN class="css-rh820s">from&nbsp;</SPAN></SPAN><SPAN id="output-phrase~2~16" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-0">menu.</SPAN></SPAN></SPAN> </SPAN></SPAN></SPAN><SPAN id="output-sentence-box~3" class="output-sentence"><SPAN class="css-x5hiaf"><SPAN id="output-sentence~3"><SPAN data-testid="output-sentence-3"><SPAN id="output-phrase~3~0" class="css-1m8t0fv"><SPAN class="css-0">Set&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~1" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~2" class="css-1m8t0fv"><SPAN class="css-0">Suppress&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~3" class="css-1m8t0fv"><SPAN class="css-0">'Unassigned'&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~4" class="css-1m8t0fv"><SPAN class="css-0">Node&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~5" class="css-1m8t0fv"><SPAN class="css-0">parameter&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~6" class="css-1m8t0fv"><SPAN class="css-0">check&nbsp;</SPAN><SPAN class="css-0">box&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~7" class="css-1m8t0fv"><SPAN class="css-0">in&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~8" class="css-1m8t0fv"><SPAN class="css-0">the&nbsp;</SPAN><SPAN class="css-0">pop-up&nbsp;</SPAN><SPAN class="css-rh820s">window&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~9" class="css-1m8t0fv"><SPAN class="css-0">that&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~10" class="css-1m8t0fv"><SPAN class="css-rh820s">appears&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~11" class="css-1m8t0fv"><SPAN class="css-0">(Figure below </SPAN></SPAN><SPAN id="output-phrase~3~12" class="css-1m8t0fv"><SPAN class="css-0">),&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~13" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">and&nbsp;</SPAN><SPAN class="css-1eh0vfs">then&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~14" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">click&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~15" class="css-1m8t0fv"><SPAN class="css-1eh0vfs">the&nbsp;</SPAN><SPAN class="css-1eh0vfs">green&nbsp;</SPAN><SPAN class="css-1eh0vfs">checkmark&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~16" class="css-1m8t0fv"><SPAN class="css-rh820s">symbol&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~17" class="css-1m8t0fv"><SPAN class="css-0">to&nbsp;</SPAN><SPAN class="css-0">save&nbsp;</SPAN></SPAN><SPAN id="output-phrase~3~18" class="css-1m8t0fv"><SPAN class="css-0">your&nbsp;</SPAN><SPAN class="css-0">settings.</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/2-64.png" /></P><BR /> <STRONG>15</STRONG>. Make sure that&nbsp;the&nbsp;Use&nbsp;Selection&nbsp;of&nbsp;Structure&nbsp;Elements&nbsp;parameter&nbsp;in&nbsp;the&nbsp;query<BR /> attributes&nbsp;is&nbsp;enabled&nbsp;for&nbsp;queries&nbsp;that&nbsp;contain&nbsp;a&nbsp;number&nbsp;of&nbsp;restricted&nbsp;and&nbsp;computed&nbsp;key&nbsp;figures.<BR /> By&nbsp;structuring&nbsp;the&nbsp;SQL&nbsp;statement,&nbsp;it&nbsp;is&nbsp;possible&nbsp;to&nbsp;only&nbsp;retrieve&nbsp;the&nbsp;structural&nbsp;elements&nbsp;or&nbsp;key<BR /> figures&nbsp;that&nbsp;are&nbsp;truly&nbsp;needed.<BR /> <BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>16</STRONG>. for a heavy Bex report where <STRONG>JAN-DEC MTD Data,</STRONG> J<STRONG>AN-DEC YTD Data, Q1-Q4 Data &amp; H1-H2 data need to be shown</STRONG> better to create a period structure and try to load MTD, YTD,QTD,HTD data into the <STRONG>ADSO</STRONG> rather than calculating at the Bex Query. If flat data is loaded to ADSO and still if we create a bex query on top these ADSOs then <STRONG>also performance can be managed to some extent with above points</STRONG>. But if MTD,YTD,QTD,HTD calculations need to be done at a HANA CV level and you are trying to show these calculations in a Bex Query where raw data sits in HANA CV then definitely we will have performance issues as calculation is happening on the analytic engine then hits to DB eng before rendering the number on your screen.<BR /> <BR /> So follow the strategy of&nbsp; <STRONG>calculate -&gt; Store --&gt; Report</STRONG>.&nbsp; (Do not do complex calculations at HANA CV level. If we have huge data volume then for sure report performance will go down)<BR /> <BR /> <SPAN style="text-decoration: underline"><STRONG>For Example.</STRONG></SPAN><BR /> <BR /> Create a <STRONG>period</STRONG> structure in the Bex Query with individual selections for optimum performance.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/12-22.png" /></P><BR /> &nbsp;<BR /> <BR /> 17. Avoid Cell restrictions in the Bex query or try to minimize as much as possible.<BR /> <BR /> &nbsp;<BR /> <BR /> 18. <STRONG>Once the trace is generated we can use of standard hints&nbsp; for the info provider.</STRONG><BR /> <BR /> &nbsp;<BR /> <BR /> How to do this directly without&nbsp; SM30 and as it is a cross client transparent table:-<BR /> <BR /> Go to SAP T Code S37, &amp; enter the function Module SE16N_INTERFACE<BR /> <BR /> Once we execute the same as below :-<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/13-21.png" /></P><BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/14-17.png" /></P><BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/15-31.png" /></P><BR /> For best performance NO_JOIN_THRU_AGGR would be most promising.<BR /> <BR /> why? answer is : Hints are typically used&nbsp;<B>to optimize SAP HANA performance or memory consumption</B>&nbsp;and have no effect on the result set of the request.<BR /> <BR /> &nbsp;<BR /> <H3 id="toc-hId-896440620"><SPAN style="text-decoration: underline"><STRONG>How to Analyze the Bex Query performance&nbsp;</STRONG></SPAN></H3><BR /> If we have taken care With the above steps, the bex query should be in a proper shape and manageable performance.<BR /> <BR /> But still bottlenecks, then how can we analyze the performance of BexQuery?<BR /> <BR /> &nbsp;<BR /> <BR /> Kindly follow the steps:<BR /> <BR /> These steps are by my own learning experience by working with <STRONG>various SAP PE experts during actual project work.</STRONG><BR /> <H3 id="toc-hId-699927115">Step 1 :-&nbsp; <STRONG>First go to ST 12 and do HANA trace collection from the bankend.</STRONG></H3><BR /> How the ST 12 screen looks like. I found it difficult when I do by my own but took Basis help to collect the trace.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/3-54.png" /></P><BR /> &nbsp;<BR /> <BR /> Now with the ST 12 screen open&nbsp; go to RSRT and run the Bex Query in my case it is <STRONG>ZTEST_NAREN_COPA_REORT. Once the report runs fine then again go back to ST 12 then clink end trace collection and click on Fullscreen below or click the SQL Summary:-</STRONG><BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/4-51.png" /></P><BR /> &nbsp;<BR /> <BR /> How the SQL summary looks :-<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/5-45.png" /></P><BR /> &nbsp;<BR /> <BR /> Next Click on the call statement<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/6-47.png" /></P><BR /> So total DB time arround 321.226 seconds, HANA performance analysis performed.<BR /> <BR /> &nbsp;<BR /> <H3 id="toc-hId-503413610">Step 2: Now say a workbook is created on top this bex query then kindly follow below steps :-</H3><BR /> <OL><BR /> <LI>Open Analysis for Office the click on File --&gt; Home--&gt;Analysis --&gt;TroubleShoot --&gt; Advanced Mode -- &gt;Analysis --&gt;&nbsp; Then check mark Enable BW server tracing and Enable workbook Profiling (BW statistics). PFB the picture</LI><BR /> </OL><BR /> <P style="overflow: hidden;margin-bottom: 0px">2. <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/7-49.png" /></P><BR /> Now run the workbook and check TRACE in transaction RSTT<BR /> <BR /> Rerun and Debug is possible here too.<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/8-39.png" /></P><BR /> &nbsp;<BR /> <H3 id="toc-hId-306900105">Step 3 : Enable BW query Statistics</H3><BR /> Go to SAP T Code : <STRONG>RSDDSTAT</STRONG> to enable the statistics for BW Queries<BR /> <BR /> Change the default setting for all BW Bex Queries as in below picture<BR /> <BR /> Change setting for Individual query or Info providers<BR /> <BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/9-34.png" /></P><BR /> &nbsp;<BR /> <BR /> &nbsp;<BR /> <H3 id="toc-hId-110386600">Step 4 : Check BW query Statistics</H3><BR /> Go to SAP&nbsp; T Code ST13, tool - BIIBTOOLS.<BR /> <BR /> Run BW Statistics Analysis<BR /> <BR /> Select Statistics by User ID and Time .PFB below .<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/10-30.png" /></P><BR /> Check the query statistics analysis.<BR /> <BR /> OLAP time reflects the complexity of the BW query design and the time spent on the ABAP time in the application.<BR /> <BR /> Data Manager time reflects the data collection time in the database. PFB snapshot.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/11-27.png" /></P><BR /> &nbsp;<BR /> <BR /> Kindly refer to below SAP notes as well<BR /> <BR /> &nbsp;<BR /> <UL><BR /> <LI>SAP Note 1681396 - Query Performance.</LI><BR /> <LI>SAP Note 2620998 for Analysis for Office.</LI><BR /> </UL><BR /> <H3 id="toc-hId--86126905"><SPAN style="text-decoration: underline"><STRONG>AO workbook design : Best Practices to follow</STRONG></SPAN></H3><BR /> When we refresh a workbook it refreshed every query and the sheet in the workbooks sequentially.<BR /> <BR /> <STRONG>Recommendation</STRONG>:<BR /> <UL><BR /> <LI>Refreshing individual Data sources is faster than refreshing all sources.</LI><BR /> <LI>Use only one query in the sheet, and allow all users to change the columns in the WORKBOOK and refresh the query to change the granularity.</LI><BR /> <LI>Consider refreshing a single sheet instead of refreshing all at once.</LI><BR /> <LI>For pure reporting purpose, consider using BI tools instead of Excel. For example SAP BO WEBI and SAC can execute BW bex queries in parallel.</LI><BR /> </UL><BR /> &nbsp;<BR /> <UL><BR /> <LI><STRONG>do not check refresh workbook on opening</STRONG> and if we do this refresh before input variables in prompt window and after input new variables, the AO workbook will refresh again.</LI><BR /> </UL><BR /> &nbsp;<BR /> <UL><BR /> <LI>This will cause duplicate workbook refresh on open.</LI><BR /> <LI>There are few blogpost and&nbsp; PDF document available on the internet kindly follow this document to&nbsp; check in Bex query optimization in detail and we can understand from scratch.</LI><BR /> </UL><BR /> <A href="https://blogs.sap.com/2022/02/02/query-performance-optimization-in-bw-few-tips/" target="_blank" rel="noopener noreferrer">https://blogs.sap.com/2022/02/02/query-performance-optimization-in-bw-few-tips/&nbsp;</A><BR /> <BR /> <STRONG>(By Pallab Haldar)&nbsp;</STRONG><BR /> <UL><BR /> <LI>The PDF credit goes to <STRONG>Pravin Gupta (As in the document )&nbsp;</STRONG> and I do not own the rights for it. The link is just used for self-analysis and reference purposes, as I personally found it useful where each information is given from scratch to end of Bex Query optimization.</LI><BR /> </UL><BR /> <A href="https://teklink.com/wp-content/uploads/2015/12/RA2015_Gupta_Optimizingbexqueryperformance.pdf" target="_blank" rel="nofollow noopener noreferrer">https://teklink.com/wp-content/uploads/2015/12/RA2015_Gupta_Optimizingbexqueryperformance.pdf</A><BR /> <BR /> &nbsp;<BR /> <BR /> <STRONG>These pieces of information are neither copied from anyone nor performed in a client system. These queries are performed in a local SAP server. Where ever references were used I gave the credit to the blogpost author.</STRONG><BR /> <BR /> Thank you,<BR /> <BR /> Narasingha 2023-10-25T16:10:28+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-replace-rrw3-get-query-view-data/ba-p/13598083 How to replace RRW3_GET_QUERY_VIEW_DATA 2024-02-07T23:59:11.396000+01:00 martin_mayer https://community.sap.com/t5/user/viewprofilepage/user-id/191669 <P><SPAN>This blog&nbsp;</SPAN><SPAN>is about how to replace the outdated function module in latest system using the <STRONG>L</STRONG>ightwight</SPAN><SPAN>&nbsp;</SPAN><SPAN class=""><STRONG>B</STRONG>ICS</SPAN><SPAN>&nbsp;</SPAN><SPAN class=""><STRONG>A</STRONG>PI</SPAN><SPAN>&nbsp; (LBA)</SPAN></P><H5 id="toc-hId-1353166646">function to be replaced</H5><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>DATA lt_parameter TYPE rrxw3tquery. lt_parameter = VALUE #( ( name = 'VAR_LAND' value = 'DE' ) ). CALL FUNCTION 'RRW3_GET_QUERY_VIEW_DATA' EXPORTING i_query = l_query * i_view_id = i_t_parameter = lt_parameter IMPORTING e_axis_info = lt_axis_info e_cell_data = lt_cell_data e_axis_data = lt_axis_data. * E_TXT_SYMBOLS</code></pre><P>&nbsp;</P><P>this call is showing an example for an analytical query with 1 query variable.&nbsp;Provide a query name and retrieve query resultset with table lt_cell_data. Depending on the use case additional information about axis and text symbols can fetched and need to interpreted by the caller.</P><H5 id="toc-hId-1156653141">replacing with LBA</H5><P>using LBA the same query is called like this</P><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code>DATA(lr_lba_query) = NEW cl_lba_std_query( i_query_name = l_query ). Data(lt_varialbe_value) = VALUE cl_lba_std_query=&gt;tn_t_values( ( name = 'VAR_LAND' sign = 'I' opt = 'EQ' value_low = 'DE' ) ). lr_lba_query-&gt;get_resultset( EXPORTING "i_t_requested_columns = "i_t_filter_values = i_t_variable_values = lt_varialbe_value IMPORTING e_t_column_catalog = DATA(lt_column_catalog) e_r_resultset = DATA(lt_resultset) ).</code></pre><P>&nbsp;</P><P><SPAN>resultset comparision function module output and LBA output</SPAN></P><H5 id="toc-hId-960139636"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="martin_mayer_0-1707314594279.png" style="width: 813px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/62118iC34E009DA99CCA67/image-dimensions/813x208?v=v2" width="813" height="208" role="button" title="martin_mayer_0-1707314594279.png" alt="martin_mayer_0-1707314594279.png" /></span></H5><H5 id="toc-hId-763626131"><SPAN class="">changing query desingtime setting at runtime</SPAN></H5><P><SPAN><SPAN class="">RRW3_GET_QUERY_VIEW_DATA has parameter i_view_id to overrule the query desingtime setting. A view_id contains other query resultset setting than the designtime with regards to dimension-&amp; keyfigures selection and filter settings. The view_id need to be created before using it.</SPAN></SPAN></P><P><SPAN><SPAN class="">Overruling designtime setting with LBA works different , view_id's are not needed anylonger.</SPAN></SPAN></P><UL><LI>Instead dimension and keyfigure selection can be changed and set with each call dynamicly with i_t_requested_columns.</LI><LI>not providing or empty&nbsp;i_t_requested_columns means to select all available dimensions and keyfigures including dimension from free axis for resultset</LI><LI><SPAN>Filters can be supplied with i_t_filter_values.</SPAN></LI></UL><P>Further details are available with ABAPDoc in the code.</P><P>Also see this blog introducing LBA<SPAN>&nbsp;</SPAN><A class="" href="https://blogs.sap.com/2023/01/17/how-to-consume-an-analytical-query-bex-query-in-abap/" target="_blank" rel="noopener noreferrer">https://blogs.sap.com/2023/01/17/how-to-consume-an-analytical-query-bex-query-in-abap/</A></P><H5 id="toc-hId-567112626">Release Info:&nbsp;&nbsp;</H5><P>Valid for all SAP_BW &amp; BW/4 codelines equal or later than&nbsp; <SPAN class="">SAP_BW </SPAN><SPAN class="">755 ( <SPAN><SPAN class="">embedded BW 7.55 in S/4HANA 2009</SPAN></SPAN>&nbsp;) and </SPAN><SPAN class="">DW4CORE</SPAN><SPAN class="">300 ( BW/4Hana 2021 )</SPAN></P> 2024-02-07T23:59:11.396000+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/from-bex-to-afo-to-sap-analytics-cloud/ba-p/13902568 From BEx to AfO to SAP Analytics Cloud 2024-10-17T12:40:37.516000+02:00 TomWoodhead https://community.sap.com/t5/user/viewprofilepage/user-id/183022 <P>Several years ago, I published a post concerning <A href="https://community.sap.com/t5/technology-blogs-by-members/the-bex-broadcasting-need-and-sap-analytics-cloud/ba-p/13496964" target="_blank"><STRONG>The BEx Broadcasting Need and SAP Analytics Cloud</STRONG></A>. It is time to update the use cases from that post.</P><P>BEx broadcasting has been an important tool for organizations using BW. It has effectively served important communication workflows over the past twenty-plus years, allowing organizations to distribute reports to a wide variety of users, partners and customers. However, with the need to push content out to stakeholders continuing to be a critical requirement for many of these organizations, and with this capability only available in older versions of SAP BW, such organizations need to deploy an alternative to BEx broadcasting as part of their move to newer technologies like BW/4HANA, S/4HANA, and Datasphere.</P><P>While there are still a considerable number of customers continuing to use BEx Analyzer and Broadcaster, a majority of customers have moved on to Analysis for Office. As organizations undertake digital transformations and adopt SAP’s cloud-based offerings, including SAP Analytics Cloud, the need to move beyond BEx becomes more and more pressing.</P><P>In her recent <A href="https://community.sap.com/t5/technology-blogs-by-members/microsoft-office-integration-scheduling-analysis-for-office-reports-in-sap/ba-p/13883109" target="_blank">update</A> on Analysis for Office, SAP’s Jeanne Bigonnet emphasized SAP’s continuing investment in the cloud-based SAP Analytics Cloud Add-In for Microsoft Excel, but she also noted that the desktop edition of Analysis for Office has a user base of around 1 million, and SAP will continue to support this user base.</P><H2 id="toc-hId-1071949406">From BEx Analyzer to Analysis for Office</H2><P>In my original post, I contemplated the possibility of implementing SAP Analytics Cloud stories to fulfill the business process workflows that were previously using BEx Analyzer. While that continues to be an effective approach which many will fully or partially employ, it does require the creation of a set of stories and the development of new skillsets by BEx report developers. The preferred path for the majority of organizations currently using BEx is to migrate their BEx reports to Analysis for Office.</P><P>But getting the reports moved to Analysis for Office is only half of the journey to replacing the BEx Broadcaster workflows. The next step is to address report scheduling, broadcasting and distribution requirements, which present new challenges.</P><P>SAP BusinessObjects provides scheduling and broadcasting capabilities to Analysis for Office users, but the digital transformations of SAP customers are taking these organizations beyond SAP BusinessObjects and into the cloud-based analytics of SAP Analytics Cloud. The move to SAP Analytics Cloud is not cosmetic: it is a shift to advanced analytics, visualization, planning, and integration with SAP’s cloud-based enterprise offerings, creating a unified data fabric. These organizations will face growing pressure to move their BI workflows to take advantage of new capabilities.</P><H2 id="toc-hId-875435901">From SAP BusinessObjects to SAP Analytics Cloud</H2><P>As SAP Analytics Cloud adoption continues, organizations are looking for ways to move their Analysis for Office reports to the newer cloud-based analytics so they can remove another use case from SAP BusinessObjects as they prepare to retire the venerable BI platform. But moving Analysis for Office reports to the SAP Analytics Cloud Repository creates a new problem: SAP Analytics Cloud does not support Analysis for Office scheduling and broadcasting.</P><P>To move beyond SAP BusinessObjects, organizations using Analysis for Office need to establish scheduling and broadcasting in SAP Analytics Cloud.</P><P>With the need to push content out to stakeholders continuing to be a critical requirement for many of these organizations, and with the sunsetting of BEx reports, such organizations need to deploy an alternative to BEx broadcasting as part of their digital transformation and move to S/4HANA, BW/4HANA, Datasphere, and other updated technologies. Analysis for Office meets these needs, but SAP Analytics Cloud lacks support for AfO scheduling and broadcasting. This lack is both a barrier to SAP Analytics Cloud adoption and a barrier to SAP BusinessObjects retirement.</P><P>Centralizing Analysis for Office reports in the SAP Analytics Cloud Repository is a first step toward making Analysis for Office an integral part of your data fabric, with all the benefits such integration entails, including improvements to data governance and security.</P><H2 id="toc-hId-678922396">Scheduling &amp; Broadcasting Analysis for Office Reports in SAP Analytics Cloud</H2><P>Organizations can overcome the lack of Analysis for Office report scheduling and broadcasting in SAP Analytics for Cloud by deploying APOS Publisher for Cloud.</P><P>APOS Publisher for Cloud (available on the <A href="https://store.sap.com/dcp/en/product/display-2001009906_live_v1/apos-publisher-for-sap-analytics-cloud" target="_blank" rel="noopener noreferrer"><STRONG>SAP Store</STRONG></A>) smooths the adoption of both Analysis for Office and SAP Analytics Cloud by complementing Analysis for Office workflows with scheduling &amp; broadcasting capabilities. It creates a centralized and unified scheduling and broadcasting environment for SAP Analytics Cloud reports, and SAP Analysis for Office reports.</P><P>The solution also includes a web user interface that provides a simplified means of meeting all of the scheduling needs of most Analysis for Office users.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="APOS Publisher for Cloud Web User Interface" style="width: 700px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/180427i95F3A86548E4EFF4/image-size/large?v=v2&amp;px=999" role="button" title="P4C-web-interface-01.png" alt="APOS Publisher for Cloud Web User Interface" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">APOS Publisher for Cloud Web User Interface</span></span></P><P>&nbsp;</P><P>In summary, the APOS Publisher for Cloud solution helps organizations to:</P><UL><LI>Move SAP Analysis for Office to SAP Analytics Cloud with scheduling and publishing capabilities</LI><LI>Support SAP Analytics Cloud adoption</LI><LI>Centralize scheduling and broadcasting for better data governance and security</LI><LI>Simplify scheduling with a web user interface</LI><LI>Replace BEx Broadcaster workflows</LI></UL><P>&nbsp;</P><P>&nbsp;</P> 2024-10-17T12:40:37.516000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/connectivity-bw4hana-amp-sac-configuration-of-import-connection/ba-p/13953864 Connectivity-BW4HANA & SAC:: Configuration of Import Connection 2024-12-04T11:49:26.529000+01:00 hemant2004 https://community.sap.com/t5/user/viewprofilepage/user-id/157161 <P><SPAN>Integration between SAC and BW offers a dynamic and comprehensive solution for accessing, analyzing, and visualizing data stored in BW.</SPAN></P><P><SPAN>Types Of Connections:</SPAN></P><P>1.) Import: When there is a need to bring data from BW into SAP SAC for further analysis, modeling, and visualization, an import connection between SAP SAC and BW is necessary. Below we will explore the step-by-step process of configuring an import connection and setting it up in SAP SAC.</P><P>2.) Live: A live connection between SAP SAC and BW is preferred when real-time access to BW data is critical for decision-making. Below we will explore the step-by-step process of configuring a live connection and setting it up in SAP SAC.</P><P>Configuration: Import Connection between BW4HANA &amp; SAC:</P><H6 id="toc-hId-1592930557">To configure the data source in SAP SAC, follow these simple steps.</H6><P>1.First, navigate to the “system” tab in the administration section. Next, click on the “data source configuration” tab, where you will encounter a variety of data sources to choose from. Scroll down until you find the SAP BTP core account option. Take note of the region host and sub-account user details displayed there, as they will be essential for the next step.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_1-1733206126073.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197731iBA2784CB6A40F31E/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_1-1733206126073.png" alt="hemant2004_1-1733206126073.png" /></span></P><P>2.To establish a secure connection between your on-premise application and the cloud, a cloud connector is essential. This crucial tool acts as a handshaking application, facilitating a seamless link between the two environments. Before proceeding with the installation of the cloud connector, ensure that you have a SAP JVM ready. Locate or download the SAP JVM and make note of its file path, as you will need to specify this during the installation process.</P><P>3.Once you have the SAP JVM, extract it onto the server where you plan to install the Cloud Connector. As an example, you can unzip the file into the directory C:\SAP JVM\sapjvm_8. You can download it from this link:&nbsp;<A href="https://tools.hana.ondemand.com/%23cloud" target="_blank" rel="noopener nofollow noreferrer">https://tools.hana.ondemand.com/#cloud</A></P><P>4.After obtaining the SAP JVM from the provided link, download the cloud connector from the same source. During installation, specify the folder location of the SAP JVM.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_2-1733206209960.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197732iB987E220C36E2A45/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_2-1733206209960.png" alt="hemant2004_2-1733206209960.png" /></span></P><P><SPAN>5.Once the installation process is complete, open your web browser and enter the following URL:&nbsp;</SPAN><A href="https://localhost:8443/" target="_blank" rel="noopener nofollow noreferrer">https://localhost:8443</A><SPAN>. This will take you to the logon screen. Here, use the default credentials: “Administrator” for the username and “manage” for the password. It is recommended to change the password after your initial logon. At this point, you will be prompted to choose between a master and shadow installation. Opt for the “Master” option if you are installing a single Cloud Connector instance or the primary instance from a pair of Cloud Connector instances.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_4-1733206343894.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197735i8C9253E868DB9907/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_4-1733206343894.png" alt="hemant2004_4-1733206343894.png" /></span></P><P><SPAN>6.Next, enter the subaccount details that you noted earlier. Specify proxy host and port if using a proxy, otherwise leave blank. Optional to enter Location ID for multiple Cloud Connectors. Remember to save the configuration.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_5-1733206386891.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197736iEAA46775D0525D5D/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_5-1733206386891.png" alt="hemant2004_5-1733206386891.png" /></span></P><P><SPAN>7.Once you have completed the necessary configuration, click on the “Connect” button. After doing so, verify that the connector state is displayed as “Connected.” This confirmation ensures that the Cloud Connector has successfully established.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_6-1733209529675.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197742iC0788D5A3A22338A/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_6-1733209529675.png" alt="hemant2004_6-1733209529675.png" /></span></P><P>8.When establishing connections with SAP BPC MS, SAP BW, SAP UNX, or SAP ERP systems, it is necessary to install the SAP Analytics Cloud agent in addition to configuring the Cloud Connector. However, for connections with SAP BPC NW, SAP BPC for BW/4HANA, OData, or SAP S/4HANA, configuring the Cloud Connector alone is sufficient.</P><P>9.To proceed with the installation of the SAP Analytics Cloud Agent, there is a preliminary step to follow. It involves downloading Apache Tomcat, a widely-used web server and servlet container, from the official website at&nbsp;<A href="https://tomcat.apache.org/download-80.cgi" target="_blank" rel="noopener nofollow noreferrer">https://tomcat.apache.org/download-80.cgi</A>. Once the download is complete, simply double click on the Tomcat executable file to initiate the installation procedure. During this step, you will be prompted to accept the license agreement, an important formality. Moving forward, when presented with the Choose Components screen, it is recommended to stick with the default options, which are already configured optimally. And click next.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_7-1733209568680.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197743i1AFFF2E82E10B286/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_7-1733209568680.png" alt="hemant2004_7-1733209568680.png" /></span></P><P><SPAN>10.you need to specify the ports to be used by Apache Tomcat. It is essential to ensure that there are no conflicts with existing applications already running on your system.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_8-1733209633165.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197744i4E4E4F6C9A241306/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_8-1733209633165.png" alt="hemant2004_8-1733209633165.png" /></span></P><P>11.Next, specify the path to your and install.</P><P>12.Once you have successfully installed Apache Tomcat, the next vital step in optimizing the performance of SAP Analytics Cloud Agent is to configure the JAVA Heap space allocation. Launching the Tomcat configuration allows you to modify these settings and allocate more memory accordingly. To initiate the configuration process, navigate to the Tomcat installation directory and locate the Tomcat8w.exe file. Simply double click on it to open the configuration window. By default, the initial and maximum heap space values (-Xms and -Xmx) are usually set to 128MB and 256MB respectively, which often prove insufficient for efficient data acquisition in SAC, leading to timeout errors. It is crucial to increase these values to prevent such issues. For enhanced performance, it is recommended to set the values to 1024MB and 2048MB respectively.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_9-1733209682549.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197745i10F802F5C7D021CA/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_9-1733209682549.png" alt="hemant2004_9-1733209682549.png" /></span></P><P><SPAN>13.To install the SAP SAC (Analytics Cloud) agent, begin by downloading it from the SAP Support Portal:&nbsp;</SPAN><STRONG><A href="https://support.sap.com/swdc" target="_blank" rel="noopener noreferrer">https://support.sap.com/swdc</A></STRONG><SPAN>. Access the SAP Software Downloads page and navigate to “By Category.” Choose “SAP Cloud Solutions” and then select “SAP ANALYTICS CLOUD CONN SAP ANALYTICS CLOUD CONN 1.0 SAP ANALYTICS CLOUD AGENT 1.0.” Proceed to download the latest version available.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_10-1733209719634.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197746i99E029010CD65FF5/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_10-1733209719634.png" alt="hemant2004_10-1733209719634.png" /></span></P><P><SPAN>14.Once downloaded, unzip the file and rename the WAR file to C4A_AGENT.war. Extract the package and copy the C4A_AGENT.war file to the webapps directory in your Tomcat installation. When you restart Tomcat, the agent will automatically deploy.</SPAN></P><DIV class="">&nbsp;</DIV><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_11-1733209755429.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197749i3AD3531C83829270/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_11-1733209755429.png" alt="hemant2004_11-1733209755429.png" /></span></P><P><SPAN>15.To establish the authentication credentials needed for configuring the SAC Agent, follow these steps. First, locate the Tomcat conf directory and open the tomcat-users.xml file. Inside this file, you can add a new user with the Services role. This user will have the necessary permissions to ensure smooth communication between SAP Analytics Cloud and the SAC Agent. Simply provide a unique username and password for the new user, and make sure to save the changes.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_12-1733209824959.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197750i3E308AF4688D845A/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_12-1733209824959.png" alt="hemant2004_12-1733209824959.png" /></span></P><P>16.For establishing a connection with SAP BW, an additional component called the SAP JCO connector is required. To obtain it, you can download the connector from the official SAP website at&nbsp;<A href="http://support.sap.com/swdc" target="_blank" rel="noopener noreferrer">http://support.sap.com/swdc</A>. Once the download is complete, extract the contents of the downloaded zip file. Within the extracted files, locate the sapjco3.dll and sapjco3.jar files. Copy these two files and paste them into the tomcat/lib directory. After completing the file transfer, it is essential to restart the Tomcat application for the changes to take effect.</P><P>17.Now go to your cloud connector at&nbsp;<A href="http://localhost:8443/" target="_blank" rel="noopener nofollow noreferrer">http://localhost:8443</A>. Enter your login credentials to access the Cloud Connector administration console. Once logged in, select the “Cloud To On-Premise” option. Next, locate the “+” icon and click on it to add a new Access Control entry. This step is crucial for defining the access permissions for on-premises systems.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_13-1733209876996.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197751iB266521220385B6E/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_13-1733209876996.png" alt="hemant2004_13-1733209876996.png" /></span></P><P><SPAN>18.The next step is to specify the Back-end Type. Select “Other SAP System” as the Back-end Type from the available options.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_14-1733209918045.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197752iD6A643B9F0E30EF3/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_14-1733209918045.png" alt="hemant2004_14-1733209918045.png" /></span></P><P><SPAN>19.Then select HTTP protocol. Choose HTTPS if SSL configured on the Tomcat instance where the BOC Agent is deployed.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_15-1733209953893.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197753iAEB1E1F9677223AE/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_15-1733209953893.png" alt="hemant2004_15-1733209953893.png" /></span></P><P><SPAN>20.enter the hostname (Internal Host) and port number (Internal Port) of the Tomcat server where the SAC Agent is running. The default HTTP port for Tomcat is 8080, while the default HTTPS port is 8443. Therefore, when specifying the Internal Host, provide the hostname or IP address of the Tomcat server. For the Internal Port, enter the corresponding port number based on whether you are using HTTP or HTTPS (8080 for HTTP or 8443 for HTTPS).</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_16-1733209984200.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197755iECE6CDBD8A7589F6/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_16-1733209984200.png" alt="hemant2004_16-1733209984200.png" /></span></P><P>21.Now give virtual host and port that will be used on SAC side.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_17-1733210013685.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197756i534EC7002525E89C/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_17-1733210013685.png" alt="hemant2004_17-1733210013685.png" /></span></P><P><SPAN>22.Select “None” as the Principal Type. This selection indicates that there is no specific principal or user identity associated with the access control settings. By choosing “None,” you are specifying that the access control applies to all users or principals attempting to access the specified resources. This can be useful in scenarios where you want to grant general access to the SAP SAC Agent without requiring specific user authentication or identity verification. However, please note that depending on your specific security requirements, you may need to consider alternative options or additional authentication mechanisms to ensure secure access to the SAC Agent.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_18-1733210067421.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197757i0E18E6BC98906EAD/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_18-1733210067421.png" alt="hemant2004_18-1733210067421.png" /></span></P><P><SPAN>23.Select the option “Check availability of internal host” to ensure the HANA Cloud. Connector can access the C4A Agent and click finish</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_19-1733210102529.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197758i3402C0033BB9E573/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_19-1733210102529.png" alt="hemant2004_19-1733210102529.png" /></span></P><P>24.The next step is to add a resource in the Cloud Connector configuration. Set the URL PATH to “/C4A_AGENT/” and choose the option “Path and all sub-paths” to allow access to this specific path and its sub-paths. This URL PATH represents the endpoint or route where the SAC Agent is accessible within the Tomcat server. By adding this resource and specifying the URL PATH, you are granting the necessary permissions for SAP SAC (Analytics Cloud) to communicate with the SAC Agent and retrieve the required data. Once the URL PATH and access settings are configured, click on the “Save” button to save the resource configuration.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hemant2004_20-1733210136147.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/197759i24FF96536175E935/image-size/medium?v=v2&amp;px=400" role="button" title="hemant2004_20-1733210136147.png" alt="hemant2004_20-1733210136147.png" /></span></P><H2 id="toc-hId-880086176"><STRONG>Creating an import connection in SAC:</STRONG></H2><P>Follow these simple steps within your SAC tenant. Firstly, navigate to the administration section and access the data configuration tab. Here, you can establish a connection to your on-premise data sources by adding a new location. Enter the required information to create the connection. Specify the Host as the virtual hostname that you previously defined during the HANA Cloud Connector configuration. Next, input the virtual port that you set during the HANA Cloud Connector configuration in the Port field. In the Username and Password fields, enter the credentials that were specified in the tomcat-users.xml file. These credentials ensure secure authentication for the connection between SAC and your on-premise data sources. Once you have entered all the necessary information, simply click on the Create button. This will establish the connection, allowing you to access and analyze your on-premises data.</P><P>Happy Learning!!</P><P>&nbsp;</P><P>&nbsp;</P><P><SPAN>&nbsp;</SPAN></P> 2024-12-04T11:49:26.529000+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/creating-odata-service-with-sap-bw-query-for-c4c-integration-via-cloud/ba-p/13854864 Creating OData Service with SAP BW Query for C4C Integration via Cloud Platform Integration (CPI) 2025-03-20T18:32:15.806000+01:00 Ravikanth_Indurthi https://community.sap.com/t5/user/viewprofilepage/user-id/211890 <P><SPAN><FONT color="#3366FF"><STRONG>Introduction</STRONG></FONT>:</SPAN></P><P><SPAN>For the requirements such as sending the BW Data (Query) / OData&nbsp; to any SAP cloud systems or third party systems using the Integration Platform process,&nbsp;</SPAN><SPAN>I created OData Service using SAP BW Query outbound of BW system and send the data to SAP C4C system using SAP CPI (Cloud Platform Integration) by following steps.</SPAN></P><P><FONT color="#3366FF"><STRONG><U>Step 1</U>&nbsp;Create a BW Report</STRONG></FONT>:</P><P><SPAN>Go to the required BW Query in BW Modeling Tools and enable the&nbsp;option <STRONG><EM>By OData</EM></STRONG>&nbsp;from BW Query Settings as shown below:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BW Query.jpg" style="width: 443px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/238833iAD303EE4FD3B0E0F/image-dimensions/443x268?v=v2" width="443" height="268" role="button" title="BW Query.jpg" alt="BW Query.jpg" /></span></P><P><SPAN>Refer :&nbsp;<A href="https://help.sap.com/docs/SUPPORT_CONTENT/bwplaolap/3361385310.html" target="_blank" rel="noopener noreferrer">Steps to Create an ODATA service for a BW Query | SAP Help Portal</A></SPAN></P><P><SPAN><U>Tip:</U>&nbsp;Sometimes, variables requiring mandatory user input may prevent the OData Service from enabling. Ideally, use optional or no variables and avoid authorization-relevant ones. However, this issue may not be relevant in the latest SP levels.</SPAN></P><P>&nbsp;</P><P><SPAN><FONT color="#3366FF"><STRONG><U>Step 2</U>&nbsp;Enable OData Service</STRONG></FONT>:</SPAN></P><P><SPAN><STRONG><FONT color="#000000">2.1</FONT></STRONG> Go to T-Code in BW system: </SPAN>/n/IWFND/MAINT_SERVICE <SPAN>→ Select “<EM>Add Service</EM>”</SPAN></P><P>Select the Service with Query Name&nbsp;<BR />For Ex: - Report Name: ZSALES_ODATA_BW_QUERY<BR />Service generated: ZSALES_ODATA_BW_QUERY_SRV</P><P>Service is automatically created &amp; Make sure to Enter your package to collect in a transport request.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="OData_Service.jpg" style="width: 758px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/239174i7FC7B560E9EE2C20/image-dimensions/758x387?v=v2" width="758" height="387" role="button" title="OData_Service.jpg" alt="OData_Service.jpg" /></span></P><P><STRONG>2.2&nbsp;</STRONG>Go back one step to the Service Catalog (Activate and Maintenance) screen:<BR />Select the Service ZSALES_ODATA_BW_QUERY_SRV -&gt; Call Browser to check the data.</P><P><STRONG>2.3</STRONG> Go to SICF t-code to activate the service</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SICF2.jpg" style="width: 631px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/239175i7D57EF15778AF3FE/image-dimensions/631x586?v=v2" width="631" height="586" role="button" title="SICF2.jpg" alt="SICF2.jpg" /></span></P><P><STRONG>2.4</STRONG> Check the URL and make sure the Query runs fine without any issues:</P><P>By default, the service is called with<SPAN>&nbsp;</SPAN><A href="https://help.sap.com/viewer/64e2cdef95134a2b8870ccfa29cbedc3/7.5.6/en-US/c9384c774bcc4837b84bee3679520fb4.html" target="_blank" rel="noopener noreferrer">parameter</A><SPAN>&nbsp;</SPAN>'?$format=xml', the full URI is: /sap/opu/odata/sap/&lt;query name&gt;_SRV/?$format=xml</P><DIV class=""><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ODATA8.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/239181i254B3DDFC38327D6/image-size/large?v=v2&amp;px=999" role="button" title="ODATA8.jpg" alt="ODATA8.jpg" /></span></DIV><P><BR />Here we can see, with parameter 'ZSALES_ODATA_BW_QUERYResults' we can access the data in the query result.</P><P><STRONG>2.5</STRONG> Below OData Service links can be useful to display Query Information:</P><P><STRONG>Display Metadata</STRONG>:</P><P>https://&lt;BI Portal URL&gt;/sap/opu/odata/sap/ZSALES_ODATA_BW_QUERY_SRV/$metadata</P><P><STRONG>Display Format</STRONG>:<BR />https://&lt;BI Portal URL&gt;/sap/opu/odata/sap/ZSALES_ODATA_BW_QUERY_SRV/?$format=xml</P><P><STRONG>Display Query Result</STRONG>:</P><P>https://&lt;BI Portal URL&gt;/sap/opu/odata/sap/ZSALES_ODATA_BW_QUERY_SRV/ZSALES_ODATA_BW_QUERYResults</P><P><STRONG>Display Query Result with Filters</STRONG>:<BR />https://&lt;BI Portal URL&gt;/sap/opu/odata/sap/ZSALES_ODATA_BW_QUERY_SRV/ZSALES_ODATA_BW_QUERYResults?$filter= 0CALMONTH eq '04.2025'</P><P>&nbsp;</P><P><FONT color="#3366FF"><STRONG><U>Step3</U>&nbsp;Login to the SAP CPI (Cloud Platform Integration) system</STRONG></FONT>:</P><P><STRONG>3.1</STRONG>&nbsp;Field mapping between the BW Query and&nbsp;C4C in CPI system.</P><P>Map the BW Query Result (Fields from left side of below mapping) with the C4C OData API (Cloud Data Source) from C4C system as shown below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CPI_Mapping02.jpg" style="width: 756px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/239180iD0B4A7D21A5B4F57/image-dimensions/756x380?v=v2" width="756" height="380" role="button" title="CPI_Mapping02.jpg" alt="CPI_Mapping02.jpg" /></span></P><P>Note: C4C OData API (Cloud Data Source) is created in C4C system and the BW Query fields are mapped in CPI system.</P><P><STRONG>3.2</STRONG> A daily job can be scheduled to load the data from SAP BW Query OData service to SAP C4C Cloud data source using CPI system. A defined period and time can also be set similar to process chains and update the data regularly.</P><P>Please Refer:&nbsp;<A href="https://community.sap.com/t5/crm-and-cx-blogs-by-sap/sap-cloud-for-customer-integration-to-central-analytics-sap-bw-bi-via/ba-p/13366792" target="_blank">SAP Cloud for Customer - Integration to Central An... - SAP Community</A></P><P>Also Please refer to below Links for more SAP insights on OData Service Enabling:</P><P><SPAN><A href="https://wiki.scn.sap.com/wiki/display/BI/Steps+to+Create+an+ODATA+service+for+a+BW+Query" target="_blank" rel="noopener noreferrer">Steps to Create an ODATA service for a BW Query - SAP NetWeaver Business Warehouse - Community Wiki</A></SPAN></P><P><SPAN><A href="https://blogs.sap.com/2019/02/19/how-to-do-odata-services-from-bex-query/" target="_blank" rel="noopener noreferrer">How to do Odata Services from BEx Query | SAP Blogs</A></SPAN></P><P><SPAN><A href="https://blogs.sap.com/2012/12/08/transform-sap-bw-queries-into-odata-service-generation-and-activation/" target="_blank" rel="noopener noreferrer">Transform SAP BW Queries into OData Service: Part 1 – Generation and Activation | SAP Blogs</A></SPAN></P><P><SPAN><A href="https://help.sap.com/viewer/107a6e8a38b74ede94c833ca3b7b6f51/2.0.7/en-US/11853413cf124dde91925284133c007d.html" target="_blank" rel="noopener noreferrer">ODP-Based Data Extraction via OData - SAP Help Portal</A></SPAN></P> 2025-03-20T18:32:15.806000+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/how-to-publish-bex-through-odata-service-for-third-party-access/ba-p/14060567 How to publish BEx through odata service for third party access 2025-04-01T11:07:50.047000+02:00 saikat_pal5 https://community.sap.com/t5/user/viewprofilepage/user-id/696863 <P>Saikat Pal is a Manager in Data &amp; Analytics practice of PwC India with 15+&nbsp;years of experience in SAP Datasphere, SAP BTP HANA Cloud, SAP BTP CAPM, SAP BW4HANA, S4 HANA Embedded Analytics with CDS technology. Saikat has exposure in techno-functional consulting in&nbsp;Material Management, Purchasing, Sales &amp; Distribution, Customer Relationship&nbsp;Management ( CRM ), Supply Chain Management ( SCM ) from Steel Making Industry, Pharma, Petrochemical, Cement, Solar,Battery etc.</P><P>**********************</P><P>Client Challenge</P><P>**********************</P><P>Access BW data to any third-party cloud-based system.</P><P>***********************</P><P>Pre-requisite</P><P>***********************</P><P>1. Sholud have authorization to RSRT,SE38,/n/IWFND/MAINT_SERVICE tcodes.</P><P>**********************</P><P>Proposed Solution</P><P>**********************</P><P>We can expose both data of BEX query via o-data service.</P><P>&nbsp;</P><P>****************************************<BR />1. Steps to Expose BEx query data&nbsp;<BR />****************************************</P><P>a. Create any BEx query &amp; click on <FONT color="#008000"><STRONG>By O-Data </STRONG><FONT color="#333333">from</FONT><STRONG> General Tab</STRONG></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_0-1743226066616.png" style="width: 621px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244352iE21FBD984B6A684F/image-dimensions/621x474?v=v2" width="621" height="474" role="button" title="saikat_pal5_0-1743226066616.png" alt="saikat_pal5_0-1743226066616.png" /></span></P><P>b. Bex query output from<FONT color="#008000"><STRONG> RSRT</STRONG></FONT> tcode</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_1-1743226384173.png" style="width: 681px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244353i74679674D5F3E31E/image-dimensions/681x296?v=v2" width="681" height="296" role="button" title="saikat_pal5_1-1743226384173.png" alt="saikat_pal5_1-1743226384173.png" /></span></P><P>c. Go to <FONT color="#008000"><STRONG>SE38</STRONG></FONT> tcode &amp; run this program</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_2-1743226502497.png" style="width: 635px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244354i54EEE96C0B96BDA4/image-dimensions/635x394?v=v2" width="635" height="394" role="button" title="saikat_pal5_2-1743226502497.png" alt="saikat_pal5_2-1743226502497.png" /></span></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_3-1743226532452.png" style="width: 529px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244355iE02D3302AF95A9B4/image-dimensions/529x250?v=v2" width="529" height="250" role="button" title="saikat_pal5_3-1743226532452.png" alt="saikat_pal5_3-1743226532452.png" /></span></P><P>d. Select &amp; Generate Service</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_5-1743227281639.png" style="width: 535px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244358iDF724B1E28A6176B/image-dimensions/535x87?v=v2" width="535" height="87" role="button" title="saikat_pal5_5-1743227281639.png" alt="saikat_pal5_5-1743227281639.png" /></span></P><P>e. Go to tcode&nbsp;<FONT color="#008000"><STRONG>/n/IWFND/MAINT_SERVICE </STRONG></FONT>&amp; select Add Service</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_7-1743227532527.png" style="width: 640px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244360i4871AD0658177B85/image-dimensions/640x64?v=v2" width="640" height="64" role="button" title="saikat_pal5_7-1743227532527.png" alt="saikat_pal5_7-1743227532527.png" /></span></P><P>f. Give system alias as LOCAL &amp; give the technical name of BEx followed by*. Then press enter. You will get the service below. Please note that this service (*SRV) is generated from the program <FONT color="#008000">EQ_RS_AUTOSETUP</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_8-1743227777506.png" style="width: 647px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244361i5A1891AFB2986A5E/image-dimensions/647x178?v=v2" width="647" height="178" role="button" title="saikat_pal5_8-1743227777506.png" alt="saikat_pal5_8-1743227777506.png" /></span></P><P>g. add selected service</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_9-1743228210865.png" style="width: 565px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244362i6B64DC1FE9347071/image-dimensions/565x458?v=v2" width="565" height="458" role="button" title="saikat_pal5_9-1743228210865.png" alt="saikat_pal5_9-1743228210865.png" /></span></P><P>h. Select local Package(if you do not want to transport). Continue with the above screen &amp; then come back at the previous screen.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_10-1743229091280.png" style="width: 694px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244363iF0563DCD197199EC/image-dimensions/694x248?v=v2" width="694" height="248" role="button" title="saikat_pal5_10-1743229091280.png" alt="saikat_pal5_10-1743229091280.png" /></span></P><P>i.Click on this highlighted service. Activate ICF Node if not active</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_11-1743229288035.png" style="width: 675px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244364iB6D65E871E3805EF/image-dimensions/675x130?v=v2" width="675" height="130" role="button" title="saikat_pal5_11-1743229288035.png" alt="saikat_pal5_11-1743229288035.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_12-1743229377443.png" style="width: 670px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244365iA008F59C36CBA002/image-dimensions/670x72?v=v2" width="670" height="72" role="button" title="saikat_pal5_12-1743229377443.png" alt="saikat_pal5_12-1743229377443.png" /></span></P><P>j. Click on SAP Gateway client</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_13-1743229592397.png" style="width: 639px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244366iD8987BE518F4A124/image-dimensions/639x133?v=v2" width="639" height="133" role="button" title="saikat_pal5_13-1743229592397.png" alt="saikat_pal5_13-1743229592397.png" /></span></P><P>k. Click on execute</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_14-1743229672308.png" style="width: 635px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244367i0E39F49D0C0D61DC/image-dimensions/635x177?v=v2" width="635" height="177" role="button" title="saikat_pal5_14-1743229672308.png" alt="saikat_pal5_14-1743229672308.png" /></span></P><P>l. Status of this service is ok</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_15-1743229868518.png" style="width: 634px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244368iA4C7CA3309045E35/image-dimensions/634x314?v=v2" width="634" height="314" role="button" title="saikat_pal5_15-1743229868518.png" alt="saikat_pal5_15-1743229868518.png" /></span></P><P>m. Click on <FONT color="#008000"><STRONG>EntitySets</STRONG></FONT> &amp; click on <FONT color="#008000"><STRONG>_C02_Q0002_ODATAResults</STRONG></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_16-1743230187635.png" style="width: 516px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244369i554A73B54408213B/image-dimensions/516x218?v=v2" width="516" height="218" role="button" title="saikat_pal5_16-1743230187635.png" alt="saikat_pal5_16-1743230187635.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_21-1743231184335.png" style="width: 514px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244374i5ACF1F8A8FA853BF/image-dimensions/514x116?v=v2" width="514" height="116" role="button" title="saikat_pal5_21-1743231184335.png" alt="saikat_pal5_21-1743231184335.png" /></span></P><P>&nbsp;</P><P>n. Click on <STRONG><FONT color="#008000">Call Browser</FONT></STRONG> from <STRONG><FONT color="#008000">SAP Gateway Client</FONT></STRONG>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_18-1743230482296.png" style="width: 501px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244371i9D059C2048146F46/image-dimensions/501x134?v=v2" width="501" height="134" role="button" title="saikat_pal5_18-1743230482296.png" alt="saikat_pal5_18-1743230482296.png" /></span></P><P>o. Both http &amp; https url is generated</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_19-1743230672213.png" style="width: 599px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244372i24661C1978D994AC/image-dimensions/599x80?v=v2" width="599" height="80" role="button" title="saikat_pal5_19-1743230672213.png" alt="saikat_pal5_19-1743230672213.png" /></span></P><P>p. Click on Call Browser(http) &amp; you can see the data in XML format which is tallying with <FONT color="#008000"><STRONG>RSRT</STRONG></FONT> output of BEx</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="saikat_pal5_20-1743231113321.png" style="width: 565px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/244373i8AEDC743CEB650A9/image-dimensions/565x250?v=v2" width="565" height="250" role="button" title="saikat_pal5_20-1743231113321.png" alt="saikat_pal5_20-1743231113321.png" /></span></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><P>&nbsp;</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><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2025-04-01T11:07:50.047000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/sunset-of-bex-tools-in-sap-bw-what-you-need-to-know-before-october-2025/ba-p/14104774 Sunset of BEx Tools in SAP BW - What You Need to Know Before October 2025 2025-05-20T14:45:44.756000+02:00 Tanuj_G https://community.sap.com/t5/user/viewprofilepage/user-id/208472 <H1 id="toc-hId-1601398691"><FONT color="#000080"><STRONG>Introduction: Sunset of BEx Tools -&nbsp;A Critical Milestone by October 2025</STRONG></FONT></H1><TABLE border="1" width="100%"><TBODY><TR><TD width="100%"><P><FONT size="5" color="#FF0000"><STRONG>IMPORTANT UPDATE (10/15/2025):</STRONG></FONT></P><P><SPAN><EM><FONT color="#FF0000">BEx Analyzer and BEx Precalculation will no longer be supported in mainstream maintenance and will enter customer-specific maintenance with limited support effective October 15, 2025</FONT></EM>.&nbsp;Under customer-specific maintenance, the processing of problems is customer-specific. This means that for known problems, the solution is still covered by the maintenance. However, the customer may have to pay for the expense of solving new problems not yet known to SAP. In addition, SAP may, at its own discretion,&nbsp;choose to provide fixes under special circumstances e.g. for selected security issues, or for any critical bug that may impact the migration to alternative tools. See <A href="https://me.sap.com/notes/3665993" target="_self" rel="noopener noreferrer">SAP Note&nbsp;3665993</A> for more details.</SPAN></P><P><SPAN>Although BEx Analyzer and BEx Precalculation will be in customer-specific maintenance from October 15, 2025, other <STRONG>BW BEx tools such as&nbsp;BEx QueryDesigner and BEx WebApplicationDesigner have no direct dependency to Microsoft Office and will continue to be supported as usual until 2030,</STRONG> including, with the availability of bug fixes for any new errors reported for BW 7.5, and with a .NET compatible version not higher than 4.8.&nbsp;Consequently, support for other BEx tools such as BEx QueryDesigner and BEx WebApplicationDesigner is provided with BW 7.50 until the end of maintenance of BW 7.5.</SPAN></P><P>&nbsp;</P></TD></TR></TBODY></TABLE><P>With the clock ticking toward <STRONG>October 14, 2025</STRONG>, the end of support for Microsoft Office 2016 and 2019 also signals the end of mainstream support for Excel-based <STRONG>SAP BEx tools</STRONG> like BEx Analyzer, BEx Workbooks, and BEx Broadcaster (Pre-calculation) by SAP. While some BEx components (BEx Query Designer, BEx WAD) will continue in maintenance mode until 2027 or 2030, the Excel-dependent tools face a end of mainstream maintenance and move into customer specific maintenance with limited support from October 15, 2025.</P><P>While many organizations are already moving forward with <STRONG>SAP Datasphere adoption</STRONG> or planning their <STRONG>SAP BW/4HANA conversion</STRONG>, those still operating on <STRONG>SAP BW 7.x</STRONG> must urgently assess their current <STRONG>BEx tool usage</STRONG> to avoid disruptions and ensure long-term supportability.</P><P>In this article, we break down:</P><UL><LI>What BEx tools are affected and when</LI><LI>How to check if your system still relies on BEx Tools approaching end of support</LI><LI>Available replacements like SAP Analysis for Office and SAP Analytics Cloud</LI><LI>SAP's mass conversion tools and services to ease your transition</LI></UL><P>For answers to the most frequently asked questions (FAQ) about the BEx tools sunset, check out the dedicated FAQ:&nbsp;</P><P><span class="lia-unicode-emoji" title=":backhand_index_pointing_right:">👉</span><A class="" href="https://community.sap.com/t5/technology-blog-posts-by-sap/sunset-of-bex-tools-frequently-asked-questions-and-answers-faq/ba-p/14112165" target="_new">Sunset of BEx Tools – Frequently Asked Questions and Answers (FAQ)</A></P><P>Whether you have already started migrating or are still evaluating your next steps, this article will help you understand the risks, available options with existing BEx tools usage.</P><H2 id="toc-hId-1533967905"><FONT color="#000080"><STRONG>BEx Solutions Overview</STRONG></FONT></H2><P><STRONG>&nbsp;</STRONG>SAP offers a range of BEx-related tools and components, each serving different roles in the reporting and analysis workflow. These solutions fall into two broad categories; those <STRONG>dependent on Microsoft Excel</STRONG> and those that are <STRONG>web-based or standalone</STRONG>.</P><P><STRONG>BEx tools can be classified in two broader categories:</STRONG></P><UL><LI><STRONG>Excel-Dependent (Impacted by both BEx sunset and Office lifecycle)</STRONG></LI></UL><UL><UL><LI>BEx Analyzer</LI><LI>BEx Workbooks</LI><LI>BEx Broadcaster</LI></UL></UL><UL><LI><STRONG>Standalone/Web-Based (Independent of Office support)</STRONG></LI></UL><UL><UL><LI>BEx Query Designer</LI><LI>BEx Queries</LI><LI>BEx Web Application Designer</LI></UL></UL><P>BEx tools that rely on Excel only work with specific versions of Microsoft Office. The last versions supported by BEx tools are Office 2016 and Office 2019. Since Microsoft's decision to stop supporting Office 2016 &amp; 2019 versions by&nbsp;<STRONG>October 14, 2025</STRONG>, this poses a hard limit on the mainstream maintenance support timelines for the excel based BEx reporting tools as well, and after that <STRONG>BEx tools</STRONG> <STRONG>(<FONT color="#000000">BEx Analyzer, BEx Workbooks and BEx Precalculation</FONT>) dependent on Excel will enter into customers-specific maintenace support by SAP from October 15, 2025.</STRONG></P><P>BEx tools that don’t rely on Microsoft Office (i.e. BEx Query Designer, BEx Queries, BEx WAD) can still be used and supported until 2027 (standard support) or 2030 (extended support), in line with BW 7.50 maintenance timelines. These tools are now in maintenance-only mode, meaning SAP will only provide basic support for fixing issues in BW 7.5 with no new development, innovation or new features planned for these BEx tools.&nbsp;</P><H2 id="toc-hId-1337454400"><FONT color="#000080"><STRONG>BEx Tools – Supportability Overview</STRONG></FONT></H2><P>Following table provides the End of Support for the BEx related products based on SAP NetWeaver or BEx End of Life timelines:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Tanuj_G_0-1760542925513.png" style="width: 979px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/327998i8121579E7D9ED23B/image-dimensions/979x142/is-moderation-mode/true?v=v2" width="979" height="142" role="button" title="Tanuj_G_0-1760542925513.png" alt="Tanuj_G_0-1760542925513.png" /></span></P><P>&nbsp;<STRONG>Key References and Support Notes for BEx Transition</STRONG></P><P>The End of mainstream support for BEx (excel based tools) is reinforced by external dependencies, such as Microsoft’s end of support for Office 2016 and 2019, which directly impacts the usability and security of BEx Analyzer and Workbooks and BEx Broadcaster. <STRONG>Excel depedent tools such as BEx Analyzer, BEx workbooks and BEx Pre-calculation server&nbsp; will enter into customers-specific maintenace support by SAP from October 15, 2025.</STRONG></P><P>SAP has formally communicated the BEx sunset through multiple channels, including official SAP Notes and blogs dating back as early as 2016. The references below serve as key evidence points supporting the urgency and inevitability of moving to modern alternatives like SAP Analysis for Office (AO) or SAP Analytics Cloud (SAC):</P><UL><LI><A href="https://support.microsoft.com/en-us/office/end-of-support-for-office-2016-and-office-2019-818c68bc-d5e5-47e5-b52f-ddf636cf8e16#id0ebbd=office_2016_or_office_2019_at_home" target="_blank" rel="noopener nofollow noreferrer">Microsoft Support link</A> - Microsoft will <STRONG>no longer provide technical support, bug fixes, or security fixes</STRONG> for Office 2016 and Office 2019 vulnerabilities which may be subsequently reported or discovered.<STRONG> This includes security updates which can help protect your PC from harmful viruses, spyware, and other malicious software</STRONG></LI><LI>Announcements for BEx sunset was announced through the <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-business-explorer-maintenance-and-support-policy/ba-p/13304715" target="_blank">blog</A> -&nbsp; Announced in 2016</LI><LI><A href="https://me.sap.com/notes/2609031" target="_blank" rel="noopener noreferrer">SAP Note 2609031 </A>- Sunset of BW Business Explorer (BEx) – Announced in 2018</LI></UL><P>Additional References:</P><UL><LI><SPAN><A href="https://me.sap.com/notes/3665993" target="_self" rel="noopener noreferrer">SAP Note&nbsp;3665993</A>&nbsp;-&nbsp;End of Mainstream maintenance and start of customer-specific maintenance for BEx Analyzer and BEx Precalculation w.e.f. Oct 15, 2025</SPAN></LI><LI><A href="https://me.sap.com/notes/1973324" target="_self" rel="noopener noreferrer">SAP Note 1973324</A> - BEx support for Microsoft Office 365 - Client Excel 2013 and&nbsp; 2016</LI><LI><A href="https://me.sap.com/notes/3474912" target="_self" rel="noopener noreferrer">SAP Note 3474912</A> – BEx Query Designer support for BW 7.50</LI><LI><A href="https://me.sap.com/notes/3590297" target="_self" rel="noopener noreferrer">SAP Note 3590297</A> - SAP BW NetWeaver Cloud: Information about maintenance availability in private cloud editions</LI><LI><A href="https://me.sap.com/notes/1995532" target="_self" rel="noopener noreferrer">SAP Note 1995532</A> - BI 7.x tools - HW\SW requirements and Compatibility of Microsoft Operating Systems and Office Products</LI></UL><H2 id="toc-hId-1140940895"><FONT color="#000080"><STRONG>BEx Sunset Adoption Gaps</STRONG><STRONG>&nbsp;</STRONG></FONT></H2><P>As part of SAP’s long-term strategy to modernize its business intelligence tooling landscape, the sunset of BEx (Business Explorer) tools has been formally announced, encouraging customers to transition to more advanced and supported alternatives such as SAP Analysis for Office (AO) and SAP Analytics Cloud (SAC).</P><P>However, many SAP BW 7.x customers are at varying stages of adoption readiness, and significant gaps remain in fully realizing this transition. We observed these customers in following categories:</P><UL><LI><STRONG>Transition Planned but BEx Still in Use</STRONG>: BW 7.x customers who have <STRONG>already planned the transition</STRONG> from BEx tools to modern alternatives such as <STRONG>SAP Analysis for Office (AO)</STRONG> or <STRONG>SAP Analytics Cloud (SAC)</STRONG><UL><LI>Users have been <STRONG>informed about the BEx sunset</STRONG> through communication efforts like end-user trainings, replacement solutions and awareness sessions</LI><LI>Despite these efforts, <STRONG>end users continue to use BEx tools</STRONG> (e.g., BEx Analyzer, BEx Workbooks) for their reporting activities</LI></UL></LI><LI><STRONG>Unaware of BEx Sunset</STRONG>: BW 7.x customers who are <STRONG>not aware of the </STRONG>sunset of BEx tools.<UL><LI><STRONG>BEx continues to be the primary reporting tool</STRONG> for all business use cases, as users are not informed of alternative solutions or the transition roadmap</LI></UL></LI></UL><H2 id="toc-hId-944427390"><FONT color="#000080"><STRONG>What SAP Products are impacted:</STRONG><STRONG>&nbsp;</STRONG></FONT></H2><UL><LI><STRONG>SAP BW 7.5 or lower:</STRONG> BEx Analyzer/Workbooks can be the primary reporting front-end for classic BW systems</LI><LI><STRONG>Embedded BW (in SAP ECC or ERP):</STRONG> Even though Embedded BW is typically used for operational reporting, BEx Analyzer/Workbooks can still used in some implementations</LI><LI><STRONG>SAP SCM (Supply Chain Management): </STRONG>SCM systems with APO or SNP modules often have their own BW instance or rely on Embedded BW</LI></UL><P>While BEx is closely associated with SAP BW, its footprint extends into nearly every corner of the SAP ecosystem i.e. from legacy CRM and SRM systems to industry-specific solutions like IS-U and IS-Retail. Any system with a BW component or an integration to BW for analytics could potentially be generating BEx usage worth monitoring.</P><H2 id="toc-hId-747913885"><FONT color="#000080"><STRONG>How to identify the impact in SAP BW system:</STRONG></FONT></H2><P>There are few potential options to check it in the system or EWA if BEx Analyzer or BEx Broadcaster is still used in the SAP BW system:</P><H2 id="toc-hId-551400380"><STRONG><U>Option 1: </U></STRONG></H2><P>The <STRONG>SAP EarlyWatch Alert (EWA) report</STRONG> is a <STRONG>proactive monitoring tool</STRONG> provided by SAP that delivers a <STRONG>comprehensive technical health check</STRONG> of your SAP system. It is part of SAP’s support offering and is typically generated <STRONG>weekly</STRONG> to help detect and prevent potential issues before they impact system performance or availability.</P><P>Check section “<STRONG>Frontend Distribution” </STRONG>in BW EarlyWatch Alert reports. This section provides an overview of BW query executions, segmented by frontend tools, for the period covered in the EarlyWatch Alert (EWA) report. The data is sourced from the RSDDSTAT_OLAP view in the BW system.</P><P>The availability and data for the section depends on the configuration of the EarlyWatch Alert report for BW system: e.g.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Tanuj_G_0-1747615170324.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/262754iC55F9E1E9AB2056C/image-size/large?v=v2&amp;px=999" role="button" title="Tanuj_G_0-1747615170324.png" alt="Tanuj_G_0-1747615170324.png" /></span></P><P><FONT color="#FF0000"><U><STRONG>ACTION REQUIRED:</STRONG></U>&nbsp;</FONT> If there are any entries in BEx Analyzer 7.x and/or BEx Broadcaster, it is critical to initiate remediation steps to mitigate the impact of BEx End of support</P><P><STRONG>Note:</STRONG> The statistics in EarlyWatch Alert report are extracted from the RSDDSTAT_OLAP view. Accuracy of the data relies on the proper enablement and execution of detailed statistics collection through transaction RSDDSTAT in SAP BW system, which must be activated for Workbooks, Queries, and InfoProviders to capture the statistics.</P><H2 id="toc-hId-354886875"><STRONG><U>Option 2:</U></STRONG></H2><P>If EarlyWatch alert is not activated, you can login to the BW Production system, and manually check BEx tool usage accessing transaction SE16, and table RSDDSTAT_OLAP:</P><UL><LI>For <STRONG>BEx Analyzer / Workbook</STRONG> usage:<UL><LI>Use selection “BEX” as STEPTP field and “3200”&nbsp; as EVENTID.</LI><LI>Number of entries &gt; 0 show the usage of BEx Analyzer / Workbooks in the system.</LI></UL></LI><LI>For <STRONG>BEx Broadcaster</STRONG> usage:<UL><LI>Use “14601”, “14611” and “14671” as EVENTID.</LI><LI>Number of entries &gt; 0 show the usage of BEx Broadcaster (Pre-calc server) in the system.</LI></UL></LI></UL><UL><LI>The <STRONG>USERID</STRONG> field in the results will identify which users are actively using BEx tools</LI></UL><P><U><FONT color="#FF0000"><STRONG>ACTION REQUIRED:</STRONG></FONT></U> &nbsp;If there are any entries in either of the above cases, it is critical to initiate remediation steps to mitigate the impact of BEx end of support.</P><P><STRONG>Additional Consideration</STRONG>: This analysis is not limited to standalone BW systems. You can also perform this check in SAP systems with the <STRONG>SAP_BW component</STRONG>, such as <STRONG>ECC, SCM, or CRM etc</STRONG>. While most customers leverage standalone BW for central reporting, embedded BW capabilities in source systems allow the creation and use of BEx queries locally; another area that must be assessed during BEx deprecation planning.</P><H2 id="toc-hId-158373370"><STRONG><FONT color="#000080">How can SAP Services help?</FONT> </STRONG></H2><H4 id="toc-hId-220025303"><U><FONT color="#003366"><STRONG>BEx Workbooks</STRONG></FONT></U></H4><P>To ensure continuity and supportability, all BEx Workbooks should be migrated to SAP Analysis for Microsoft Office (AO). For customers with <STRONG>only a few BEx Workbooks</STRONG>, a <A href="https://help.sap.com/docs/SAP_BUSINESSOBJECTS_ANALYSIS_OFFICE/ca9c58444d64420d99d6c136a3207632/f272193a6c9b1014bf2c9a7eb0e91070.html?locale=en-US" target="_blank" rel="noopener noreferrer"><STRONG>manual migration</STRONG></A> may be more practical.</P><P>For customers with a <STRONG>large number of BEx Workbooks</STRONG>, SAP offers a tool for&nbsp;Automated Mass Conversion Tool to accelerate and facilitate the conversion process from BEx (Analyzer) Workbooks to Analysis for Office Workbooks. The Automated Mass Conversion Tool is 6x to 8x faster than the manual conversion method, conversion of 100 Workbooks take around 5-6 Minutes, compared to at least 30 seconds per one workbook in case of manual conversion.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Tanuj_G_0-1747600430151.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/262747iA03B298C2E4A8BB4/image-size/large?v=v2&amp;px=999" role="button" title="Tanuj_G_0-1747600430151.png" alt="Tanuj_G_0-1747600430151.png" /></span></P><P>This service is available for both&nbsp;MaxAttention (Premium Engagement)&nbsp;and&nbsp;Professional Services customers, if you would like to request it or find out more about it please contact your&nbsp;Engagement Architect,&nbsp;Technical Quality Manager,&nbsp;Account Manager&nbsp;or you can reach out to us via the&nbsp;email:</P><UL><LI><A href="mailto:PremiumHubCoE_BExtoAO_Migration@sap.com" target="_blank" rel="noopener nofollow noreferrer"><STRONG>SAP </STRONG></A><A href="mailto:PremiumHubCoE_BExtoAO_Migration@sap.com" target="_blank" rel="noopener nofollow noreferrer"><STRONG>PremiumHubCoE_BExtoAO_Migration</STRONG></A></LI></UL><H4 id="toc-hId--474205297"><U><FONT color="#000080"><STRONG>BEx Broadcaster (Pre-calculation)</STRONG></FONT></U></H4><P>Unlike BEx Workbooks, which benefit from SAP’s Mass Conversion Tool for migration to Analysis for Office, BEx Broadcaster (Pre-calculation) presents a different challenge. There are following replacement options available:</P><UL><LI>SAP Analysis for Microsoft Office (AO) with Scheduling via BI Platform</LI><LI>SAP Analytics Cloud (SAC) Publication</LI></UL><P>There is no automated conversion tool available for migrating broadcasting scenarios to replacement alternatives. Customers must manually rebuild scheduling and distribution logic from scratch using supported replacement options.</P><H2 id="toc-hId--83912788"><FONT color="#000080"><U>Conclusion</U></FONT></H2><P>While many customers have already transitioned to modern alternatives, there are customers who still rely on BEx tools particularly BEx Analyzer, BEx Workbooks and BEx Pre-calculatio server for critical reporting and scheduling needs.&nbsp;<SPAN><EM><FONT color="#FF0000">BEx Analyzer, BEx Workbooks and BEx Precalculation will no longer be supported in mainstream maintenance and will enter customer-specific maintenance effective October 15, 2025</FONT></EM>.</SPAN></P><P>Organizations with a significant footprint of BEx Workbooks should be aware that migrating to SAP Analysis for Office can require substantial time and manual effort. SAP offers a Mass Conversion Tool and expert services through SAP MaxAttention and the CoE teams to accelerate this process and reduce the operational burden. Please connect at <A href="mailto:PremiumHubCoE_BExtoAO_Migration@sap.com" target="_blank" rel="noopener nofollow noreferrer"><STRONG>SAP </STRONG></A><A href="mailto:PremiumHubCoE_BExtoAO_Migration@sap.com" target="_blank" rel="noopener nofollow noreferrer"><STRONG>PremiumHubCoE_BExtoAO_Migration</STRONG></A>.</P><P>For those using BEx Broadcaster (Pre-Calculation Server), it is equally important to plan a transition to supported scheduling solutions using manual rebuild such as SAP BusinessObjects BI Scheduling or SAP Analytics Cloud Publications.</P><P>Taking proactive steps today will ensure business continuity, reduce security and compliance risks, and set your organization on a clear path toward a modern, supported, and future-ready analytics strategy beyond BEx.</P> 2025-05-20T14:45:44.756000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/sunset-of-bex-tools-frequently-asked-questions-and-answers-faq/ba-p/14112165 Sunset of BEx Tools - Frequently Asked Questions and Answers (FAQ) 2025-05-27T05:16:16.873000+02:00 Tanuj_G https://community.sap.com/t5/user/viewprofilepage/user-id/208472 <P><FONT face="arial,helvetica,sans-serif" size="5" color="#333333"><STRONG>Sunset of BEx Tools - Frequently Asked Questions and Answers (FAQs):</STRONG></FONT></P><TABLE border="1" width="100%"><TBODY><TR><TD width="100%"><P><FONT size="5" color="#FF0000"><STRONG>IMPORTANT UPDATE (10/15/2025):</STRONG></FONT></P><P><SPAN><EM><FONT color="#FF0000">BEx Analyzer and BEx Precalculation will no longer be supported in mainstream maintenance and will enter customer-specific maintenance effective October 15, 2025</FONT></EM>.&nbsp;Under customer-specific maintenance, the processing of problems is customer-specific. This means that for known problems, the solution is still covered by the maintenance. However, the customer may have to pay for the expense of solving new problems not yet known to SAP. In addition, SAP may, at its own discretion,&nbsp;choose to provide fixes under special circumstances e.g. for selected security issues, or for any critical bug that may impact the migration to alternative tools. See&nbsp;<A href="https://me.sap.com/notes/3665993" target="_self" rel="noopener noreferrer">SAP Note&nbsp;3665993</A>&nbsp;for more details.</SPAN></P><P><SPAN>Although BEx Analyzer and BEx Precalculation will be in customer-specific maintenance from October 15, 2025, other&nbsp;<STRONG>BW BEx tools such as&nbsp;BEx QueryDesigner and BEx WebApplicationDesigner have no direct dependency to Microsoft Office and will continue to be supported as usual,</STRONG>&nbsp;including, with the availability of bug fixes for any new errors reported for BW 7.5, and with a .NET compatible version not higher than 4.8.&nbsp;Consequently, support for other BEx tools such as BEx QueryDesigner and BEx WebApplicationDesigner is provided with BW 7.50 until the end of maintenance of BW 7.5.</SPAN></P></TD></TR></TBODY></TABLE><P>With support for BEx Analyzer, Workbooks, and Broadcaster ending in October 2025, organizations using SAP BW need to act now. This article answers the most frequently asked questions around the BEx tool sunset, outlines key dates, risks, and support limitations, and explores recommended replacement tools like SAP Analysis for Office and SAP Analytics Cloud</P><P>We have grouped the questions by components to make the information clear, simple, and component-specific.</P><UL><LI>General Questions about End of Support</LI><LI>Migration and Replacement Tools</LI><LI>Technical and Operational Concerns</LI><LI>Conversion Questions</LI><LI>License</LI><LI>Planning and Next Steps</LI></UL><P>For an Overview of the BEx tools sunset including the rationale, timelines, and key actions customers should consider ahead of October 2025, refer to previous detailed blog post:<BR /><span class="lia-unicode-emoji" title=":backhand_index_pointing_right:">👉</span><A class="" href="https://community.sap.com/t5/technology-blog-posts-by-sap/sunset-of-bex-tools-in-sap-bw-what-you-need-to-know-before-october-2025/ba-p/14104774" target="_new">Sunset of BEx Tools in SAP BW – What You Need to Know Before October 2025&nbsp;</A>This foundational article complements the FAQs by offering strategic guidance for planning your transition effectively.</P><P>&nbsp;</P><P><FONT size="5" color="#333333"><STRONG><FONT face="arial,helvetica,sans-serif">General Questions about End of Support:</FONT></STRONG></FONT></P><P><STRONG>What specific BEx tools are affected by the end of support in October 2025?</STRONG></P><UL><LI>BEx tools dependent on excel, such as BEx Analyzer, BEx Workbooks, and BEx Broadcaster (Pre-calculation server) are impacted</LI></UL><P><STRONG>What are the key dates we need to be aware of for the end of support? </STRONG></P><UL><LI>October 14, 2025: End of Microsoft support for Office 2016 and 2019, impacting end of mainstream maintenance support for BEx Analyzer / Workbook and BEx Broadcaster (Pre-calculation server) but supported in Customer specific maintenance from October 15, 2025.</LI><LI>December 31, 2027: End of mainstream maintenance for SAP BW 7.5.</LI><LI>December 31, 2030: End of extended maintenance for SAP BW 7.5 and BI Java based Broadcasting and BEx Query Designer</LI><LI>Note: Users on older SAP BW versions (e.g., 7.4 or earlier) have already past their mainstream maintenance end dates in 2020.</LI></UL><P><STRONG>What happens if we continue to use BEx Excel dependent tools after the end of support dates? </STRONG></P><UL><LI><SPAN><EM><FONT color="#FF0000">BEx Analyzer and BEx Precalculation will no longer be supported in mainstream maintenance and will enter customer-specific maintenance effective October 15, 2025</FONT></EM>.&nbsp;Under customer-specific maintenance, the processing of problems is customer-specific. This means that for known problems, the solution is still covered by the maintenance. However, the customer may have to pay for the expense of solving new problems not yet known to SAP. In addition, SAP may, at its own discretion,&nbsp;choose to provide fixes under special circumstances e.g. for selected security issues, or for any critical bug that may impact the migration to alternative tools. See&nbsp;<A href="https://me.sap.com/notes/3665993" target="_self" rel="noopener noreferrer">SAP Note&nbsp;3665993</A>&nbsp;for more details.</SPAN></LI><LI><SPAN>After the start of customer-specific maintenance, the processing of customer cases for BEx Analyzer and BEx Precalculation will proceed as follows. This also applies to broadcasting of BEx workbooks (since it uses BEx Precalculation):</SPAN><UL><LI>Customers can continue to report issues via customer cases as usual. Technical Support and downstream support teams will continue to accept and process customer cases during the regular message processing.</LI><LI>The reported error is analyzed.<UL><LI><SPAN>If&nbsp;the error is already known and has been fixed, the known solution will be made available to the customer.</SPAN></LI><LI><SPAN>If the error is not known yet, it is regarded as a new, as yet unknown error. In this case, SAP will use its discretion to either decline the correction, or may choose to offer a fix depending also on the complexity of the issue and the feasibility of providing the fix. However, this will be regarded as a consulting service and may be subject to additional charge</SPAN></LI><LI><SPAN>You may speak with your Account Executive or Customer Engagement Executive about Professional Services options in order to avail SAP's consulting services that may be subject to additional charge</SPAN></LI></UL></LI></UL></LI></UL><P><STRONG>What about embedded BW systems (e.g., ECC, SCM, CRM) using BEx tools, are they also impacted?</STRONG></P><UL><LI>Yes. Any system with the SAP_BW component, including embedded BW in SAP ERP systems, is impacted if excel based BEx tools are used for reporting.</LI></UL><P><FONT size="5" color="#333333"><STRONG>Migration and Replacement Tools:</STRONG></FONT></P><P><STRONG>What are the recommended replacement tools for BEx Analyzer and BEx Workbooks?</STRONG></P><UL><LI>SAP recommends transitioning to:<UL><LI><STRONG>SAP Analysis for Microsoft Office (AO)</STRONG> for Excel-based reporting with similar layout and filtering capabilities. <STRONG>SAP offers Mass Conversion Tool through SAP Services</STRONG> to convert existing BEx Workbooks to Analysis for Office workbooks. Manual conversion of BEx to AO workbook also possible.</LI><LI><STRONG>SAP Analytics Cloud (SAC) Excel Add-in</STRONG> for modern, web-based dashboards, stories, and advanced analytics. There is <STRONG>No automated conversion tool</STRONG> exist for converting BEx Workbooks directly to SAC Excel Add-in. Migration requires manual rebuilding of reports and dashboards in SAC</LI></UL></LI></UL><P><STRONG>What are the recommended replacement tools for BEx Broadcasting (Pre-calculation server)?</STRONG></P><UL><LI>Broadcasting / Scheduling in SAP BW systems is used to schedule and distribute BEx Query and Workbook outputs via email, portal, or printer, leveraging different SAP broadcasting solutions such as Pre-calculation Server, BI Java Scheduling, SAC Publication, Analysis for office scheduling</LI><LI>BEx Broadcaster (Pre-calculation Server) support will end in October 2025, aligning with the broader SAP BEx sunset</LI><LI><STRONG>Broadcasting via BI Java scheduling</STRONG> is available but not considered a long-term strategic option due to planned EOMM by 2027 and EOEM by 2030</LI><LI>Recommended Alternatives for scheduling and distribution:<UL><LI><STRONG>SAP BusinessObjects Business Intelligence:</STRONG> Offers built-in scheduling capabilities through the SAP BusinessObjects platform, including the ability to schedule Analysis for Office Workbooks</LI><LI><STRONG>SAP Analytics Cloud Publication:</STRONG> Strategic SAP solution for modern, cloud-based report distribution and scheduling</LI></UL></LI></UL><P><STRONG>What are the recommended replacement tools for BEx Web Application Designer (WAD)?</STRONG></P><UL><LI><STRONG><U>BEx Web Application Designer is </U></STRONG>supported with BW on HANA and BW/4HANA until 2030, subject to the end of mainstream maintenance in 2027 and the availability of extended maintenance through 2030.</LI><LI>SAP recommends replacing BEx Web with SAP Analytics Cloud (SAC) as primary replacement tool</LI></UL><P><STRONG>Is there any impact on BI Java or BOBJ based Broadcasting tools with this BEx tool sunset? </STRONG></P><UL><LI>No. there is no impact to BI Java or BOBJ based broadcasting tools.</LI><LI>However, BI Java based broadcasting is supported as per the maintenance timelines for BW 7.50 i.e. until 2027 (mainstream maintenance) and until 2030 (Extended Maintenance) with BW 7.5 and BW/4HANA.</LI></UL><P><STRONG>What are the migration paths for our existing BEx workbooks to Analysis for Office?</STRONG></P><UL><LI>For customers with a <STRONG>large number of BEx Workbooks</STRONG>, we recommend engaging with <STRONG>SAP MaxAttention</STRONG> or the <STRONG>SAP Services team</STRONG>, which offers a <STRONG>mass conversion tool</STRONG> to automate the migration of BEx Workbooks to Analysis for Office format</LI><LI>For customers with <STRONG>only a limited number of BEx Workbooks</STRONG>, a <STRONG><A href="https://help.sap.com/docs/SAP_BUSINESSOBJECTS_ANALYSIS_OFFICE/ca9c58444d64420d99d6c136a3207632/f272193a6c9b1014bf2c9a7eb0e91070.html?locale=en-US" target="_blank" rel="noopener noreferrer">manual migration</A> </STRONG>&nbsp;using Analysis for Office may be more practical</LI></UL><P><STRONG>What are the migration paths for our existing BEx workbooks to SAC?</STRONG></P><UL><LI>There is currently <STRONG>no automated conversion tool</STRONG> available to migrate BEx Workbooks directly to SAC</LI><LI>As a result, <STRONG>any migration from BEx Workbooks to SAC requires a manual rebuild</STRONG> of the report content using SAC’s capabilities</LI></UL><P><STRONG>What are the migration paths for our existing BEx Broadcasting to SAC Publication?</STRONG></P><UL><LI><STRONG>There is no direct migration path or automated tool</STRONG> to convert existing BEx Broadcaster (Pre-calculation server) to SAC Publications</LI><LI>Customers must <STRONG>manually recreate broadcasting logic</STRONG> using <STRONG>SAC’s Publication and Scheduling</STRONG> features</LI></UL><P><STRONG>What resources or support does SAP offer for this migration?</STRONG></P><UL><LI>For customers with a <STRONG>large volume of BEx Workbooks</STRONG>, SAP <STRONG>MaxAttention or SAP Services team provide:</STRONG><UL><LI>A <STRONG>mass conversion tool</STRONG> developed internally by SAP Services to automate workbook migration</LI><LI>Expert-led <STRONG>migration assessments</STRONG>, scoping, and planning workshops</LI><LI>Support for functional validation and post-migration support</LI></UL></LI></UL><P><FONT size="5" color="#333333"><STRONG><FONT face="arial,helvetica,sans-serif">Technical and Operational Concerns:</FONT></STRONG></FONT></P><P><STRONG>Will our existing SAP BW system (e.g., BW 7.5) still be compatible with BEx tools if we don't upgrade Office?</STRONG></P><UL><LI>Technically, your SAP BW 7.5 system will continue to support the excel independent BEx tools (BEx Query Designer) until the end of its own maintenance (mainstream until December 31, 2027, and extended until 2030).</LI><LI>However. excel dependent tools (BEx Analyzer/Workbooks, BEx Broadcasting – Pre-calculation server) will have end of mainstream maintenance support by October 14, 2025 and <SPAN>will enter customer-specific maintenance effective October 15, 2025</SPAN>.</LI></UL><P><STRONG>If we are planning to move to SAP BW/4HANA, what is the role of BEx tools in that landscape?</STRONG></P><UL><LI>BEx tools are not supported with BW/4HANA and already has replacement path</LI><UL><LI>BEx Analyzer / Workbooks à Analysis for Office (Conversion)</LI><LI>BEx Broadcasting (Pre-calculation server) àBI Java Broadcasting / BOBJ scheduling / SAC Publication (Rebuild)</LI><LI>BEx Queries à Queries (No changes)</LI><LI>BEx Query Designer à Eclipsed based BW-MT Modeling tool (Modeling tool change)</LI></UL></UL><P><STRONG>If customers continue using BEx Analyzer / Workbooks / BEx Broadcaster with Office 365 or newer platforms, and something breaks, will SAP support incidents still be accepted?</STRONG></P><UL><LI><SPAN>BEx Analyzer and BEx Precalculation will no longer be supported in mainstream maintenance and will enter customer-specific maintenance effective October 15, 2025.&nbsp;</SPAN></LI><LI><SPAN>After the start of customer-specific maintenance,&nbsp;Customers can continue to report issues via customer cases as usual. Technical Support and downstream support teams will continue to accept and process customer cases during the regular message processing.&nbsp;</SPAN></LI><LI>The reported error is analyzed.<UL><LI><SPAN>If&nbsp;the error is already known and has been fixed, the known solution will be made available to the customer.</SPAN></LI><LI><SPAN>If the error is not known yet, it is regarded as a new, as yet unknown error. In this case, SAP will use its discretion to either decline the correction, or may choose to offer a fix depending also on the complexity of the issue and the feasibility of providing the fix. However, this will be regarded as a consulting service and may be subject to additional charge</SPAN></LI><LI><SPAN>You may speak with your Account Executive or Customer Engagement Executive about Professional Services options in order to avail SAP's consulting services that may be subject to additional charge</SPAN></LI></UL></LI></UL><P><STRONG>Since BEx Analyzer is tightly coupled with SAP GUI for Windows, will SAP continue to deliver SAP GUI updates (compatible with BEx) for the full NetWeaver 7.5 maintenance window (i.e., through end of 2027 or 2030 extended)?</STRONG></P><UL><LI><SPAN>The BI Frontend patch 600 of BI 7.0 ADDON FOR SAP GUI 8.00 is the last BI Frontend patch to still contain regular bug fixes for BEx Analyzer and BEx Precalculation that are provided as part of regular mainstream maintenance. All subsequent BI Frontend patches will no longer contain regular bug fixes for BEx Analyzer and BEx Precalculation. However, SAP will continue to include both BEx Analyzer and BEx Precalculation as part of the standard BI 7.x Frontend patches in future also, i.e. even after FEP 600.</SPAN></LI></UL><P><STRONG>Will our existing BEx Queries still work with the BEx Query designer tools?</STRONG></P><UL><LI>You can still design and maintain queries using BEx Query Designer until the end of 2030</LI><LI>If you are running BW 7.5 on HANA or BW/4HANA, you also have the option to use the Eclipse-based BW Modeling Tools (BW-MT) for query design and modeling</LI></UL><P><STRONG>Are there any plans to support BEx Analyzer and BEx workbooks beyond October 2025, especially for customers planning their BW strategy over the next several years with SAP BW 7.5 PCE?</STRONG></P><UL><LI><SPAN>&nbsp;BEx Analyzer and BEx Precalculation will no longer be in mainstream maintenance and will enter customer-specific maintenance effective October 15, 2025.</SPAN>.</LI></UL><P><FONT size="5" color="#333333"><STRONG>Conversion Questions:</STRONG></FONT></P><P><STRONG>When we convert a report from BEx to AFO, does the output stay in the same format (ie same data in same columns)?</STRONG></P><UL><LI>Mostly Yes, the table structure and measure/dimensions are replicated like in the source system, which includes respecting common filtering conditions.<UL><LI>Underlying query logic is preserved when opening BEx workbooks in AFO.</LI><LI>However, UI rendering, formatting, and charting might look different as AFO uses Excel's engine, so custom formatting from BEx might need manual tweaks.</LI></UL></LI></UL><P><STRONG>Is there any limitation on the data AFO can access/any reason to think that if we have something in a BEx report we can’t get it in an AFO report?</STRONG></P><UL><LI>No, additional BW authorizations should be required to refresh a BEx Query in Analysis for Office compared to BEx Analyzer.</LI></UL><P><STRONG>How do users access AFO?&nbsp;Does it depend/matter which SAP GUI users are on?</STRONG></P><UL><LI>Analysis for Office is a client tool which will need to be installed on the end user’s machines. There is no dependency on SAP GUI. Refer to <A href="https://support.sap.com/content/dam/launchpad/en_us/pam/pam-essentials/AO_28_PAM_Additional_Info.pdf" target="_blank" rel="noopener noreferrer">https://support.sap.com/content/dam/launchpad/en_us/pam/pam-essentials/AO_28_PAM_Additional_Info.pdf</A> for more details</LI></UL><P><STRONG>What are the limitations of conversion of BEx to AfO Workbooks using Mass Conversion tool?</STRONG></P><UL><LI>The following features are not automatically converted but required some adjustment: Styles​, Conditions, Exceptions​, VBA API​, Navigation Panes, Dropdown Boxes, Button​s</LI><LI>The workbooks with given features can be identified during the Pre-Assessment</LI></UL><P><STRONG>How can we ensure functional parity when replacing BEx queries with modern tools?</STRONG></P><UL><LI>SAP reporting tools such as Analysis for Office, Business Objects Business Intelligence, and SAP Analytics Cloud do not replace the need for BEx Queries. Instead, BEx Queries are consumed by these solutions to query the data.</LI></UL><P><STRONG>For conversion effort, let say few thousand of server workbooks were saved in the BW. Is there a way to assess which are effectively in use?</STRONG></P><UL><LI>Yes, Pre-assessment service from SAP will identify the Workbooks (saved on BW server) which are frequently used. Local workbooks saved on user desktop can not be identified as part of this assessment.</LI></UL><P><FONT face="arial,helvetica,sans-serif" size="5" color="#333333"><STRONG>License:</STRONG></FONT></P><P><STRONG>What are the licensing implications when moving from BEx to new tools like SAP Analysis for Office or SAP Analytics Cloud?</STRONG></P><UL><LI>SAP Analysis for Office and SAP Analytics Cloud required additional licensing which is not provided with an SAP BW license. Please discuss the options with your <STRONG>Account Executive</STRONG>.</LI></UL><P><STRONG>Is license for Analysis for office based on number of users?</STRONG></P><UL><LI>Analysis for Office, Standard Edition is available to use if you have a BusinessObjects license.</LI><LI>Analysis for Office, SAC Edition is available if you have an SAC subscription. The SAC Edition does require you to have an SAC user, so it is effectively user-based licensing.</LI></UL><P><STRONG>Do customer need to buy additional license if they already have BOBJ license?</STRONG></P><UL><LI>No, <STRONG>every BOBJ license also includes Analysis for Office</STRONG>.</LI></UL><P><FONT face="arial,helvetica,sans-serif" size="5" color="#333333"><STRONG>Planning and Next Steps:</STRONG></FONT></P><P><STRONG>What are the first steps we should take to prepare for the BEx end of support?</STRONG></P><UL><LI><STRONG>Assess your current BEx landscape:</STRONG> Identify all BEx reports, their usage, and dependencies.</LI><LI><STRONG>Educate stakeholders:</STRONG> Inform relevant business and IT teams about the upcoming changes and their implications.</LI><LI><STRONG>Evaluate replacement tools:</STRONG> Understand the features and capabilities of SAP Analysis for Microsoft Office and SAP Analytics Cloud.</LI><LI><STRONG>Develop a migration plan:</STRONG> Outline timelines, resources, and a phased approach if necessary.</LI></UL><P><STRONG>Who should be involved in planning and executing the migration from BEx?</STRONG></P><UL><LI>A cross-functional team is ideal, including IT (SAP BW/BI specialists), business users from various departments who rely on BEx reports, and may be project management.</LI></UL><P><STRONG>What kind of training will our users and developers need for the new tools?</STRONG></P><UL><LI>Users will need training on how to use SAP Analysis for Microsoft Office or SAP Analytics Cloud for report consumption, ad-hoc analysis, and potentially report creation.</LI><LI>Developers will need training on the new development environments and best practices for the chosen replacement tools</LI></UL><H2 id="toc-hId--64981798" id="toc-hId-1731339553"><FONT size="5">Conclusion:</FONT></H2><P>We have made every effort to cover the important FAQs, however we understand you may have additional questions. Please refer to standard SAP guides or Feel free to use the comments section to ask them. We are committed to keeping this blog up-to-date with the latest information. We hope this has been a helpful resource.</P> 2025-05-27T05:16:16.873000+02:00 https://community.sap.com/t5/welcome-corner-blog-posts/easy-to-get-in-sap/ba-p/14224653 Easy to get in SAP 2025-09-22T22:39:15.645000+02:00 maher_aljubaily https://community.sap.com/t5/user/viewprofilepage/user-id/2255877 <P><FONT size="5"><STRONG><span class="lia-unicode-emoji" title=":rocket:">🚀</span> 3 Simple Steps to Break Into the SAP World (No Overwhelm!)</STRONG></FONT><BR />Want to join the $300B+ SAP ecosystem but don’t know where to start? Here’s how to dive in without complexity:</P><P><U><FONT size="4">&nbsp;<span class="lia-unicode-emoji" title=":keycap_1:">1️⃣</span> Start with FREE Learning</FONT></U><BR />- Explore SAP Learning Hub (free tier): Bite-sized courses on ERP, S/4HANA, and cloud solutions.<BR />- Try SAP Community: Tutorials, forums, and real-world use cases. No cost, just curiosity!</P><P><U><FONT size="4"><span class="lia-unicode-emoji" title=":keycap_2:">2️⃣</span> Pick Your Path</FONT></U><BR />- For Tech Folks: Learn ABAP (coding) or SAP BTP (low-code/no-code tools).<BR />- For Business Roles: Focus on Finance (FI), Supply Chain (MM), or HR (HCM) modules.<BR />- Tip: Start with one module (e.g., SAP S/4HANA Cloud) instead of boiling the ocean.*</P><P><U><FONT size="4"><span class="lia-unicode-emoji" title=":keycap_3:">3️⃣</span> Get Hands-On FAST</FONT></U><BR />- Use SAP Free Trials: Test real systems via GROW with SAP (for new users) or RISE with SAP sandbox.<BR />- Join SAP’s Partner Ecosystem: Many offer free workshops and certifications (e.g., SAP Learning Journeys).</P><P><U><FONT size="4">&nbsp;<span class="lia-unicode-emoji" title=":light_bulb:">💡</span> Key Mindset Shift </FONT></U><BR />&nbsp;"SAP isn’t just for IT pros—it’s for *problem-solvers. If you understand business processes (finance, logistics, sales), you’re already halfway there."</P><P><FONT size="4"><U>&nbsp;<span class="lia-unicode-emoji" title=":white_heavy_check_mark:">✅</span> Your First Move Today: </U></FONT><BR /><span class="lia-unicode-emoji" title=":backhand_index_pointing_right:">👉</span> Bookmark: [SAP Learning](<A href="https://learning.sap.com" target="_blank" rel="noopener noreferrer">https://learning.sap.com</A>)<BR /><span class="lia-unicode-emoji" title=":backhand_index_pointing_right:">👉</span> Join: [SAP Community](<A href="https://community.sap.com" target="_blank">https://community.sap.com</A>)<BR /><span class="lia-unicode-emoji" title=":backhand_index_pointing_right:">👉</span> Try: Free SAP S/4HANA Cloud trial (search "SAP Free Trials").<BR />and don't forget to look at Youtube&nbsp;<span class="lia-unicode-emoji" title=":grinning_face_with_big_eyes:">😃</span></P><P>You don’t need a Ph.D. in tech—just a structured start. What’s your SAP goal? Let’s chat below! <span class="lia-unicode-emoji" title=":backhand_index_pointing_down:">👇</span><BR /><BR />Warm Wishes&nbsp;<span class="lia-unicode-emoji" title=":sparkling_heart:">💖</span></P> 2025-09-22T22:39:15.645000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/how-to-identify-selections-used-in-rkfs-in-rows-columns-of-bw-bex-queries/ba-p/14230347 How to Identify Selections Used in RKFs in Rows/Columns of BW/BEx Queries 2025-10-09T12:28:22.271000+02:00 Srinivasasa_D_M https://community.sap.com/t5/user/viewprofilepage/user-id/752537 <P>In continuation of my previous blog (Section 5 of <A href="https://community.sap.com/t5/technology-blog-posts-by-members/all-about-bex-query-elements-in-sap-bw-bw4hana/ba-p/13903710" target="_blank">All about Bex Query elements in SAP BW/BW4HANA - SAP Community</A>), this post focuses on example involving <STRONG>Restricted Key Figures (RKFs)</STRONG> in SAP BW/BEx queries.</P><P>In this blog, I explain the best way to <STRONG>extract or identify the selection criteria</STRONG> applied in RKFs that are used in the <STRONG>rows or columns</STRONG> of a BW/BEx query.</P><P>When a query contains only a few rows or columns (e.g., 5–10), it's relatively easy to manually check the selections used in each RKF. However, in more complex reports such as <STRONG>Balance Sheet</STRONG> or <STRONG>Income Statement</STRONG> reports with over 50 rows manually checking each row or column becomes time consuming and inefficient.</P><P>To overcome this challenge, we can leverage backend SAP BW tables to extract the relevant details and analyze them in Excel. The key tables involved in this process are:</P><UL><LI><STRONG>RSRREPDIR</STRONG> – Query directory</LI><LI><STRONG>RSZELTXREF</STRONG> – Element cross-reference</LI><LI><STRONG>RSZRANGE</STRONG> – Selection ranges</LI><LI><STRONG>RSZELTDIR</STRONG> – Element directory</LI></UL><P>By correlating these tables, we can efficiently retrieve the selection criteria used in RKFs that are used in the <STRONG>rows or columns</STRONG> of a BW/BEx query, saving significant manual effort.</P><P><FONT size="4"><STRONG><U>Steps to Identify Selections Used in RKFs in Rows and Columns of a BW/BEx Query.</U></STRONG></FONT></P><P class="lia-align-justify" style="text-align : justify;"><STRONG>Step 1:</STRONG>&nbsp;In the Table RSZCOMPDIR / RSRREPDIR enter the query technical name in the field COMPID to obtain the COMPUID of the query.<span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="Screenshot 1 : Output of RSRREPDIR table" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/321112i136610EDF5C0C977/image-size/large?v=v2&amp;px=999" role="button" title="1.png" alt="Screenshot 1 : Output of RSRREPDIR table" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 1 : Output of RSRREPDIR table</span></span></P><P class="lia-align-justify" style="text-align : justify;"><FONT size="3"><STRONG>Step 2:</STRONG>&nbsp;In the RSZELTXREF table, enter the COMPUID of the query (from step 1) in the field SELTUID to obtain TELTUID.</FONT><span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="Screenshot 2 : Output of RSZELTXREF table" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/321117i05A1783BD19367A1/image-size/large?v=v2&amp;px=999" role="button" title="2.png" alt="Screenshot 2 : Output of RSZELTXREF table" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 2 : Output of RSZELTXREF table</span></span></P><P class="lia-align-justify" style="text-align : justify;"><FONT size="3"><STRONG>Step 3:</STRONG>&nbsp;Again, in the RSZELTXREF table, enter TELTUID (from step 2, where LAYTP = ‘SOB’) in the field SELTUID and execute the table.</FONT><span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="Screenshot 3: Output of RSZELTXREF table" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/321122i57CC003A8E65005F/image-size/large/is-moderation-mode/true?v=v2&amp;px=999" role="button" title="3.png" alt="Screenshot 3: Output of RSZELTXREF table" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 3: Output of RSZELTXREF table</span></span></P><P><FONT size="3"><STRONG>Step 4:</STRONG>&nbsp;Again, in the RSZELTXREF table, enter TELTUID (from step 3, where LAYTP = ‘COL/ROW’) in the field SELTUID and execute the table.</FONT><span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="Screenshot 4 : Output of RSZELTXREF table" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/321135iDEDE4F5036CCC4A7/image-size/large/is-moderation-mode/true?v=v2&amp;px=999" role="button" title="4.png" alt="Screenshot 4 : Output of RSZELTXREF table" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 4 : Output of RSZELTXREF table</span></span></P><P>Note : If there are direct selections (i.e., no RKFs) used in the rows/columns of the query, you can skip Step 5&nbsp;&amp; 6&nbsp;and proceed directly to Step 7.</P><P class="lia-align-left" style="text-align : left;">Step 5:&nbsp;Again, in the RSZELTXREF table, enter TELTUID (from step 4) in the field SELTUID and execute the table.<span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="Screenshot 5 : Output of RSZELTXREF table" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/321145i637E716A1D00FEAE/image-size/large/is-moderation-mode/true?v=v2&amp;px=999" role="button" title="5.png" alt="Screenshot 5 : Output of RSZELTXREF table" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 5 : Output of RSZELTXREF table</span></span></P><P>Repeat Step 5 until the RSZELTXREF table returns zero entries.</P><P class="lia-align-left" style="text-align : left;"><STRONG>Step 6:</STRONG> Collect all TELTUID values from the previous steps into an Excel sheet and remove any duplicates.<span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="Screenshot 6 : List of all TELTUIDs from all steps" style="width: 859px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/321328iC689077BC91EA61D/image-size/large?v=v2&amp;px=999" role="button" title="6.png" alt="Screenshot 6 : List of all TELTUIDs from all steps" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 6 : List of all TELTUIDs from all steps</span></span></P><P><STRONG>Step 7:&nbsp;&nbsp;</STRONG>Go to the <STRONG>RSZRANGE</STRONG> table and enter the TELTUID&nbsp;values (from Excel) into the SELTUID field. Execute the table to retrieve the <STRONG>selection details</STRONG> used in the rows and columns.<span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="Screenshot 7 : Selection details" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/321332i5DDC39172E1AFFED/image-size/large?v=v2&amp;px=999" role="button" title="7.png" alt="Screenshot 7 : Selection details" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 7 : Selection details</span></span></P><P><STRONG>Step 8:&nbsp;</STRONG>Open the <STRONG>RSZELTDIR</STRONG> table and enter the same TELTUID&nbsp;values (from Excel) into the SELTUID&nbsp;field. Execute the table to get the <STRONG>technical names and descriptions</STRONG> of the elements.<span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="Screenshot 8: Technical names and descriptions of the elements" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/321333iE758016A2F7D4DB9/image-size/large?v=v2&amp;px=999" role="button" title="8.png" alt="Screenshot 8: Technical names and descriptions of the elements" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 8: Technical names and descriptions of the elements</span></span></P><P><STRONG>Step 9:&nbsp;</STRONG>Download the outputs from Step 7 and Step 8 into Excel. Use the <STRONG>VLOOKUP</STRONG> formula to match and enrich the selection data from Step 7 with the descriptions from Step 8&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="Screenshot 9 : Final output with all required details" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/321334iDF0B4961DB36DF66/image-size/large?v=v2&amp;px=999" role="button" title="9.png" alt="Screenshot 9 : Final output with all required details" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Screenshot 9 : Final output with all required details</span></span></P><P><FONT size="3"><STRONG>Conclusion :&nbsp;</STRONG>In complex SAP BW/BEx queries, especially those used in financial reports with numerous rows and columns, manually identifying selection criteria in Restricted Key Figures (RKFs) is inefficient. By leveraging backend BW tables such as <STRONG>RSRREPDIR</STRONG>, <STRONG>RSZELTXREF</STRONG>, <STRONG>RSZRANGE</STRONG>, and <STRONG>RSZELTDIR</STRONG>, users/Developers can systematically trace and extract RKF selections. This approach enables efficient analysis in Excel, significantly reducing manual effort and improving transparency in query design.</FONT></P><P><STRONG>Happy Learning&nbsp;</STRONG><span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:">😊</span></P><P>&nbsp;</P> 2025-10-09T12:28:22.271000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/simple-understanding-of-hierarchies-in-sap-s-4hana-embedded-analytics-part/ba-p/14274085 Simple understanding of Hierarchies in SAP S/4HANA Embedded Analytics– Part 1 (Basics) 2025-11-21T12:47:55.322000+01:00 PriyRatanShukla https://community.sap.com/t5/user/viewprofilepage/user-id/1864914 <H3 id="ember53" id="toc-hId-1894651232">Accurate CDS hierarchy modeling and understanding is critical for financial reporting and operational analytics. Without well-defined hierarchies, drill-down analysis and aggregated insights become challenging. This blog demystifies hierarchy concepts in SAP S/4HANA Embedded Analytics and shows how they power SAC,Multidimensiona Reports , AFO and Datasphere scenarios.This blog will give you the basic understanding of Hierarchies in CDS Views (S4 Hana)</H3><H3 id="ember55" id="toc-hId-1698137727">What This Blog Covers</H3><UL><LI>Common hierarchy terminologies</LI><LI>Types of hierarchies in CDS Views</LI><LI>Standard hierarchies in S/4HANA</LI><LI>Why custom hierarchies matter</LI></UL><H3 id="ember57" id="toc-hId-1501624222"><BR />1. Key Terminologies-</H3><P class="">Before diving into implementation, let’s clarify the basics:</P><UL><LI><STRONG>Root Node </STRONG>: Top-most node in the hierarchy. Has <STRONG>No parent</STRONG>. Signifies the Hierarchy Structure and contains the Hierarchy metadata. A hierarchy can have several root nodes.</LI><LI><STRONG>Hierarchy Node </STRONG>: Represents a group or element in the hierarchy.</LI><LI><STRONG>Parent Node </STRONG>: A node that has child nodes beneath it.</LI><LI><STRONG>Child Node </STRONG>: Belongs to a parent node.</LI><LI><STRONG>Leaf Node </STRONG>: Lowest node in the hierarchy (end point).</LI><LI><STRONG>Hierarchy Directory </STRONG>: Stores hierarchy definitions.</LI><LI><STRONG>Siblings </STRONG>: Nodes sharing the same parent.</LI><LI><STRONG>Hierarchy Level </STRONG>: Indicates depth of a node in the hierarchy. Levels can be defined as 0,1,2,3 . In S/4 EA change level based hierarchies to Parent child hierarchies .</LI><LI><STRONG>Recursive Hierarchy</STRONG>: Nodes can reference themselves (e.g., Org Structure). Implemented using <STRONG>self-association</STRONG> in CDS.</LI><LI><STRONG>Hierarchy Node Texts</STRONG>: These contain the descriptive names or labels associated with the hierarchy nodes, typically derived from the related master data (for example, the name or description of a General Ledger account or Product Hierarchy Description).</LI><LI><STRONG>Orphan nodes</STRONG>, These are the nodes missing a link to a root. You can choose to ignore them, raise an error, or promote them as alternative roots using annotations like ORPHANS = ROOT</LI></UL><HR /><H3 id="ember60" id="toc-hId-1305110717">2. Example of a Hierarchy-</H3><PRE><CODE>Company → Product Category → Product → Variant Shoe Model 1 </CODE></PRE><P class="">Example:</P><UL><LI><STRONG>Company (ABC Corp)</STRONG>&nbsp; → Root Node -&gt; The top most node in hierarchy (Defined via Hierarchy Directory and <EM>Root node has no parent defined</EM>)---- To be discussed in details in another Part 2.</LI><LI><STRONG>Product Category (Footwear)</STRONG>&nbsp; → Child of Company-&gt;A Parent Node for Product but this is not the Root node(Since it has Company as a Parent Node).</LI><LI><STRONG>Product (Shoes)</STRONG>&nbsp; → Child of Product Category-&gt;Parent Node for Variant</LI><LI><STRONG>Variant (Shoe Model 1)</STRONG>&nbsp; → Leaf Node-&gt;Lowest Node in the hierarchy</LI></UL><P class="">&nbsp;In SAP: For <STRONG>Cost Center</STRONG> or <STRONG>Profit Center</STRONG> hierarchy, <STRONG>Controlling Area</STRONG> could be the root node.</P><HR /><H3 id="ember65" id="toc-hId-1108597212">3. Types of Hierarchies in CDS Views-</H3><P class="">In <STRONG>S/4HANA Embedded Analytics</STRONG>, hierarchies are modeled using CDS annotations. Most common type:</P><UL><LI><STRONG>Parent-Child Hierarchy <span class="lia-unicode-emoji" title=":link:">🔗</span></STRONG> Always recursive. Each node references its parent, forming a tree structure. Example: Cost Center hierarchy where each cost center belongs to a higher-level.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="hier2.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/343306i9EBAFBA9803859A0/image-size/large?v=v2&amp;px=999" role="button" title="hier2.png" alt="hier2.png" /></span>&nbsp;</P><UL><LI><STRONG>Level-Based Hierarchy</STRONG> <STRONG><span class="lia-unicode-emoji" title=":link:">🔗</span></STRONG>Not supported in S4 Hana Embedded analytics as Analytical engine supports only Parent Child Hierarchy for drill downs and aggregations.</LI></UL><P class=""><STRONG>CDS Annotation Example</STRONG>:</P><PRE><CODE>@Hierarchy.parentChild: { recurse:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; parent: 'ParentNode',&nbsp;&nbsp; child:&nbsp; 'HierarchyNode'&nbsp;&nbsp; }, siblingsOrder:&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; by: 'SequenceNumber',&nbsp;&nbsp;&nbsp; direction: 'ASC'&nbsp;&nbsp; }, directory:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '_Hierarchy' }</CODE></PRE><HR /><H3 id="ember71" id="toc-hId-912083707">4. Standard Hierarchies in S/4HANA-</H3><P class="">SAP delivers several predefined hierarchies:</P><UL><LI>Cost Center Hierarchy – For controlling and cost reporting</LI><LI>Profit Center Hierarchy – For profitability analysis</LI><LI>GL Account Hierarchy – For financial statements</LI><LI>Product Hierarchy – For material classification</LI><LI>EHS Location Hierarchies – For Environment, Health &amp; Safety compliance</LI></UL><HR /><H3 id="ember74" id="toc-hId-715570202">5. Custom Hierarchies-</H3><P class="">Business requirements often demand custom hierarchies:</P><UL><LI>Example: A sales region hierarchy combining geography and product lines.</LI><LI>Implemented using CDS Views by developing a relation between Dimension Views and Hierarchy View.</LI></UL><HR /><H3 id="ember77" id="toc-hId-519056697">6. Why Hierarchies Matter?</H3><UL><LI>Enable <STRONG>drill-down reporting</STRONG> in SAC or Fiori Multidimensional Reports/AFO.</LI><LI>Support <STRONG>aggregations at multiple levels</STRONG></LI><LI>Provide <STRONG>flexibility for planning and analytics</STRONG></LI></UL><HR /><H3 id="ember79" id="toc-hId-322543192">7. Technical Details: Where Hierarchies Are Stored-</H3><UL><LI><STRONG>HRRP_NODE_N Table</STRONG>: Stores <STRONG>Parent Node info</STRONG>, hierarchy node level details, and relationships between nodes(Example where GL Account/Profit Center/Cost Center Hierarchy details are stored).</LI><LI><STRONG>HRRP_DIR_N Table</STRONG>: Stores <STRONG>Hierarchy Directory info</STRONG> (name, version, metadata).</LI></UL><P class=""><span class="lia-unicode-emoji" title=":backhand_index_pointing_right:">👉</span>When you activate or create a hierarchy (standard or custom), these tables are updated.</P><UL><LI><STRONG>HRRP_NODE_N</STRONG> = Node-level details (Parent-Child relationships)</LI><LI><STRONG>HRRP_DIR_N</STRONG> = Directory-level details (Hierarchy header info)</LI></UL><H3 id="ember83" id="toc-hId-126029687">8. Hierarchy Components &amp; Annotations-</H3><UL><LI>A well-defined hierarchy in CDS has multiple views:</LI></UL><P class=""><STRONG>Source(Master Data) View</STRONG>: Provides key fields and relationships (Eg GL Account/Cost Center/Product related details).<BR /><STRONG>Hierarchy View</STRONG>: Contains the relationships and parent–child links. Eg - Hierarchy(Child) Node, Parent Node, Node levels etc.<BR /><STRONG>Directory View</STRONG>: Provides metadata about hierarchy variants -- Optional.<BR /><STRONG>Text Views</STRONG> for labeling nodes and directory entries . Eg: GL account and it's text/ Cost center and it's text etc.</P><P class="">Proper annotations (@Hierarchy.parentChild, @ObjectModel.dataCategory: #HIERARCHY) control recursion, sibling order, orphan handling, and directory association</P><P class=""><STRONG><EM>Notes</EM></STRONG><STRONG>:</STRONG></P><UL><LI><STRONG>Parent–Child Hierarchy: </STRONG>Supported in CDS for analytics; recursive structure.</LI><LI><STRONG>Level-Based Hierarchy: </STRONG>Not supported in CDS for analytical consumption (only parent–child works for drill-down).</LI><LI>Orphan nodes = Nodes without a parent.</LI><LI><EM>A Parent Node can have multiple Hierarchy Nodes/Child nodes but a hierarchy node cannot have multiple parents</EM></LI><LI>A node can appear under different parents <STRONG>in different hierarchy versions</STRONG>, not in the same hierarchy( It usually refers to <STRONG>alternate hierarchy versions or variants</STRONG>, not simultaneous parents in the same hierarchy. For example:</LI></UL><P class=""><STRONG>Hierarchy Variant/Version 1</STRONG>: Region → Country → City</P><P class=""><STRONG>Hierarchy Variant/Version 2</STRONG>: Sales Channel → Country → City.This is managed via <STRONG>Hierarchy Directory</STRONG>.</P><UL><LI>A CDS hierarchy cannot serve as the underlying source for building another CDS hierarchy.</LI></UL><HR /><H3 id="ember95" id="toc-hId--145715187">Next Article (Part 2)</H3><UL><LI>How to <STRONG>activate Standard hierarchies and develop Custom Hierarchies in CDS Views</STRONG> (S4 Hana EA).</LI><LI>How to <STRONG>consume hierarchies in SAC</STRONG></LI></UL> 2025-11-21T12:47:55.322000+01:00