Sunday, June 10, 2012

Suite of helpful BW programs – BW Tools (ST13->BW-TOOLS)


I do not remember when was it for 1st time when I found this tool mentioned in SDN’s forums. I think it was related to process chains analyses. This tool covers analyses of process chains run time as well. 

Basically tool is indented to be used predominantly by SAP Active Global Support Team to support performance analysis in the areas of BW-IP (Integrated planning); BW reporting etc. Customers are free to use this tool too (according PPT attachment to note 1035990). Don’t be surprised if TA ST13 is not present in your system. The thing is that tool is coming with ST-A/PI component (Service Tools for Applications Plug-In). ST-A/PI component is so called Service Software Framework used to handle so called SAP EarlyWatch/GoingLive sessions. I was blogging about those sessions before here and here. 

Depending on version of ST-A/PI that you have deployed in your BW system selection screen of TA ST13 may look like:


From this screen kindly observe that those are BW tools available in ST13. More details about particular tools are here:

BIIPTOOLS - BI-IP Performance Toolset This tool has following components:

Planning Activities Overview – TOP x: planning sequence/functions/buffers executed.

BW Statistics Analysis – Provides a list of activities done in system related to BW-IP

FOX Analysis – Analyses FOX codes; recommendations to tune FOX coding

Characteristic Distribution - to analyze how data is distributed in cube’s fact tables

Technical Query Settings – Similar to TA RSRT, difference is that you can check multiple queries

BW Performance Benchmark – As planning functions cannot be distributed to several CPUs of your server this helps to decide either CPU should be upgraded

Prefill OLAP Cache for planning sequence – For OLAP cache pre-filling with required selections of characteristics, done by report ZBPPOIP


 
BPSTOOLS - BW-BPS Performance Toolset Similar set of reports just for BPS based planning



BW-TOOLS - BW Tools This was very first part of ST13 that I discovered a long time ago. It has advanced Process Chain monitoring (several chains in one view with its status, run time, end date/time, drill down to RSPC1,...)







BWATOOLS - BWA Support Tools This is sol called BWA Support Toolkit where you can analyze various standpoint related to your BWA status. See (note 1517326, introducing blog)





BWQUAC_CUST - BW Query Alert Collector Customizing, used for in the Solution Manager Business Process Monitoring.





BW_QUERY_ACCESSES - BW: aggregate/InfoCube accesses of queries Not sure what is purpose of this. I was not able to find any data in this tool.



BW_QUERY_USAGE - BW: query usage statistics Not sure what is purpose of this. I was not able to find any data in this tool.


Update 02/05/2016 for particular tool: the data is read from BI Statistics 3.x table RSDDSTAT which is obsolete in NW 7.x based BW systems. Therefore this tool is not providing any data. 




Update on 10/05/2015:

