It's done. We've won. The Grand Vizier of Budget Constraints has been thwarted; the Sultan's eyes were opened and the business case has shown him the light. At long last we've upgraded to SAP BW 7.5 on HANA. We're no longer under the tyrannical and constrictive rein of our legacy SAP BW 7.01 system. So what now? What's changed?
Let me take you on a magical carpet ride covering the new functionality we can take advantage of with BW 7.5 powered by HANA.
Into which cave shall we venture?
Before we go any further and explore our cave of wonders, we should clarify which flavour of BW 7.5 we’re talking about. As I mention in my last blog on the topic, we have the choice between SAP BW 7.5, edition for SAP HANA - best served to Greenfield and new installations or SAP BW 7.5 powered by HANA - the typical choice when upgrading from an existing SAP BW environment. It’s in the latter where we’ll find our magic lamp; let’s give it a rub...
A whole new development environment
The first thing that we BW developers are going to notice when we sit down to our system is that we now have two systems to logon to. We still have the traditional SAP GUI that we all know and love AND we have the shiny new (well, relatively new) SAP HANA Studio. Based on the Eclipse development platform, HANA Studio has already been around for a while for native HANA administration and development. Some BW capabilities have actually been available also, but it’s only now with BW 7.5 that the capabilities are truly coming into their own and allowing us to (almost) leave SAP GUI behind.
One thing to note though, is that we won’t get too far with just HANA Studio. We also need to make sure we have the BW Modelling Tools (BWMT) and ABAP Development Tools installed. Thankfully this is a simple process which is nicely detailed here.
Traditional SAP GUI versus BW Modelling tools within HANA Studio
A new fantastic point of view – Creating BW objects within HANA studio
Now that we’re all setup and our eyes have adjusted to the glare, let’s take a look at some of the differences we’ll see when we start creating new BW objects in HANA Studio. As of SP4, we can now create all of the data modelling artefacts you’d want within HANA Studio including Composite Providers, Advanced DSOs, InfoObjects, Open ODS Views and Data Sources, to name just a few. I haven’t listed them all but you may be wondering about the absence of a few classic InfoProviders. These have been consolidated into the new object types based on data persistence requirements as part of SAP’s ‘Simplification’ strategy.
For now we’re going to have to live with creating our transformations and dataflows within the traditional GUI, but fear not; moving this functionality to HANA Studio has already been earmarked by SAP as one of the forthcoming planned innovations.
If you’re worried that those 3x objects you haven’t gotten around to migrating will no longer work – fear not! They’re definitely still supported however you should probably start to think about getting to and migrating those objects, or better yet – redesign them to take advantage of our shiny new tools. Go on, you know you want to.
The Advanced DataStore Object (ADSO) is arguably the most key object within BW on HANA. It’s a native HANA object with the performance of data loads and activations optimised for HANA. This makes it a great place to start, so let’s take an example of creating an ADSO. As within SAP GUI we do this by right-clicking on the InfoArea (another object you can create within HANA Studio) and selecting New > DataStore Object (advanced) and we’ll be presented with a wizard which looks very similar to what we’d be used to. We can create the ADSO from scratch, based on a template or copy another ADSO.
Once we click Finish, the first thing we’re presented with is the General tab of our new ADSO; this is where we’re able to configure activation settings and other properties. Via these properties, we’re able to replicate the functionality of our traditional BW InfoProviders i.e. if we remove data activation and change log writing we have essentially made a Write-Optimised DSO. Rather than configuring these settings manually, we can also make use of Model Templates which will apply the settings based on Classic Object type, position of the InfoProvider within the LSA++ or by Planning functionality.
We can also configure the InfoProvider to utilise SAP HANA Dynamic Tiering (so that its data is only stored in the persistence layer) and we can select to have an External SAP HANA View to allow us to perform native HANA modelling on our object if we wish too.
Within the Details tab is where we choose the fields which will be loaded into our persistent InfoProvider. We no longer have the concept of dimensions as we no longer make new InfoCubes, but we have a smart Group function available to us which allows us to collect similar InfoObjects (or Fields, but we’ll get to that later) into a folder-like structure for ease of use. Here we also select which fields make up the keys of our ADSO and we can maintain the aggregation properties of our key figures.
Finally, within the Settings tab we can configure Partitions and Indexes if we wish to use them.
Shining, shimmering, splendid – Field-based modelling
Don’t you just ’love’ creating hundreds of InfoObjects in order to integrate data into BW? Even better when those InfoObjects won’t be storing Master Data and just hold raw data? Me neither! Thankfully someone has heard our prayers and with the introduction of field-based modelling, we only need to create InfoObjects when we want to.
We can perform our data modelling on field level raw data directly or we can define InfoObjects and map our data when we really need to. ADSOs can store data against fields and/or InfoObjects and OpenODS views, the new HANA equivalent of a VirtualProvider, can also provide a BW semantic view of data based on either fields or InfoObjects. Fields can later be integrated with InfoObjects via association if a reuse requirement ever presents itself. This simplistic and flexible approach to data modelling means you won’t need a genie to make your business intelligence wishes come true.
From street urchin to prince – BEx gets Eclipsed
While we’ve gained a development tool in HANA Studio, we’ve been able to relegate another to the underworld. The functionality traditionally performed by BEx Query Designer is now fully embedded into HANA Studio in the form of the new Query Designer. With this we can create and modify queries as usual (including queries created in the original BEx) with all of the usual functionality, but this isn’t just a case of putting lipstick on a pig, we’re also gaining a raft of new features too:
- The ability to generate HANA views from our BW queries via the ‘External SAP HANA View’ checkbox - this will expose our query and allow us to further leverage HANA modelling opportunities or consume the data directly via SQL.
- Creation of SAP HANA Exit type BW Variables - where previously we would have created Customer Exit variables within ABAP that would have been executed within the application layer, we now have the ability to use variables with the processing pushed-down to our HANA database. We can also use these with our HANA views too.
- Inbuilt data preview - Those of us who have done any data modelling in HANA Studio will attest to how refreshing it is to be able to quickly check the output of a HANA view in the Data Preview tab. Now we have this power at our fingertips for BW queries too – magic!
More wishes! Processing transformations in HANA
We all know the rule - we can’t wish for more wishes, but luckily our genie hasn’t limited us to just three when it comes to improvements with BW 7.5. The above enhancements are great and help simplify and reduce our effort when it comes to data modelling and query development, but they don’t truly harness the power of HANA’s incredible in-memory processing abilities – HANA-based expert routines on the other hand, most certainly do.
Traditionally transformations, specifically expert routines, were processed on the application server. Wherever possible, we want to turbocharge this processing by pushing it down to the HANA database. With simple transformations, you will see that this is possible with the SAP HANA Execution Possible flag checked.
With more complex business rules that require us to programmatically determine the transformation logic however, simply writing an Expert Routine within ABAP as we’re used to will not result in the processing being pushed to HANA. To do this, we need to create a SAP HANA Expert Script. This is achieved by following the menu path Edit > Routines > SAP HANA Expert Script Create.
This will delete our current transformation and replace it with a SAP HANA Expert Script which is in the form of an ABAP Class that will execute our Expert Script.
We need to open this class within the ABAP perspective in HANA Studio and this is easily accomplished by using the ABAP Object Search tool.
After finding and opening this Global Class, we’ll be then presented with some very familiar looking code. You could be mistaken for thinking it’s a regular Expert Routine but it is in fact, SQL Script – the language we’re going to have to get comfortable with if we really want to get to make the most of our HANA database.
It’s now up to us to fill in the Method PROCEDURE with the custom logic which we wish to have applied to the source data as it is transformed into the result data.
Once we’re happy with our code, we activate it within HANA Studio and return to SAP GUI and also activate our new SAP HANA Script Processing transformation.
We can now see the fruits of our labour when we go to execute our DTP and see that Processing Mode is set to Parallel SAP HANA Execution.
There you have it. Yes, it’s still a bit fiddly I know, but the ultimate plan is to have everything embedded into HANA Studio. Until that time though, we can get our transformations to run in-memory in just a few simple steps.
And cue the soundtrack
So from new development environments and processes to a sample of how we can leverage and harness the power SAP BW 7.5 Powered by HANA, I hope this has given you a flying start as to how you and your organisation can realise your own
Arabian Nights BW on HANA dream. As for me, I'm going to find my Jasmine!