Quantcast
Channel: SCN : Blog List - SAP Business Explorer (SAP BEx)
Viewing all 103 articles
Browse latest View live

How to get quicker solutions from SAP Support

$
0
0

I work on many incidents a day and whenever I get a new one I have a big challenge: to understand the customer’s issue. The customer may have clear in mind what his/her issue is. But normally it’s not easy for me to understand it. So, some time is taken until I completely understand the issue.

 

Here I will present some tricks you can use to help us helping you and get faster solutions.

 

1. Search first, log an incident later


My first tip is to use the SAP xSearch to search for existent SAP Notes, Knowledge Base Articles (KBAs), SCN blogs, discussions and wikis. Mainly if you get an error message: it’s easier to elaborate a search when you have an error message.

 

A good search will maximize the chances of finding a solution yourself. But you may think: “I pay SAP for support. They must provide a solution”. Well, you are right. But as much faster you get a solution, the less the issue will impact your company, right? As I said, we (support engineers) take some time to understand your issue before being able to start our investigation. And nobody knows more about your issue than yourself.

 

The SAP KBA 1540080 is very basic and shows how to perform searches on the SAP Service Marketplace. If you’re already familiar with that process jump to the next: the SAP KBA 2081285. This one explains in more details how to perform the most efficient searches. Believe me: if you don’t know it yet, it worth a try.


2. Create an incident


You combined many search terms but could not find an existent correction (SAP Note, KBA, etc.) to your issue so you need to log an incident. In this case, the more quality has the initial information you provide, the less time it will take to the support engineer to start the actual troubleshooting of your issue.

 

Sometimes we see incidents going back and forth requesting the connections to be opened, the customers claiming that the connection is opened but the support engineer reports that it still fails, the support engineer requesting more detailed information about the actual issue, how to reproduce it, traces, etc.

 

So, here’s a checklist for OLAP incidents (some of them may apply to other areas):

 

requisites.jpg

 

a) Select the correct system ID and installation number

Opening the incident for the correct system ID and installation number will ensure that no confusion is made by the support engineer when accessing your systems. In case the incident needs to be forwarded to other component or to the Development Support no time is wasted finding the correct system to connect to.

 

b) Open the connections

Usually, for troubleshooting OLAP issues, the support engineer needs R/3, BW RFC and BW GUI connections. The instructions on how to set those connections up are contained in the SAP Notes 812732 and 195715, respectively. He/she also may need HTTP connection for testing whether the issue you reported lies on either the backend or frontend layer. The SAP KBA 592085 shows how to configure the HTTP connection.

In some companies the process of opening a system connection is very bureaucratic and/or takes a considerable time. You wonder if there would be a way to do this just once. In fact, there is: the Line Opener Program (LOP). Read the SAP Note 797124 for details.

 

c) Provide the logon information

If you don’t provide the logon information in the secure area the support engineer will not be able to connect to your system. The SAP KBA 508140 explains how to provide user name and password in the secure area.
IMPORTANT: Never write down a password in the body of the incident. Use the secure area instead.

 

d) Ensure that the user you provided has proper authorizations

The user account to be provided to SAP must have some specific authorizations. In the ideal case you provide a user with SAP_ALL authorization. In case that is not possible, at least the authorizations in the SAP Note 177875 must be given.

 

e) Simplify your report/query

Your business scenario sometimes require very complex reports to be designed. Some issues then show up (like after an upgrade, for example) and the customers log an incident for that. However, in nearly all cases the report/query can be simplified and the issue is still reproducible.

Simplifying the query allows the support engineer to focus on the real potential causes of the issues and can save much time investigating the issue. The SAP Note 1125883 shows some recommendations to be followed in that matter.

IMPORTANT: For performance issues it is very important that you apply filters to your report/query so its execution time does not exceed 15 minutes (notice that the support engineer will execute it repeated times). Also inform by what factor the applied filters will reduce the amount of data returned by the report/query (e.g. “my filters reduce the query results in 80%”).

 

f) Explain clearly how to reproduce the issue