In case tool names are not visible in the popup selection of tcode ST13 you may follow up as described in following post: Uncommenting reports /SSA/* - Service tools for Applications ST-A/PI

Update on 07/12/2016:

ABAP program which is behind t-code ST13 -> BW Tools is /SSA/BWT

Used sources:

Monday, April 23, 2012

Deletion of temporary database BW objects

It might happen that because of upgrade of BW system, maintenance activities, inconsistencies etc. you need to reorganize temporary BW objects. These kinds of objects are starting with following name convention: 

/BI0/0X*

Where X means different temporary object given by specifics circumstances which occurred when the object was created. E.g. /BI0/06* are tables used during BEx query processing. Refer to SAP Note 449891 for more object types.

If you face situation that you are running out temporary objects you can delete temporary object. You can use report SAP_DROP_TMPTABLES to reorganize them. Report deletes them pretty straight forward with checking either they are used at the runtime of report. Therefore it is advisable to run this report as a part of maintenance activities in defined time frame when no regular activities are happening in the BW system. Make sure no user is running queries, no data load is happening, no compression is in place etc.

Notice that report’s runtime is depended on how big your system is. In general if you going to run it for first time it might be that it will run for several hours.

Furthermore you can use function module RSDDTMPTAB_CLEANUP (while specifying input parameter I_NAMETYPE = 03) for the same as well.

See other SAP notes on topic of Temporary database objects in BW:
1139396 - Temporary database objects in BW 7.X
449891 - Temporary database objects in BW 3.x
659946 - FAQ: Temporary tablespaces

Thursday, April 12, 2012

SAP BusinessObjects BI 4.0 – new names of tools


It is been some time since SAP introduced SAP BusinessObjects 4.0 on the market last year (16th of September 2011). This version came as successor of SAP BusinessObjects XI 3.x and was developed under code name Aurora. 

Anyway might be enough time to get acquainted with the new names of tools included in package of BI 4.0. Just not enough time for me :) that’s why I’m posting this short blog.


Former name
New Name
 SAP BO Enterprise (BOE)
SAP Business Intelligence Platform
(BI Platform)
Polestar
BO Explorer
SAP BO WebI

Interactive Analysis
Crystal Reports
Crystal Reports Enterprise
Crystal Reports Dashboards Design
/                                                        
Xcelsius
SAP BO Dashboards
Voyager
/                                                        
Advanced Analysis Web
SAP BO Analyses Edition for OLAP
Pioneer
/                                                        
Advanced Analysis
SAP BO Analyses Edition for MS


Used sources:


Other posts of interest in BO topic:

Saturday, March 24, 2012

Where used list of BW reports for characteristics


A need of knowing in which BW reports is particular characteristics used is quite common in SAP BW area. Imagine that you need to analyze BW system for e.g. for auditing purposes. 

Usually what you would do is to go to RSA1->Modeling->InfoObjects. Here you search for InfoObject and you go to its maintenance screen. In toolbar of this screen there is a Where-used button available. You hit this button and task is supposed to be completed in case you would get a list of BW reports where this InfoObject is used. Surprisingly this is not the case. You get the list of InfoProviders, Transformations, InfoObjects, Transfer Rules, 3.x InfoSource, etc. But not the reports!


What to the in this case? Luckily there is a special InfoObject transaction (RSD1) which does the same but for broader spectrum of objects. Peculiarity here is that once you are in RSD1 you cannot go via Where-Used button. This gives you the same what RSA1 gave – no reports list. What you need to do is go via menu->Edit->Where-Used List. Even more this functionality gives you a list of BE’x variables related to the InfoObject.



ABAP code which is behind this Functionality is function module RSDG_IOBJ_USAGE_SHOW.

Monitor 2 screen of DTPs

In BW of version 7.x so called monitor 2 screen has appeared. As it is not available for InfoPackages I assume it was introduced just in version 7.x. I found it by accident by right clicking in area of DTP’s maintenance screen. If you choose item MON2 from menu you get to this screen.



Screen allows browsing for another DTP and what you basically see is all the instances of this DTP. It contains status (U and T) of particular data load request, request ID, its time stamps. From here you can jump to from to monitor of this request, you can execute DTP, delete it and set its QM status to red and green.


Request status can have following values: 

0 New 
1 Executable 
2 Processed Successfully 
3 Processed with Errors 
4 Deleted 
5 Active 
6 Processed, with Warnings 
7 Further Processing Started 
8 Processed Further 
9 Deletion Started 
A Further Processing Terminated 

I was digging deeper to see what ABAP code is behind this screen. It is function module RSBK_MONITOR_SHOW what is being called here. In my eyes screen can be handy mostly for support people. I was not aware of this screen and looking forward to hear some comments from you how do you using this functionality.

Saturday, March 3, 2012

Endless loops in ABAP

I haven't updated my blog for quite long time. This is mostly because I’m currently involved in project which requires me to travel a lot. Therefore today here comes again only very short tip. To be more precise the tip will be how to code so called endless loops in ABAP. 

First let me explain what it is endless loop. It is a part of code which is being constantly executed over and over again until certain condition (there can be terminating condition or condition that is never met) is not fulfilled or loop is terminated by user. In other words we call the endless loop as infinite loop or unproductive loop.

Secondly let me explain why we (from time to time) need that. There might be situation that you need to check or monitor behavior of system while runtime of your program. Someone might say that for this I could set a breakpoint and achieve the same. Yes that would be possible but imagine you run your program as a job and within distributed SAP environment comprised from several application servers. In such a scenario you cannot be sure by which server your program will be executed. Therefore you let your program run in endless look.  Afterwards you observe on which server it runs and you switch into its runtime from e.g. TA SM50 via Debugging functionality (process, menu Program-> Debug program).  Actually in this case loop gives you a time to prepare TA50 and get into the processing of program as well.

In case of BW there are certain situations where infinite loops are handy as well. As all BW processing usually takes place on background (e.g. extraction: DTP, InfoPackages, Process Chains or BEx reporting variables programming) endless loops are needed here as well. I’m pretty sure you can figure out our examples.

Here’s one example of the endless loop:

data: debug(1).
do.
if debug = 'X'.
exit.
endif.
enddo.

If you are done with program’s environment monitoring you can easily escape this loop by manipulating with value of variable debug setting it to ’X’.

See blog on similar ABAP topic: If 1 equals 2, what’s the purpose?