Quantcast
Channel: SAP Business Explorer (SAP BEx)
Viewing all 45 articles
Browse latest View live

APD Report Output with Negative Sign

$
0
0

Purpose: Making data available from BW system to another system is common and regular activity.

 

When extracting data from Report or any other sources we may have negative values like 100- , while updating same data to flat files , we may have requirement inverse negative values from 200- to -200.

 

Here is the solution.

 

  1. Drag the report
  2. Add ROUTINE transformation
  3. Connect report to ROUTINE transformation
  4. Double click on ROUTINE transformation add required fields from Field List to Source Flds
  5. In TargetFlds Tab add one extra column along with normal amount filed. Here SIGN_AMT type 0txtlg

 

Untitled.png

  1. Write code as like below in ROUTINE tab of ROUTINE transformation.

DATA:


ls_source TYPE y_source_fields,
ls_target
TYPE y_target_fields,

   res_amt(60) type c.

 

 

LOOP AT it_source INTO ls_source.

if ls_source-amount lt 0.
clear: res_amt.

res_amt = ls_source-amount * -1.
concatenate '-' res_amt into
ls_target
-sign_amt.

CONDENSE ls_target-sign_amt NO-GAPS.
else.

 

ls_target-sign_amt = ls_source-amount.
CONDENSE ls_target-sign_amt NO-GAPS.
endif.

 

    APPEND ls_target TO et_target.
ENDLOOP.

 

Note:

 

  1. You have to assign remaining fields source to target
  2. Create target like Direct DSO or flat file and connect ROUTINE transformation to data target
  3. Execute APD

 

 

 

Thank you,

Nanda


BI reports safety belt in Portal and Bex Analyzer

$
0
0

Hi All,

 

Here is my first blog post ..


As SAP suggested few safety belt s-notes to avoid server(JAVA stack) crashes and improve the fastness of server.

 

Many end users will run the BEx reports without filter or will run entire year data, in this cases, server will go slower or will create issues(slowness) for  other end users when they try to execute reports in portal. For avoid those issues - go below

 

Set Bex report execution limitation in Portal:

