BW advanced Modelling part 3 Open ODS

BW Advanced Modelling Part 3 Open ODS

Open ODS views:
Open ODS views enable you to define BW data models for objects like database tables, database views or BW DataSources (for direct access). These data models allow flexible integration without the need to create InfoObjects.
       
Purpose of Open ODS view: Faster agile modeling capabilities when using external data sources.

ODS Views allow to consume external data sources in BW without staging, combine data sources with BW models and physically integrate (load) external data sources by creating DataSources.

Open ODS view allows data sources to be virtually consumed without the need for a separate BW persistence for the data. These data models can be located in a database schema (of the SAP HANA database in BW), which is not managed by BW. Alternatively, the models can be located in other databases, which can be connected to the SAP HANA database in BW using SAP HANA Smart Data Access.
Benefits of Open ODS View:

  • Flexible and easy integration of external data models
  • Agile modeling combining infoObjects and field based modeling
  • Integrated modeling environment between HANA and BW
  • Enhanced business flexibility by supporting “the logical EDW”
  • Reduces data modeling efforts .

Creation of Open ODS View:
Open ODS views enable you to define BW data models for objects like database tables, database views or BW DataSources (for direct access). These data models allow flexible integration without the need to create InfoObjects.
Go to SAP HANA studio → BW Modeling Tools.
To create an Open ODS, right-click on your InfoArea and choose Open ODS view.
  

Provide the following details such as technical name of the DataSource, Descripation and select Semantics and Source type and click on finish.

Now click on the Facts and look into the details of the source. 

Next is to check and activate BW object.

You can also analyze the result in the Problems log of this perspective.
   

Need additional assistance? Contact us today!

S4 CDS views and enhancements

S4 CDS Views and Enhancements

How to Create CDS View in SAP HANA Studio

ABAP programmers create SQL DDL source and activate to create CDS views in SAP HANA Studio running on Eclipse known as Core Data Services view. SAP HANA database provides great performance boosts for transactional and analytics processes on ERP systems. CDS views, user defined functions, stored procedures are created on HANA database using SAP ADT tools including SAP HANA Studio. ABAP developers can not create CDS view or change DDL sources of SAP HANA repository objects using SE11 transaction.

What does DDL stands for?

In database terminology, DDL stands for Data Definition Language which differs from DML, Data Manipulation Language.

As you can guess, SQL DDL or SQL Data Definition Language commands enables developers and database administrators to manage metadata operations like creating database objects including tables, views, function, stored procedures, etc. Using an appropriate SQL DDL command database professionals can alter existing database objects or delete them ,too.

Backup or restore operations, and many other SQL commands related with database tasks rather then tasks with manipulating data are SQL DDL statements.

On the other hand, DDL commands are directly related with data itself. The transactions taking place on a database table, like inserting a new row, or updating data in a table, deleting data from table, MERGE commands are Data Manipulation Language commands, aka DML statements.

SQL Server developers use Transact-SQL, Oracle developers use PL/SQL for DDL and DML tasks.
Now with SAP HANA, ABAP programmers can create DDL objects like SQL Views, Stored Procedures, User-Defined Functions (skalar functions or table valued functions) on database level.
To create database objects on SAP HANA database, ABAP developers will use SQL DDL afterwards.

What does CDS stands for?

CDS stands for Core Data Services in SAP HANA database terminology.
CDS documents are design-time source code files showing the definition and SQL DDL source of the database objects SAP HANA developers want to create.
When an ABAP programmer creates a CDS document, a SQL DDL source file with .hdbdd file extension.

When the SAP HANA developer activates CDS file (Core Data Services) a corresponding runtime object (a database catalog object) is created in the current database schema.

Create CDS View in SAP HANA Studio

First of all, launch SAP HANA Studio

CDS views are different than database views
In SE80 Object Navigator SAP transaction, ABAP programmers can create database view or using SE11 tcode classic views can be edited in ABAP Workbench tool.
On the other hand, to create a DDL source like creating a CDS view, SAP HANA Studio is the required IDE for developers.