Provide a document with screenshots showing each step taken until the issue is reproduced: what transaction (T-Code) you open, what is the name of the report you are accessing, what is the technical name of the BEx query associated to that report (if applicable), what input values are required (if any), where to click, what options to select, etc.


How to get rid of wrong/unexpected data issues in BEx Queries

$
0
0

Here I present you a recommended flow to analyze queries that return unexpected data. It can guide you finding out whether it happens due to a bug in the software or show you that your expectation is not correct.

 

Start testing the query at T-Code RSRT (HTML mode). This flow assumes that you can see the unexpected values even when executing the query there. The numbers between parenthesis refer to an SAP Note where you can find details on how to execute that step. The direct link to those notes can be found in the end of this post.

 

flow.jpg

 

Step 1: Execute the query at RSRT (HTML mode) using the button Execute + Debug and selecting Safe Mode. See SAP KBA 2125357.

 

Step 2a: In case you get the expected/correct results when running the query in Safe Mode the issue most likely lies on Aggregates, BIA/HANA indexes, Cache or DB Optimizations. Use the instructions in the SAP KBA 2142771 to narrow down which one is causing the error. Search for notes in that area. In case you cannot find any relevant, open an incident under the component shown in the picture above.

 

Step 2b: In case you still get unexpected/wrong results even in Safe Mode, you will need to simplify your query. You can find how to do that in the SAP Note 1125883.

 

Step 3: Now that you got a simpler query it's possible to compare the query results against the values in the InfoProvider. To make it easier to investigate, create a LISTCUBE report as explained in the SAP KBA 2055174.

 

Step 3a: In many cases, after doing all the above steps one can find out that the results in the query are correct and some mistake was made when designing the query. Other times there is really a failure in the software doing the calculations. In this last case, log an incident under BW-BEX-OT-OLAP component.

 

Step 3b: If the values of the Basic Key Figures in the query don't match their values in the cube there's likely a bug in the application. Log an incident under BW-BEX-OT-OLAP component.

 

In case you need to create an incident, whatever the component is, provide the technical name of your simplified query and the LISTCUBE report.

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 Like Open/InProgress/Close 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 and 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/Virtucal 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

Eliminating Compounding in Reports using Web Application Designer

$
0
0

Please use the below procedure to eliminate the compounding issues in the Reports using Web Application Designer,

 

  1. Go to properties of Web Template in WAD.

 

  1. Come down to Standard Actions of the Web Template.

 

  1. There is place Action Before Rendering where we need to set the command.

  1. Here you need to select a command(you have to check the tick box Set Presentation)

 

  1. After this you have to check the Data Provider Affected.

 

  1. Click next to go to next screen where you have to give your characteristic name and other details in Data Binding and Command-Specific Parameters i.e.

 

 

  1. Click ok and save the WAD.

 

After implementing the above procedure, execute the Bex Reports using the Web template where all above settings are made in Web Application Designer.

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
  • Search in table level how its required table knowledge and manual activities
  • Search through FM however its gives unstructured data, need to format and also it worked each 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 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

Read Mode P is now Supported in BExAnalyzer Filter Screen

$
0
0

Earlier F4 (Filter Screen / Selector Dialog ) in BEx Analyzer Planning enabled query we were able to select only M or D as read modes and were not able to select read mode as P(planning ) .

With the new enhancement it is now possible to set the read mode as P for planning enabled query.


Following are the steps which needs to be followed to achieve the same.


1.  Read mode P can be activated by setting  parameter ANA_READMODE_P_REQUI = 'X' in transaction RS_FRONTEND_INIT

2. Create a real time info cube , in my case following is the structure of infoprovider

1.png

3. Now define Characteristic relationship between Currency and Country.

Navigate to transaction RSPLAN, click on infoprovider and select the real time cube and click on edit,

Go to the tab Characteristic Rels

and Click on create option , select the Char. Relationship type as Attribute from dropdown and select Characteristic master data builds basis  as Country and then check the option Derivation

Check Currency as Target Characteristic

Click on Save.


(More info on Characteristic relationships:

Characteristic Relationships It is used to test valid combination of records generated and derive the char values for other chars. This is at infoprovider level; it is applicable to all the aggregation levels of real time cube. Invalid combination: this is applicable in manual planning, when we are trying to generate a new combination which is not part of Char relation, it is assumed as invalid combination. Derive Characteristic: we can derive values for characteristics in real time cube, we define source and target characteristics in planning modeler.)

 