By default Bex report execution cell  limit is 10,00,000. This has to set lower(based on client requirement. Example 650000 cells

Check default settings in below table.

 

Se16>> table “ RSADMIN “ execute.  (If don’t have any setting’s for

BICS_DA_RESULT_SET_LIMIT_DEF or BICS_DA_RESULT_SET_LIMIT_MAX  please set )

 

Diff b/w DEF and MAX:   DEF – when the user ran the report,  limitation is DEF number. If the user wants to extend the cell limit, end users can increase MAX limit by clicking SETTINGS option.

 

Set values:  se38 >> programe SAP_RSADMIN_MAINTAIN >> execute (F8) then provide the parameters

BICS_DA_RESULT_SET_LIMIT_DEF = 500000 cells

BICS_DA_RESULT_SET_LIMIT_MAX  = 650000 cells then OK. We can modify also my clicking modify if wants to change the cell limit.

 

Portal execution limit msg.jpg

 

entend limit in web.jpg

 

 

For more details see s-note: 1127156

 

Set BEx report download to Excel/PDF limitation in Portal:


These limitations enhance the above settings.

The memory consumption may be larger for the export to Excel or to PDF than for the execution in the Web; therefore, a lower value can be specified as the safety belt for Excel and PDF.

BICS_DA_RESULT_SET_LIMIT_XLS =300000

BICS_DA_RESULT_SET_LIMIT_PDF = 300000

Execution default limit is 500000 and Max limit is 650000 in portal but download to excel/pdf is 300000 cells only if we set XLS and PDF setting in RSADMIN table.

 

Message when Excel limit cross.

 

excel.jpg

After Open Excel:

 

excel mesg.jpg

 

 

Message when PDF limit cross.


pdf.jpg



pdf msg.jpg


For more details see s-note: 1622134

 

 

Set report execution limitation in BEx Analyzer:


We know BEx reports can execute in Web and Analyzer.

We discussed web Safety belt setting in above. Below Analyzer settings.

 

ANALYZER_LIMIT_DEF: The default number of maximum cells if no further setting is specified. The default number can be overwritten locally in BEx Analyzer for each data provider.

ANALYZER_LIMIT_MAX: the absolute maximum number of cells (see below). The maximum number cannot be overwritten in BEx Analyzer.


ANALYZER_LIMIT_DEF=500000

ANALYZER_LIMIT_MAX = 750000


Message when cross limit:

Analyzer msg.jpg

For more details see s-note: 0001411545


How to select Max limit in Analyzer


After executing the report in Analyzer click the workbook settings as shown below for increasing the MAX limit. Increasing MAX limit is report specific.

 

Analyzer prop.jpg

Data Provider >> Properties

propertes.jpg

 


cell limit inc.jpg


Thanks

Nageswara Polaka


New tool for BW/BI integration and performance testing -> BExTest

$
0
0

How to perform integration tests of BEx Analyzer Workbooks and the corresponding queries?

 

We have all encountered this problem - new support packages are installed, changes are made to your BW production system and you are tasked with manually testing all your BEx workbooks to make sure that nothing is broken. This is a task which can easily take many hours or days and you can never guarantee that you did not overlook some query or query condition.

 

 

The solution

 

To help you in automating these integration testing tasks, there is a new product on the market: BExTest.

 

bextest1.png

In BExTest, you can define a set of BI queries and accompaning filter conditions.

These test sets can then be executed with two different test methods:

 

  • The queryies are executed and then compared to a stored set of query result files.
  • They are executed against two different environments, e.g. your production and your testing environment to see if there are any differences between the results (that works of course only if the underlying data are the same).

 

Differences in the tests are highlighted and you get a verdict of Fail or Pass of your test run.

The queries are either executed by using the SAP webservice QUERY_VIEW_DATA or by controlling your BEx analyzer directly.

 

Because for every query the query response time is displayed, the tool is also suitable for repeated performance tests.

 

A command line client for windows is also available to run these integration tests automatically and to integrate BExTest to an existing automated test tool.

 

And there is a free evaluation version available, no registration needed!

 

 

What is your impression? Comments, questions and feature requests are welcome!

Trick to view BEx Variable Properties without going in edit mode

$
0
0

Hi Folks,

 

This is my first blog post in SDN and I want to share a simple Bex trick with you. Some of you might already know it.

 

while creating a BEx query, we often want to use the variables that are already available and ready for use. It is always recommened to re-use the objects instead of creating new ones. These re-usable objects may or may not be created by you or your collegues and you may want to confirm there behavior before you use them in your query. Sometimes its tricky to find which variable suits your requirements best, as you wouldn't know the purpose of all variables available for a certain characteristic. Here, you must note that for all the standard variables, SAP has mentioned their properties in description itself. However, if that not how your custom variable's description is mainatined as per given naming convetion then one needs to look at the properties of the variable to determine its behaviour.

 

The general way to check the Re-usability of a variable is to check the property of the variable and mostly its done by getting the required characteristic in the filter area, right click -> Restrict -> Variables. when the list of all variables on that characteristic is displayed then we select it and click on option 'Edit Variable' to see the properties.

 

Bex_Variable_edit.JPG

 

 

Here, theres a chance of altering the Variable values unknowningly, which will lead to change the behaviour of the variable across all queries.

 

so simpler way to check the variable properties without going in change mode is as follows.

 

in the infoprovider pane, expand on dimensions to the characteristic that you need.

Expand the characteristic further and you will see below 3 options, which can be further expanded.

 

1. Attributes

2. Characteristic Value variables

3. Characteristic values

 

Expand node 'Characteristic Value variables' and you will be able to see list of all the variables for that characteristic.

 

click on any variable and you will be able to see it's properties in the properties pane on the right had side of your Bex Query designer.

 

variable Properties.JPG

 

Here, you will be able to see all the properties of your desired Variable with ease and also they not in edit mode.

 

One more ease is in terms of checking out multiple variables.

 

 

Hope this helps you.

 

 

-Swati Gawade.

Reorganizing and deleting bookmarks

$
0
0

Bookmarks are saved navigational states of a Web application.In the bookmark functional area of the Reporting Agent,

one can manage the bookmarks created in the system for all BW system users.

Many a times we do not require the bookmarks and it needs to be reorganized or deleted.

 

Creation of Bookmarks in BI system:-

  •    in BEx Web Analyzer
  •    once you personalize a web application
  •    using Bookmark function in the context menu of a web application.

 

Reorganization of BookMark : -

 

we can follow below simple steps to reorganize bookmarks :-

 

1. Go to SA38

 

2. Run the report :-RSWR_BOOKMARK_REORG
1.png

3. you get the below screen to fill the details


General Criteria

 

Created by User: You can enter the user name .

Time of Attachment: Enter the timeframe.

 

Bookmark Points to Following Object

Type: Choose the basis of bookmark e.g a report, a query view etc

Technical ID: technical name of web template


1.png

 

 

4. Once you fill the details and execute it, gives you list of bookmarks , you can choose from to delete:-

 

 

1.png

 

we can delete/reorg the bookmark from Broadcasting tab of RSA1 as well.

 

we need to go to RSA1-->Administration -->Broadcasting --> Reorganization -->Bookmarks

 

 

1.png

then we choose bookmark:-

 

1.png

then we fill the no. of days  for deletion and reorg. and simulate in "Test Call".

 

1.png

 

it displays the simulated results of what it will do :-

 

 

1.png

you can confirm and re-run it by unchecking the "TestCall" for deletion.

Hope this helps you in deleting/reorganizing your bookmarks.

 

cheers,

vinay singh

How to build geomaps with BW/BEx data using SAP BusinessObjects BI Location Intelligence

$
0
0

This post is about geovisualization and spatial analysis of BEx data with SAP BusinessObjects BI Location Intelligence.

SAP BusinessObjects BI Location Intelligence is a geomapping extension for SAP BI (See SAP website).

 

We are going to see how to get the following map:

This post is specific to SAP Webi on BW/BEx.

You can look at thispostto get a similar topic specific to geomapping with Design Studio:

Interested in Location Analytics for Design Studio ? Take a look at this blog

It is assumed that 80% of enterprise data is geo-located and this will increase in the future with mobility, Internet of Things, and smart grids amongst other factors.


So what is a geolocated data

The most common geolocated data is a point location with Latitude/Longitude coordinates.

Note that coordinates can be defined according to different coordinate systems such as Lat/long in degrees and X/Y in meters just to give a couple examples.

Geolocated data can also be related to geographical areas such as zip code, counties, administrative boundaries or your own business location such as your points of sale, territories, technical assets or networks.

If you have the above type of data in your BW/BEx systems, you should be interested by this post.


Let's see how we can leverage this data through the power of SAP BI 4.x Web Intelligence and its Location Intelligence extension.

 

Step1- Build your Webi document using a BEx query


Here is a broad overview as the purpose of this post is not to go into the complex details. Refer to the following document to get more information about this:

http://help.sap.com/businessobject/product_guides/boexir4/en/xi4sp7_bex_queries_en.pdf

 

1. Build a BEx query with location lat/long coordinates and associated business measures.

This is done in SAP BEx Query Designer.

Check that your lat/long coordinates consist of numerical data.

 

2. Define a BICS connection to your BEx query

This can be done in the SAP BusinessObjects CMC or in the SAP BusinessObjects Information Design Tool.

You can define a connection to a single BEx query or to an InfoProvider containing several BEx queries.

 

 

3. Create a Web Intelligence query on your BEx query

  • Go and connect to the SAP BusinessObjects BI Launchpad
  • Create a new Webi document using the Rich Internet Application client

 

4. Add the appropriate data in your Webi query

  • Open the query panel to access the BEx query data
  • Add the lat/long coordinates and the required business measures
  • Add prompts / filters according business needs
  • Test your query to check that you get one record per location with coordinates and measures
  • Save and close your Webi document

 

And now, let's go for geomaps!

 

Step2- Add a geomap in our Webi report

 

1. Open your Webi report with the HTML Viewer (See user preferences)

 

2. Insert a map container in your report

  • Add a blank cell in your report
  • Define its size and properties according online help

 

Your report should look like this:

 

3. Go to the Cartography menu and choose Map Document:

 

4. Define the different settings in the map wizard below:

  • Choose a cartographic view among the ones made available by the administrator
  • Choose the viewer to use (Flex for advanced use, HTML5 for more intuitive UX)
  • Choose your Query with BEx data in the pick list
  • Choose the fields to use for X/Y coordinates

 

5. Submit your settings and refresh your Webi report to display the map

 

6. It's time to visualize your business data on your map

  • Go to the Menu Layers
  • Open the Thematic Manager
  • Add a Layer
  • Define the settings of the map visualization (Business measure, color, size...) in the following wizard

 

  • Apply to see the map as below:

 

 

In conclusion, you can get more insight on your BW/BEx data with dynamic geovisualization by taking advantage of the power of Webi and its Location Intelligence extension

Have a look on the new map we've got in a few seconds!

Just have refreshed the Webi query and subsequent BEx data and changed the background map and the visualization settings to a heatmap.

 

When your BEx report execution turns into 'Not Responding'

$
0
0

As BW developers, we expect users to show some patience when they are executing BEx queries. Even when the window turns to 'Not Respondin' for a while. If its a rare occurance then we disregard it attributing system performance or connection.  However, sometimes BEx query execution frequently turns our browsers to 'Not responding' and that can do tricks on your patience and nerves . In this blog post we will look at some of the possible causes behind it and try to think about the solutions for same.

 

 

Background:

BEx query executing runs for a long time and then turns into 'Not Responding' window.

 

Possible Causes:

 

 

OLAP calculations: Sometimes due complex design of RKF's and CKF's or presence of Cell references the query execution result into not responding.

           Solution:

·         Reduce the strain on OLAP calculation.

·         Try to get as many calculation as you can at data load level itself.

·         If possible limit usage of ‘Cell references’.

·         Characteristics having high volume can be moved into free characteristics area. Initial display of query result will be with small set of data.

·         Try to breakdown the query in simpler queries using Report-to-Report interface

·         Instead executing a complex query, consider saving the result if that query in a DSO using APD and then in a simpler query reading those results directly.

·         try to eliminate obvious performance hindering objects e.g. virtual characteristics/KFs

·         guide users to apply the drill downs in such a way that they happen only after certain filters are applied. This will increase the responsibility of users but atleast they will be able to see the result set.

·         Try the other tools/techniques that will help saving resources at query runtime.

    Huge Data set in background: Sometimes due to heavy dataset in the infoprovider may result into query execution result into not responding.

Solution:

·         Try to provide the complete selection criteria for the query. This will limit the data getting selected for query processing.

·         Make sure you have created Indices after data loads

·         Try to check the need to setting Cube partitioning, compression or introduction of Aggregates.

·         If BWA already exists for your server, then consider setting your cube for BWA

·         If possible, consider moving the selection criteria applied at RKF/CKF or local level to move at global default filter tab

C.SID Generation at Reporting.

Solution:

·         If your report is based on a DSO set to SID generation at reporting then try to change this setting to SID generation at load time

·         If possible, move your report on a infocube or Multiprovider.

D.System Performance:Sometime unavailability of system resources result into query execution result into not responding.

Solution:

·         If possible, increase the system processes available for query processing.

·         Run a SQL trace using ST05 and check the objects causing delay (http://scn.sap.com/docs/DOC-51233)

·         Make use of BW statistics to find a possible cause/solution

·         Wait for system resources to become available and try running query again.

·         Check for any Patch/Updates or Notes required to be applied to the system

Apart from these, generally running the 'Generate Report' option in RSRT works for our benefit too, to understand/resolve the issue.

   These are the one's that are curruntly top of my head. I will keep updating this post as and when newer causes and solutions make their apearance.

    -Swati Gawade.

 

Guided Procedure for BI Java Integration to ABAP

$
0
0

Dear Community,

 

8 years after the release of SAP Netweaver 7.0 and the introduction of BI Java Runtime as the official frontend for the 7.0 BEx Tools (WAD, Query Designer) we still have questions about the basics of its integration, configuration, which SPS levels are compatible between ABAP and Java, which BI Java SCAs must be updated, patch level 0 and so on and so forth...

 

Based on this I have put together as a "guided procedure" all the most important and relevant KBAs and Notes with this information. Please access that at the link below:

 

BI Java Guided Procedure

 

Should you have any comment or question, just let me know. Enjoy!

 

Thanks and Kind Regards,
Marcio


How to Display Unit/Currency as Separate column in BEx Analyzer

$
0
0

Blog Overview

In SCN community, noticed few people asking how to display unit as separate column instead of behind the value. Initial I thought its quite complex as we have only two options.

 

  1. Modeling level option: Create new Infoobject as characteristic and write routine/direct map(currency/unit object) in transformation to get currency/unit value and use in report, this option is good, if we know the requirement in initial phase like realization phase (while designing data model) after that it bit complex like once system Go-Live.
  2. Virtual Characteristics: Create new Infoobject as characteristic and write ABAP code to get currency/unit while BEx query execution however this will be less complexity if we compare with option 1. For virtual characteristics reference go to link SAP BW BEx Virtual Characters

 

However after thinking, got one more instant solution, we can derive currency/unit as separate column in query output by adding one extra FORMULA in BEx designer level.

 

Let See steps involved deriving currency/unit as separate column

 

Report output before implementing logic.

1.png

Logic :

 

  1. Add basic key figure "Amount"  to COLUMN and Rename "Amount BK" and Hide
  2. Create new formula Amount --> NODIM ( Amount ).
  3. Create new formula called "Currency" -- > ( ( Amount BK>=0 ) AND ( Amount BK<= 0 ) ) * Amount BK
  4. As like below screenshot.


2.png

 

Report output after implementing logic.


3.png

 

Note:

As I said its not permanent solution, because in above screenshot currency column act as key figure even though it has alpha values, it just tricky way of separating currency as in different column just for looking not for anything else and it does not support filter and other options, if business users required to provide selections/filters , I recommend select any one of two options which are discussed in this blog above.

 

Thanks for reading this blog.

 

Regards,

Nanda

How to Derive Status Column in BEx Designer (WITHOUT Virtual Characteristics/Modifying Data-model)

$
0
0

Blog Overview

 

Issue

In Past few years SAP BEx designer changed/improved and added few options, however never added an option like deriving characters/strings/flags or status based on business logic ( like Completed, Open, In-Progress, True Or False etc) to derive such values in BEx designer is very difficult and in most of the times it’s not possible also. Apart from this we have few alternatives to bring characters/strings in BEx Analyzer like VB Macros, HTML Script, Java Script, BEx Virtual characteristics or adjusting data targets by adding infoobjects and writing ABAP program to populate desired values as per the business requirement.


Alternatives

  1. Virtual Character
  2. Adjusting Datamodel (modifying data target by adding extra infoobjets)
  3. VB Macros

 

Pros and Cons:

To implement above three alternatives we  require extra maintenance/time and may lead to performance issues while ET&L and Analyzing data and also in few scenarios full data drop & reload is required.

Workaround

Let’s take below example

 

Table

 

 

   Sales Region

   Status

   Sales in %

   AUSTRALIA

A = Best

  1. 24.90 %

   CANADA

C = Bad

  1. 1.33 %

   CHINA

B = Better

  1. 17.34 %

   GERMANY

C = Bad

  1. 1.33 %

  INDIA

B = Better

  1. 16.20 %

   JAPAN

C = Bad

  1. 1.34 %

  N KOREA

C = Bad

  1. 1.36 %

  S KOREA

B = Better

  1. 15.96 %

  SINGAPORE

B = Better

  1. 17.34 %

  UK

C = Bad

  1. 2.50 %

 

In above table to derive “Status” column it may require virtual characteristics or add infoobject to data target and write ABAP program.

 

Solution to bring “Status” column in BEx designer without writing ABAP code/Virtual char and modifying data model.

 

ROWS

Add Sales Region Infoobject and below this infoobject create new structure

As like below.

 

1.png

Right click on Structure and create 3 selections (Best, Better and Bad)

 

A = Best

B = Better

C = Bad

 

Keep the all selections (A, B and C) empty (do not drag & drop any char or key figure) as like below

 

2.png

 

COLUMNS:

 

Add key figure into columns and copy same key figure two times as like below and hide one key figure

 

3.png

Now, go to “Cell” Editor TAB

 

4.png

As shown below screenshot

5.png

Repeat same steps remaining B = Better and C = Bad “Cells” as above screen

 

How to derive “Sales in %”

 

Go to “Cell” TAB and write logic in “New Formula”

6.png

My logic as like below

7.png

 

Repeat above step for B = Better and C = Bad , as per your requirement

 

Report Output

 

8.png

Changes for Better Look & Feel of Report output

 

  1. Now in report output CANADA having “Better” sales, so I do not want display remaining status like A = Best and C = Bad

 

Settings

 

Select “Structure” and Right side you able to see structure Properties

Select  “Display” TAB and un-check “Structure as Group: Only apply suppression if all elements are 0” as like below

 

Screenshot:

9.png


  Select Report Properties and select options as like below screenshot

 

10.png

Now, you can see only “Results” which are required for us.

 

11.png

 

This Solution will work for similar scenarios as like below

 

12.png

 

Thanks for reading this Blog.

 

Regards,

Nanda

Reporting Statistics Report in SAP BW

$
0
0

In BW Reporting scenarios, business or application manager who deals with the BW reporting requires a report, how many times does the report executed by which user, on what timing, DB time at the time of query execution, frond end time etc. can be determined in a single report. Below are the custom report details,

 

  1. On initial, the BW Administration cockpit is installed as a pre-requisite.

 

    2.  Create a custom query based on the Multiprovider (0TCT_MC01) which provides data form the Info provider Front-End and OLAP Statistics (Aggregated).    This Multiprovider provide proper information with satisfying the requirement.

 

Rows:


Calendar Month (0CALMONTH)

Report Name (0TCTBISBOBJ)

User (0TCTUSERNM)

 

Note: Please chose property Display Result Rows with "Always Suppress".

 

Columns:


Number of Executions (0TCTQUCOUNT)

Duration (OLAP) (0TCTTMEOLAP)

Average Duration (OLAP) – Calculated Key Figure (Time OLAP (0TCTTMEOLAP) / Count for BI ApplObj (0TCTQUCOUNT)

 

Free Characteristics:

 

Calendar Day (0CALDAY)

 

Note: If you require at what time the report is executed, please include the filed Time Stamp of Report execution.

         Please chose property Display Result Rows with "Always Suppress".

 

Filter:


BI Appl. Obj. Type (0TCTBISOTYP) – Include ELEM (Which Selects Reports only)

 

Calendar Month (0CALMONTH) – User Entry Variable, which provides selection to the User to select which Month data required

Info Provider (0INFOPROV) – Include Only Info Provider (0TCT_C01)

 

User (0TCTUSERNM) - User Entry Variable, which provides selection to the User to select which User data required

 

Report Name (0TCTBISBOBJ) - User Entry Variable, which provides selection to the User to select which Report data required

 

Object Version (0TCTOBJVERS) – Include Only Active Version (A)

 

BI System (0TCTSYSID) – Add SAP Exit Variable (0P_SYSID)

 

3. On successful creation of the query, execute the report and it will displays the below output,

 

Variable Screen:


 

Report Output based on the Variable entry selections:


How to verify a Workbook last used date

$
0
0

Hi BEx community,

 

These days I came across a requirement to find out when was the last used date of a certain Workbook. I could not find an easy way to enter the Workbook title and simply get the Workbook last used date information.

 

 

Anyway, I just found a three steps way to find out this useful information (let's say you want to clean-up some unused Workbooks and want to make sure it was not used for the last couple of years, for instance). Below I describe how I found the Workbook last used date.

 

 

1- Make sure the system is collecting statistics for the given Workbook:

 

Enter transaction RSDDSTAT on BW backend, go to tab 'Workbook' and make sure the statistics are turned ON for this specific Workbook, otherwise you might no rely on this guide, since the Workbook might have being used but no statistics are being generated.

You can find more information about Configuring Statisics Properties on this link.

 

27-07-2015 15-51-52.jpg

 

2- Get the workbook_id information:

 

The Workbook statistics are saved under the workbook_id information and not it's title, so we need to get this information before filtering the statistic table. Enter table RSRWBINDEXT on se16 transaction, filter attribute TITLE by the Workbook name and copy the value on WORKBOOKID attribute.

 

27-07-2015 15-52-19.jpg

 

3- Filter statistic table RSDDSTAT_OLAP to get last used date and other information:

 

With the workbook_id, enter table RSDDSTAT_OLAP on se16 transaction and filter attribute OBJNAME = workbook_id.

Make sure the values returned are NOT being truncate by the Maximum No. of Hits (You might need to use the CALDAY attribute to restrict the result-set if this is the case).

Once you have the results, you can sort it by CALDAY attribute in descending way. This same CALDAY will show you the last day the Workbook was used.

You can find other information such as UNAME: user that executed it; UTIME: time it was executed; etc.

 

27-07-2015 15-53-08.jpg

 

Hope this little Blog Post can help you to easily find out the Workbooks last used date for whatever reason you might need it.

 

 

Cheers,

Eduardo

Few important commands in WAD in SAP BI - Part1

$
0
0

Web Application Designer (WAD) is used to design templates for the report embedded in it. Usually report simply provides an excel based output. In addition to this WAD can provide some extra functionalities or properties such as Links, Buttons, Back screens, Filter panels, Tickers, Drop downs, Radio buttons, List boxes, Hierarchical filter selection, Info Fields etc to the existing report. Here in this blog I would like to share few important commands used,

 

Suppression of Messages:


While executing the Bex Reports, sometimes we may come across some warning messages, which are not much harm for reports, but Users may feel that there is some issue with the reports. So in this case we should suppress those messages, this can be done through WAD using the Web Item "System Messages". We need to suppress the messages by selecting the property Visibility as "Hidden". Please find the below screenshot where the setting needs to be done,

 

 

Filter on Selected Record:


Sometimes users may like to filter a row based on a field (For Example: Organizational Unit). Please find the initial data available in the report below,

 

Organizational Unit

Organizational Manager

Employee

Location

Country

Sales

Karl

Nichol

New York

USA

Sales

John

Martin

New York

USA

Sales

Randy

Micheal

London

England

Finance

Eva

Jana

Munich

Germany

 

When User selects a row (Organizational Unit) on "Sales", User should see only data related to the Organizational Unit "Sales". Please find the data how it should display,

 

Organizational Unit

Organizational Manager

Employee

Location

Country

Sales

Karl

Nichol

New York

USA

Sales

John

Martin

New York

USA

Sales

Randy

Micheal

London

England

 

To achieve this type of functionality we should as below,

 

  1. Create a Button using the Web item "Button Group".
  2. Edit the description of the Button to "Filter Selected" and select a command "SET_SELECTION_STATE_BY_BINDING". Please find the details in the below screenshot,

 

 

3. Add the field for Selection after selecting above command.


 

As per the above screenshot, whenever user clicks on the row based on the field "Organizational Unit", it will filters out that data only and show as output.

 

How to remove filter after selecting a filter on a Row:


  1. Create one more Button and name as Back to Initial.
  2. Select a command "BACK_TO_INITIAL_DP_STATE". Please find the details in the below screenshot,

 

 

After selecting the above command, the screen of the report will move to the initial screen as below,

 

Organizational Unit

Organizational Manager

Employee

Location

Country

Sales

Karl

Nichol

New York

USA

Sales

John

Martin

New York

USA

Sales

Randy

Micheal

London

England

Finance

Eva

Jana

Munich

Germany

Few important commands in WAD in SAP BI - Part 2

$
0
0

In addition to the "Few important commands in WAD in SAP – Part 1", in this blog I would like to share few more useful commands those usually use in many reporting scenarios.

 

Context Web Item:

The Context Web Item is used to show many of the reporting properties such as Sort, Select Filter value, Remove Filter value, Broadcast, Go to (Report Report Interface), Export to Excel, Export to CSV, Global currency, Variable screen etc when we do right click on the reporting area in the report. The properties will work when there are proper settings maintained for the query in the back end.

 

Report Report Interface Command:


When there is a requirement to have a jump report from the existing query to another query by pressing a button. This is simply called RRI. To achieve this we need to follow the below procedure,

 

  1. Create an RRI functionality using the transaction RSBBS in the SAP BW backend.
  2. Open WAD and create a button.
  3. Add a Command "Command: RRI" to the button by mentioning the RRI functionality created in the backend. Please find the below screenshots for details on the settings and how to add properties,

 

 

Currency Conversion Command:


When there is a requirement to have a currency conversion on pressing a button. To achieve this we need to follow the below procedure,

 

  1. Create a Currency conversion using the transaction RSCUR in the SAP BW back end.
  2. Open WAD and create a button.
  3. Add a Command "Command: SET_CURRENCY_TRANSLATION" to the button by adding the properties for currency conversion in the back end. Please find the below screenshots for details on the settings and how to add properties,

 

 

Ticker Web Item:


Ticker Web Item is used to show the scrolling kind of information on the top of the Report. We can add some custom messages where we can understand few details by reading the scrolling information.

How to find "Where Used List of InfoObject Value In BEx Report",

$
0
0

Objective:

 

Every organization use multiple reports like Sales, Shipping, Billing and Profit & Loss to make good business decision. In this all areas we might have developed and used huge BEx reports, in all reports we might restrict (include/exclude) characteristics(like 0MATERIAL, 0PLANT) values 1001, 2002 for company codes, S01, S02 for Sales organization , Doc Type , Plant to meet business report requirement.

 

Every organization will expand their business, as part of business growth organization might merge or establish new plant, company codes, sales organizations etc.

 

Technical Impact due to organization changes.

 

Due to organization changes we might get into technical challenges/issues for example as part of business expand Company ABC new plant has been acquired (Plant 0567) and now I would like to include this new plant wherever already nearby plants (0545) included to same area manager to analysis inbound/outbound business data,  for this I need to search where existing plant 0545 is restricted so that I can include new plant 0567.

 

Approaches to find 0545.

 

  • Search manually respective reports in BEx designer like Filters Area, Default Area, Restricted Key Figure  and Selections, etc....might be restricted anywhere in report like cells, so its very tough job if its complex report's
  • Search in table level,  however its required skill like BEx tables and relationship between tables
  • Search through FM however its gives unstructured data, need to format and also it works one report at a time.

 

Solution "One Click Away"

 

So, I had written ABAP program which will give list of reports which are restricted by given Infoprovider/InfoObect and characteristics value.

 

 

Here we can search based on Multiprovider/InfoCube/DSO OR Infoset wise, we have to select Radio button based on requirement as like below


1.png

 

Example for Mulitprovider.


Example 1

 

Now, I am searching based on Mulitprovider/InfoCube and selections as like below


Multi/Cube Tech Name: ALL (Means all Mulitproviders and Infocubes)


Infoobject Tech Name: 0PLANT (For Plant) You can give more infoobjects at a time.


Infoobject Value          : ALL (Means for All Plants).



2.png

Output:


Provides list of reports restricted by All 0PLANT values


Example 2

 

Now, I am searching based on Mulitprovider/InfoCube and selections as like below


Multi/Cube Tech Name: ALL (Means all Mulitproviders and Infocubes)


Infoobject Tech Name: 0PLANT (For to Plant) you can give more infoobjects at a time.


Infoobject Value            : 0123 (Where Plant equal to 111).


3.png

 

Output


Provides list of reports where plant restricted by 1111


4.png

Example for InfoSet.

 

Example 1


Now, I am searching based on Infoset and selections as like below


Multi/Cube Tech Name : ALL (Means all Infosets)


Infoobject Tech Name  : 0PLANT (For Plant) You can give more infoobjects at a time.


Infoobject Value            : ALL (Means for All Plants).


5.png

Output:


Provides list of reports restricted by All 0PLANT values


Example 2

 

Now, I am searching based on Infoset and selections as like below


Multi/Cube Tech Name: ALL (Means all Infosets)


Infoobject Tech Name: 0PLANT (For Plant), You can give more infoobjects at a time.


Infoobject Value            : ALL (Where Plant equal to 1111).


6.png

Output


Provides list of reports where plant restricted by 1111

7.png


Attached ABAP Code.



Note:

  • Added code, provided option to  search ODS wise also,
  • And changed selection screen sequence for more convenient


Thanks for reading Blog.




How to Set up the Customizing Currency Display in Query Output

$
0
0

Recently I saw some customers raised incidents about the currency display in the query output. It's not very often to request the customizing currency display, but BW indeed provides the functionality to set the alternative currency display.

 

Requirement:
Scenario 1: you want the currency key displayed as what you want. For example, you hope to display currency key CNY as RMB.
Scenario 2: you are hoping to have the currency key be hidden in query output. 

Scenario 3: you want the currency key displayed before the key figure values, while the currency is shown after the value in normal way.

 

Solution:

The above requirement can be achieved by the "Set Alternative Currency Display" setting in transaction code SPRO.

 

Set Alternative Currency Display.png

 

The following three new entries will satisfy above requirement.

Set Alternative Currency Display 2.png

 

Actually this feature has been introduced in the following online help document.

 

SAP Library - XML: BW - OLAP

Thanks
Cecilia Li

Run Report SAP_RSDDCHNGRCHECK_CLEANUP with Option DELCNSID

$
0
0

Recently I met a situation that the customer can not delete the relevant entries from table RSDDCHNGRCHECK using the Clean-up report SAP_RSDDCHNGRCHECK_CLEANUP with option DELCNSID. Although the entries with some specific Changerun IDs can be identified in table RSDDCHNGRCHECK, the clean up did not work.

The report is provided by note 1495735 to clean up table RSDDCHNGRCHECK which was used during checking of changed records between DB and BWA after changerun.

When you run the report and select the option DELCNSID, manually entering the changerun ID in CNSID field will not work. You have to choose the CNSID from F4 list and then execute the report.

 

See the following screenshot.

 

SAP_RSDDCHNGRCHECK_CLEANUP.png

F4.png

 

F4 select.png

 

execute.png

 

Currently, per the coding of the program, the manual input CNSID will not get the needed internal parameter to have this report run through.

 

 

Best regards,
Cecilia

YTD Time Structure – Using SAP Standard Variable

$
0
0

YTD Time Structure – Using SAP Standard Variable

 

 

A key figure nee to display under A structural Frame that include ,

 

YTD

LY YTD

LY Period

Dynamic Display of 12 Rolling Period

 

YTD.png

User Prompt: 0P_FPER (Fiscal Year Period Variable) – Depend on “Fiscal Year Variant”; we need to fixed the value of “Fiscal Year Variant” to a single variant.

  • YTD: 0I_BA104 (Based 0P_FPER variable to derive YTD Cumulative Value)
  • Last Year YTD: 0I_BA106  (Based 0P_FPER variable to derive YTD Cumulative for Year-1 Value)
  • Rolling Periods : Offset on 0P_FPER ( -1 to -11)
  • 0T_FPER: The Text variable of 0P_FPER to display dynamically, the period as label.

 

 

User Entered : 009.2015

YTD = Sum (001.2015 till 009.2015)

LY YTD =

Sum (001.2014 till 009.2014)

LY Period


For 009.2014

Dynamic Display of 12 Rolling Period


008.2015 / 007.2015 / 006.2015 / 005.2015 / 004.2015 / 003.2015 / 002.2015 / 001.2015 / 012.2014 / 011.2014 / 010.2014 / 009.2014

 

 

Assumption : Special Periods Excluded

Unexpected values in Bex Query? Check out SAP collective notes for incorrect/wrong data in BW queries

$
0
0

Hi BEx Community,

 

After you import a Support Package for your SAP NetWeaver BW you notice unexpected values/numbers when consuming a BEx Query (or even a BW Infoprovider directly) or reading characteristic values (F4 value help).  The unexpected data is propagated to all front-ends that consumes BEx Queries, such as Web Intelligence (WebI) and other BO tools, Bex Analyzer, Analysis for Office (AO), Business Planning and Consolidation (BPC), Java Portal and many others.

 

There are two possible reasons for that. Let’s take a look below:


  1. The new code contains an error that generates an incorrect value/number.
  2. The query uses one or more special functions or properties, each of which works properly on its own. However, if the functions or properties are used in combination with each other, they produce results that cannot be understood or that are difficult to understand.

 

In the first scenario this unexpected data is really a bug in the system so we can call that wrong/incorrect data; whereas the second scenario is just a misunderstanding of query results due to the query complexity. To distinguish between the two situations, SAP has some consulting notes that provide guidance on how to check that. See the notes below:

 

1151957 - Interesting facts about the OLAP Processor/Analytic Engine

1591837 - How to analyze query results

 

So let’s assume you have already gone through an in-depth analysis and now you pretty sure the issue is really about wrong/incorrect data.


The OLAP processor delivers complex optimizations that safeguard system performance even when complex InfoProviders and queries are processed. In rare cases, these optimizations can cause undesirable side effects or, in the worst case scenario, incorrect data. Generally, errors of this type are very difficult to identify and might not even be noticed by the end user.


Therefore, SAP recommends that you implement the corrections for all known problems associated with a specific Support Package level and for that, development support maintains collective notes about incorrect/wrong data for the most recent BW releases and SP levels.

 

These SAP Note groups together corrections for certain Support Package and higher levels. The corrections are listed in the related SAP Notes section, see screen print below.

 

14-10-2015 11-13-11.jpg

This is the beginning of the list of notes that address incorrect/wrong data available for SAP BW 7.40 SP 11 and higher.


 

It’s recommended to implement all SAP Notes in ascending order based on the SAP Note number.

 

And here is the list of collective notes according to BW releases and SP levels:

 

2223788 - Support Package 11 for SAP NetWeaver BW 7.40 -> incorrect data

2168124 - Support Package  9 for SAP NetWeaver BW 7.40 -> incorrect data

2010273 - Support Package  7 for SAP NetWeaver BW 7.40 delivers incorrect data

2223810 - Support Package 15 for SAP NetWeaver BW 7.31 -> incorrect data

2223790 - Support Package 13 for SAP NetWeaver BW 7.31 -> incorrect data

2010272 - Support Package 11 for SAP NetWeaver BW 7.31 delivers incorrect data

2223804 - Support Package 13 for SAP NetWeaver BW 7.30 -> incorrect data

2010270 - Support Package 11 for SAP NetWeaver BW 7.30 delivers incorrect data

1820182 - Support Package  9 for SAP NetWeaver BW 7.30 > incorrect data

 

 

In case that does not help and you need to open an Incident with SAP support , it helps a lot to simplify analysis, and thus speed-up overall incident processing, if you follow the tips described on the following notes:


1125883 - Simplified example query for analyzing problems

1904869 - Necessary Information for BW-BEX-OT-OLAP* Messages

 

Hope this helps.

 

Cheers,
Eduardo Provenzano

 

See other posts:

Terminations on BEx Queries due to missing/inconsistent logical indexes on SAP HANA

How to verify a Workbook last used date

Bex Query going into debug mode in RSRT? Check here how to find the solution

$
0
0

Hi BEx community,

 

Not rare a BEx Query goes into debug mode when you test it in transaction RSRT due to an exception raised during the query execution.

Here I will show you an easy step to increase drastically the chance to find the SAP note with the code correction you need to solve that issue, just by using the correct key words for a search.

 

When debugger shows up, it stops at the BREAK-POINT  below:

 

 

kba_fig_1.jpg

 

As the image suggests, it gives you have the chance to find out the report id, include and code line where the exception is raised. Just double-click on each of the parameters commented and write-down this information.


In this example, the report id is a class and the include is the method of that class.

 

Class: CL_RSR_OLAP_VAR

Method: CONSTRUCTOR

Code line: 37

 

Now, just go to Object Navigator (SE80) transaction, open the respective class and method and locate the code line. In case the exception is raised on a report/form or function, search for that on the corresponding type (you can also go directly to SE38 for reports, SE37 for FMs or SE24 for class/methods) and open the source code.

 

kba_fig_02.jpg

 

Take a quick look at the source code to see if you can get additional information from it. In this case, we can easily see that something went wrong when FM RRI_REPORT_IMPORT_AND_CHECK was in process.

 

Now we know some very important technical key words to use on a search on Market Place.

 

I would try the some combination of key words on note search, like these for instance:

 

Search:  “CL_RSR_OLAP_VAR” “CONSTRUCTOR”

Search:  “CL_RSR_OLAP_VAR” “RRI_REPORT_IMPORT_AND_CHECK”

Search:  “CL_RSR_OLAP_VAR” OR “RRI_REPORT_IMPORT_AND_CHECK”

Search:  “RRI_REPORT_IMPORT_AND_CHECK”

 

This is a very basic technic to get the right technical terms for a good search but it will increase a lot the chance to find the correct note for the issue.

If you are keen in debugging, you can also set a breakpoint at the code line and debug the issue further by restarting query execution. You can get closer from the reason the exception happened and narrow down the issue even more.

 

Some other insights you can have is to check the package of the report id and find out which application component it belongs to. This can help either in the search to restrict notes for component or to open an incident to the right expertise area, in case you were not able to find the solution following these steps

 

Below is a screen-print showing how to find the application component.

 

kba_fig_3.jpg

 

Well, that’s it for today. I hope it helps.

 

Cheers,
Eduardo Provenzano

 

See other posts:

Terminations on BEx Queries due to missing/inconsistent logical indexes on SAP HANA

How to verify a Workbook last used date

Unexpected values in Bex Query? Check out SAP collective notes for incorrect/wrong data in BW queries

Viewing all 45 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>