After SAP HANA Studio started, you can connect to target SAP system where you want to create the CDS view.
Add the ABAP Package into the Project Explorer window of the Eclipse integrated development environment.
I want to create a local ABAP dictionary object, so I’m going to add the new CDS view into my local package.

As you can see in below SAP Hana Studio ABAP perpective screenshot, I’ve already imported local package $TMP into the project.

Right click on the package. Follow context menu selections: New > Other ABAP Repository Object
 

Choose DDL Source under Dictionary objects node. Then click Next for following screen in the wizard. We will create a Data Definition  document using this selection.
 

Enter the view name and a description for your new DDL SQL view.
Click Next if you want to transfer this ABAP dictionary to an other system with a transport request.
 

As expected since I’m creating my first CDS view in local ABAP package, $TMP no change recording is enabled for package $TMP.
If I was creating an object to distribute to other SAP systems like productive systems, I will be choosing an existing transport request number or create a new transport request here.
Click Next.
 

Last screen in the wizard enables ABAP programmers to choose a template to create DDL SQL View easily. There are a few numbers of templates with short explanations and code samples. Then Click on finish.
 

After you select your SAP HANA SQL DDL source template, click Finish button.
In Eclipse on a new window the starting source codes for the DDL SQL view is displayed.
 

You see the DDL source is listed among local package objects under node:
$TMP > Dictionary > ABAP DDL Sources nodes.

Until we activate the DDL Source document After we activate ABAP DDL source, corresponding DDL SQL view will be shown under Views node.

Note: It is important to notice that the DDL Source name of the view definition is “ZODATA_DEMO_PARAMS”.
We define the DDL Source name right after “define view” statement.

On the other hand, the CDS view name which will be generated as an ABAP repository object is different.
ABAP programmers define the CDS View name visible on SE11 transaction is set at the first line of the template.
@AbapCatalog.sqlViewName is used to define the SAP CDS View name.

Please use different names for DDL Source name and CDS View name in the code.
Otherwise, during activation ABAP programmers will get an exception preventing the CDS view creation and which is not very informative.

Note: I have named the CDS view as “ZODATA_DEMO_PARAMS” which is different than the DDL Source name ”ZV_ODATA_DEMO_P”.

  1. Add @AccessControl.authorizationCheck: #NOT_REQUIRED (line3)
  2. Add the annotation @OData.publish: true above the DEFINE VIEW statement (line5).

After adding the annotation to CDS View save and activate the view.
 

Now the view has generated objects but the service “ZODATA_DEMO_PARAMS_CDS “ is not active.

To active the CDS view log on to the back end system and use the transaction code – /n/IWFND/MAINT_SERVICE.

Enter the System Alias here it is “LOCAL_PGM” and Technical Service Name ”ZODATA_DEMO_PARAMS_CDS” .

Then click on Get Services.
 

Select the Service display below and click on ‘Add Selected Services’.
 
 

In the next window, At Creation Information give the Package Assignment “$TMP” and click on continue.
 

Hence the Service “ZODATA_DEMO_PARAMS_CDS” as been created.
 

To display CDS view data, right click on CDS View name, and choose Open Data Preview in context menu.
 

Enter the P_CARRID:
 

Here is sample data for CDS view displayed in Data Preview tool in SAP HANA Studio.

Need additional assistance? Contact us today!

Converting MultiProvider to Composite Provider

Converting MultiProvider to Composite Provider

Converting MultiProvider to Composite Provider:

Composite Providers are used to combine multiple InfoProviders using Join or Union operations. When you use SAP BW on HANA, one of the InfoProvider should use in-memory database and the data in composite providers can be used for reporting and analysis.

When you use SAP BW with non-HANA database, then BWA is a prerequisite to create Composite Providers. The primary advantage of Composite Providers is that you can create new complex business scenarios by converting an existing InfoProviders.

We can convert an existing Multi Provider to Composite Provider by following procedure.

Log on to SAP BW system and enter the Transaction code: SE38 it takes you to the below Screen.
 

In the  above Screen enter the Program name RSO_CONVERT_IPRO_TO_HCPR to convert the InfoProvider to Composite Provider and Click on Execute.