2.png

4. Then create the aggregation level.

5. Create an input enabled query on the aggregation level created.

6. Select the key figure which needs to be input enabled

3.png

4.png

7.Select the characteristic COUNTRY , in the extended tab , under  Filter Value Selection at   Query Execution select Characteristic Relationships

5.png

 

Do the same for characteristic CURRENCY as well.


8.Launch BEx Analyzer and open the above created query.


   Following is the data in the query

7.JPG


9.Now if we try to add new line say  GERMANY    EUR AUDI   2000

Invoke the selector dialog on Currency column, Click on settings


8.png


9.png


The Read mode – Planning mode should now be available.

Click on OK

 

10.Now invoke F4 on Currency field, select Single values , only EUR will be available for selection .



Issues you may face with Precalculation server patch 400 & Solution

$
0
0

The purpose of this blog is to explain some of the functional/installation changes you will see when you install precalculation patch 400 for SAP GUI 740 onwards.

From 740 precalculation patch 400  only one precalculation service file is delivered i.e SAP BW Precalculation Service Multi Instance.

 

Here I am explaining some new changes which you may observe after installation of 740 precalculation patch 400.

One of the Precalculation service file is removed from 740 Precalculation patch 400. i.e SAP BW Precalculation Service

Due to this change you may face some installation issues and functional issues related to removed service 'SAP BW Precalculation Service '.

 

If you face any such issues please follow the below information/steps

 

  1. There is no concept of upgrade of precalculation from older version to newer version.

          Precalculation is only for direct installation.

          Please check the Precalcserver installation document which is delivered along with Precalculation server in SAP     GUI  DVD.


     2. In case you have upgraded precalculation server from older patch to latest patch
           Ex: 740 precalculation patch 300 to 740 precalculation patch 400            

 

Issue:

  • You can still see two Precalculation service files. i.e SAP BW Precalculation Service & SAP BW Precalculation Service Multi Instance when you Goto Run -> Services.msc

as shown in below figure:

 

But as already mentioned above that from precalculation patch 400 only SAP BW Precalculation Service Multi Instance service file is delivered not the SAP BW Precalculation Service.

So the SAP BW Precalculation Service which you see in the list here is of older patch which won’t work.

 

  • Now when you try to uninstall precalculation server to remove the ‘SAP BW Precalculation Service’ using precalculation server patch400 or from control panel, Though uninstallation get successfully completed ‘SAP BW Precalculation Service’ still persists in the services list.

 

 

Solution:

 

  1. Run Precalculation patch300 instead of patch400 to do the clean installation. It will remove SAP BW Precalculation Service.
  2. Install Precalculation patch 400.

      Now you would see only one precalculation service i.e SAP BW Precalculation Service Multi Instance.

 

 

Note: Precalculation server must be in same patch level as Business Explorer.

 

 

For more information Refer 740 FEP 400 Precalculation note: 2100845

http://wiki.scn.sap.com/wiki/display/BI/Checklist+for+Precalculation+server?original_fqdn=wiki.sdn.sap.com


Best Regards,

Shiva

VBA Function SAPBExSetVariable not working as required in BExAnalyzer 7x

$
0
0

Usage of BExAnalyzer 3.5 Macros and VBA Function:

 

In 3.5 BExAnalyzer you can use SAPBExSetVariable to set the variable to a query that you would like to see the result once the query is refresh in 3.5 BExAnalyzer

 

Following macro are typically used to refresh a single Data Provider with in a workbook.

 

  • Run("SAPBEX.xla!SAPBExSetVariables", lRange)

 

lRange contains the Range address of the Variable Values (Structure RRX_VAR: VNAM, VARTYP, VPARSEL, SIGN, OPT, LOW, LOW_EXT, HIGH, etc...)

 

  • Run("SAPBEX.xla!SAPBEXSetVariable", False, lRange)

 

The second parameter define if all Data Provider are to refereshed or if only the Data Provider located within the provider Range lRange.

 