Enter the name of the Source InfoProvider and Target InfoProvider.Set the Execution Mode to Tranfer Infoprovider and quries,retain query names. Click on execute .
 

The following Screen displays all the logs of the Composite Provider.
 

 Now Active the Composite Provider /change the version M to A.
 

Hence the Composite Provider is created.
 

Click on the Display Data to preview.
 

Advantages:

  • Support of planning functionalities for UNION cases
  • Possibility to create a Composite Provider on top of Composite Providers (only UNION supported)
  • Use of Open ODS views as Source Objects and allowing JOINS to be used
  • Support of navigational attributes (familiar to the use of navigation attributes in MultiProviders)
  • Support of input parameters when Open ODS views are used as source objects.

Need additional assistance? Contact us today!

Predictive Scenario on Regression

Fiori – BOBJ integration with SSO

Fiori – BOBJ integration with SSO.

Requirement

Considering Fiori Launchpad as global point of entry for SAP applications, Users always want to see analytical content in the same place. To avoid users launching Business Objects documents via portal or BI Launchpad separately, this document outlines the process of integrating Fiori with Business Objects

Tools used

SAP Business Objects enterprise – BOBJ 4.1 SP4

Design studio – 1.6 SP02

SAP Gateway, Fiori

 Architecture

 

Configuration – (Assuming, the sapgateway protocol is https (which is most likely to be))

Configuring BOBJ Platform

Enable https on BOBJ web application server, no backend https is required.  I am using Tomcat in this example

  • Use Keytool in tomcat java home bin directory to create a self-signed keystore

 

keytool -genkey -alias tomcat -keyalg RSA –keystore keystore.jks.

This command will create a self-signed keystore named keystore.jks under keytool home   directoty

  • Please export self-signed certificate in .crt format.

keytool -export -alias tomcat -keystore keystore.jks –file https.crt

This command will create https.crt in same directory.

  • Generate SSO certificates and keystore files using PCKS12 tool

Windows location : \SAP BusinessObjects Enterprise XI4.0\java\lib

Windows Command :  “\SAP BusinessObjects Enterprise XI 4.0\win64_x64\sapjvm\bin\java” -jar PKCS12Tool.jar -alias bobj -storepass password -dname CN=BOS

The above command generates keystore and cert.der files .

Stop the tomcat, navigate to /conf/server.xml . Edit the server.xmlfile as below

Uncomment the https entries and add below parameters.

keystoreFile=”keystore.jks” keystorePass=”password”

 

Restart the tomcat , https links should work .

Configuring Fiori server

Install the https.crt ( certificate generated from keystore.jks )  into fiori abap stack using the below command at OS level

sapgenpse.exe maintain_pk -p -a https.crt

Configure SAP gateway to forward the requests to BOBJ platform.

wdisp/system_ = SID=BOE, EXTSRV=https://bod:8443 SRCSRV=*:8000 SRCURL=/BOE/

On the ABAP front end server using T code Strustss002 , please import the SSO certifictes generated by BOBJ Platform.

Setting up single sign on on BOBJ Platform

1) Add the ABAP front end as the entitlement system in CMC

2) Import the required Roles and keystore in CMC

3) Setup SAP ABAP stack to send SAP Logon Tokens

Now create a Tile in Fiori Launchpad, redirecting to BOBJ Design studio Opendocument link.  The navigation should work seamlessly



 

Shiva Prasad Aluri

Fiorified BI Launchpad

Fiorified BI Launchpad

Quick picks 

Url to access – http://server:port/BOE/BILaunchpad

Security Changes – Yes, new right needs to be granted 

Old Version – No confusions please, Classic BI launchpad still available and can be used for many advanced functions. In my opinion, new launchpad is strictly a consumer interface.

First Look 

Changing preferences 

Go to User profile > Click on settings

The setting are very similar to classic BI Launchpad. 

    Users can set preferred Landing tab

    Pixels for web-based look

    Hide/show totals for Analysis OLAP

By default the landing page navigates to Home Tab (with Show all selected). Users can change the documents to view as below

Context Menu 

Context menu of Tile/document can be launched by clicking the 3 dots at bottom on each tile, which lists all the properties of the document

Context menu is similar to right-click on report in classic BI. Below options available under the context menu

Working with Categories

Document tiles in new BI Launchpad can be grouped by categories.( Standard BOBJ categories). Security can be configured at CMC level. Documents can be tagged to categoris from context menu.

Once the document is assigned to a category . changing the landing page view to categories will display all categories .

Viewing standard BI folders

Once you login to BILaunchpad, select Folders Tab which displays all the folders for which the account has access to.

 

Bharat Sunkari

Managing Partner – Tek Analytics

Need additional assistance? Contact us today!

How to Import wildcard certificate into Tomcat

Predictive Scenario On Classification.

The document discusses on how to enable https on BOBJ web application server and import the wild card CA trusted certificate.

Enabling the https

Enabling https on the web application (Tomcat in this case) requires generation of key store and self-signed certificates using in-built keytool or openssl

Using command line navigate to \SAP BusinessObjects Enterprise XI 4.0\win64_x64\sapjvm\bin

Run the below command, this will generate a keystore.jks file at keytool home directory, copy it to another folder say (C:/SSL)

keytool -genkey -alias tomcat -keyalg RSA –keystore keystore.jks

Export the .crt self-signed certificate using the below command

keytool –export -alias tomcat -keystore c:\SSL\Keystore.jks -file c:\ssl\tomcat.crt

A self-signed certificate tomcat.crt will be stored under C:\SSL folder.

Stop the tomcat

Open server.xml file. Location – /conf

Uncomment the https entry and add the below parameter.

keystoreFile= “location of keystore.jks file” keystorePass=”password”

Restart the tomcat, now https links to BI-Launchpad and CMC should work

https://server:httpsport/BOE/BI

https://server.httpsport/BOE/CMC

Importing the wild card certificate

By following the above process, https links will work as expected. However, a certificate not-trusted warning will appear on the browser which is expected. The reason for this is Tomcat certificate is self-signed but not CA signed

To overcome this error, you can create .CSR file and send it to CA providers , who in return provide certified CRT files. Use the below commands to import the same

Keytool –import –trustcacert –alias tomcat –keystore keystore.jks –file cacertified.crt

If you have root certificate, please import the same into root alias.

Most of time, internal CA have wildcard certificates for the domain already, importing those will be little bit tricky. Importing the wildcard certificate into same alias will give “Public keys mismatch error”. Please follow the below process to import.

Using Openssl tool convert the required wildcard.crt certificate into pfx format

openssl pkcs12 -export -in wildcard.crt -inkey wildcard.key -out C:\SSL\wildcard.pfx

the above command will generate a wildcard.pfx under C:\SSL folder.

Stop the tomcat and make the below changes to https entries

keystoreType =”PKCS12” keystoreFile=”wildcard.pfx” keystorePass=”password”

Restart the tomcat.

All set, now the tomcat will be using the internal wildcard certificate.

 

 Karthik Addula

Need additional assistance? Contact us today!

Fiori Look Web I Interface – BOBJ 4.2 SP4

With BI 4.2 SP4, the new Fiori look BI Launchpad is introduced. The new portal is addition and is not replacing the classic BI launchpad.

This Blog is intended to walk through the options available while viewing a Webi report in New BI Launchpad. Once the user Logs into New BI Launchpad, all the documents will be shows as tiles.

Comparison (Look) with Old BI Launchpad

Below are the quick options available in the new interface for the end user. 

By default, the report opens in normal interface and user can switch to advanced interface by choice. Below Screenshot shows the quick options available. 

By Switching to Advanced interface, all the interactive options will be active. Users can quickly Rank/sort the data in the report

Changing Prompt values 

Unlike classic BI launchpad , there is no in-built design applet for new version. There is an option to “Open in designer” which will takes you to Old version through Opendoc link 

Karthik Addula

Principal Architect

Need additional assistance? Contact us today!

Custom Alert Icons in Design Studio

Custom Alert icons in Design studio