This is the flow of BExAnalyzer 3.5 VBA Function SPABExSetVariable. However, the support of 3.5 BExAnalyzer is over and you may would like to use the function in 7X BExAnalyzer.

 


Usage of VBA Function SAPBExSetVariable in BExanalyzer 7X

 

When the workbook is upgraded to BExAnalyzer 7X the macro are automatically adapted to the new VBA Code of 7X BExanalyzer and it will look like

 

  • Run("BEXAnalyzer.xla!SAPBExSetVariable", lRange)
  • Run("BEXAnalyzer.xla!SAPBExSetVariable", False, lRange)

 

And you have also implemented the SAP Note "1849135 : Single Data Provider Refresh Functionality NEW"

 


Issues in current flow:

However, you may find that this SAPBExSetVariable is not working as required in BExAnalyzer 7X especially in case of

  • Executing this macro more than once with different values for variable.
  • Current flow also modifies the variable value for query for which you did not request for SAPBExSetVariable.

 

There are some more issue with the flow of SAPBExSetVariable and refresh.

 

Improvement / Enhancement in BExAnalyzer 7X for SAPBExSetVariable


SAPBExSetVariable is typically 3.5 BExAnalyzer supported function and this feature can work only if you would have already applied a note “1849135 - BExAnalyzer: Single Data Provider Refresh Functionality NEW”.

This is because 3.5 BExAnalyzer refresh single query at a time, however the 7.x architecture is very different then 3.5 Refresh. Therefore this feature SAPBExSetvariable can only work if the single data provider new and the note 1849135 is implement correctly.


In this note 184915, there is an information mentioned that the “The Flag "Allow Refresh Function for individual Queries" in the Workbook Settings Dialog in the Tab "General" does not need to be set for the macros to work.”


There were some inconsistency in flow of processing the single data provider refresh new and SAPBExSetVariable and so in new supported SAPBExSetVariable this Flag is required and mandatory to be set to make SAPBExSetVariable to work along with the new correction mentioned in the SAP Note 2265155 - VBA Function SAPBExSetVariable not working as required in BExAnalyzer 7X.



Usage of SAPBExSetVariable in BExAnalyzer 7X:


To use SAPBExSetvariable in 7.x you have make following changes in your excel range, as of now the you were only mentioning about the variable and its information as per the range address of the Variable Values (Structure RRX_VAR: VNAM, VARTYP, VPARSEL, SIGN, OPT, LOW, LOW_EXT, HIGH etc.).


The new changes here is you also have to maintain Data provider name as shown below in your excel range.


 

DATA_PROVIDER<DATA PROVIDER NAME><DATA PROVIDER NAME>
VARIABLE NAME11IIBT<VALUE><VALUE>
VARIABLE NAME21IIBT<VALUE><VALUE>
VARIABLE NAME31PIEQ<VALUE><VALUE>


So as earlier you were only mentioning about the variable information in your excel sheet cell but now with new changes you also have mentioned the data provider name. As recomendation it will be more earier if you can mentione the dataprovide name first.


Now you also need to do some modification in your VBA Code


BExAnalyzer 7X VBA Macro code example:


strVBA = Run("BExAnalyzer.xla!SapBEXsetVariables", Sheets("<Sheet Name>").Range("<Range Address>"))

 

'<Sheet Name> where the data provider exit to be refreshed.

 

Set shtRefresh = ThisWorkbook.Worksheets("<Sheet Name>")

 

strVBA = Run("BExAnalyzer.xla!SAPBEXrefresh", False, Sheets(shtRefresh.Name).Range(<Range Address>))




Prerequisite to enable SAPBExSetVariable flow in BExAnalyzer 7x


  • Please implement the notes 1832908, 1849135
  • Note 2265155 - VBA Function SAPBExSetVariable not working as required in BExAnalyzer 7X
  • Transaction RS_FRONTEND_INIT, Set parameter ANA_SINGLEDPREFR_NEW = 'X'
  • Either set “The Flag "Allow Refresh Function for individual Queries" in the Workbook Settings Dialog or Global Setting in tab “General”. 
Viewing all 103 articles
Browse latest View live


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