I would like to share an easy and effective solution that I tried a couple of days ago for one of my business requirements. The business users already had a lot of xcelsius dashboards in production that were built a few years ago and I was converting one of the dashboards to Design studio. One of the key feature that is not directly available in Design studio is to display alerts on the crosstab. Xcelsius had a variety of options to display these alerts and the users were very specific on having a particular kind of alerts shown up on the dashboard. So, this is what I did and I thought it would be helpful for some others as well.

 

  • Design studio crosstab has a property to display conditional formatting on the dashboard. There are a handful of options to enable the conditional formatting on Design Studio Crosstab. Some of the straight forward methods are
  1. Enabling Exceptions on BEx query level and having the same conditional formatting carried forward to Design Studio
  2. Using the data source (BEx query or HANA View) in AO and enabling conditional formatting using AO and getting a smart copy of the data set as a data set in to design studio
  3. Smart copy from Analysis office

However, all of these options have their own limitations in terms of visual alerts that can be displayed. For Ex: AO Conditional formatting offers only 3 different types of icons to be displayed.

 

This limitation can be overcome using CSS changes at the design Studio level to use any kind of status alert to be displayed on the crosstabs of the dashboard.

 

This is how it can be done:

  1. Create an Analysis Office report with the required data source

  1. Apply Conditional formatting on the column needed using the “Conditional Formatting” button on the top menu.

  1. After applying conditional formatting on required measure, the report will look like below screenshot. Right click on the report and click on option “Smart Copy”. This will copy the Data source along with the settings that are made like dimension and measure selection, any background filters applied in the AO report and Conditional formatting also. This Smart copy can be used as a data source in Design Studio. The AO report need not be saved anywhere in the repository.

 

  1. Once you “Smart Copy” the AO report, you will be able to see an option “Smart Paste” when you right click in the “Data Sources” section of Design Studio.

  2. Once you “Smart Paste” in design Studio, this will become a data source just like all other data sources that are directly added via BICS connections in Design Studio. You can perform all operations on this data source that are allowed by Design Studio on all other data sources.
  3. Once you add a crosstab in Design Studio and set the property of Conditional formatting as ‘true’ in the properties section of the crosstab, the conditional formatting that you set in AO will be visible in the design studio crosstab.

  1. Now, if you want to change the kind of visual alert that is being displayed on the crosstab, there is no direct option to do so in design studio client tool itself. But it can be changed using CSS scripting as below.
  2. Run the dashboard in a browser and hit F12 to open debugger mode. There is an option called “DOM Explorer” in the F12 console. You can tackle each and every minor CSS detail using the DOM Explorer by selecting the Mouse events button and clicking anywhere needed on the dashboard.

 

  1. There are few CSS Classes assigned by default, to all the conditional formatting that is enabled on the crosstab. All we have to do is fetch for the CSS class that is providing the images as alerts for crosstab and change the image to our desired image by using a new CSS file. To find out which css class is being used for the Green Traffic light icon, I just opened the F12 console and using the mouse events button, I clicked on the green traffic light icon.

  1. Once I click on the green icon, there is some information collected in the F12 console regarding the icon. (in the below screenshot sapzencrosstab-DataCellAlert3StatusSymbol is the CSS class assigned to all the green color traffic lights in the crosstab.) The right side pane shows more detail specifications of the CSS class like background, position, color and image used etc.

 

  1. Now to replace the existing image with a Green colored Tick mark ( business requirement in my case), I have to use the same CSS class in a new CSS File and copy the same CSS properties from the F12 console. In place of the default ‘background-image’ that is visible in the F12 console, I need to replace it with my desired image.
  2. To do so, we cannot directly post an image (.png or .jpg) file on the repository and reference it in the CSS file. We have to convert every image into base64 format (lot of sites available to convert .jpg/.png to base 64)

  1. Once you get the Base64 code for the image, you have to reference it in the CSS File as below

 

  1. Reference this CSS File as your Custom CSS file in the design studio dashboard and the alert icon will now be changed to a new icon

 

You can change the icons similarly for other alerts also using a different CSS class which can be found in the same F12 console.

 

 

Happy designing.

Naveen Mamidi

Tek Analytics BI Practice