Monday, March 31, 2014

Complete deletion of SPO object data

I created my first SCN document on topic of Complete deletion of SPO object data here:

Complete deletion of SPO object data

It is about enhancement (see note 1864773) that enables to delete the data within all objects involved in particular SPO object.

Friday, March 28, 2014

InfoCube Utilities

This blog is originally posted on SCN:

InfoCube Utilities

Recently I found infocube related functionalities which are not so obvious within the standard transactions like RSA1. Within this blog post I’d like to share them to others. May it happen that someone benefit from it. One of them is mass copy cube a like function. This function usually every customer tries to do by self-creating some Z* report. And moreover there are other functions…

So how I found it? I needed to change an name space for one of my cubes and I was browsing to find out how to do that. I ran into the SAP Note 1708553 - InfoCube creation enforces BW application selection where I saw transaction RSDCUBEM mentioned. BTW there in the BW systems there are also transactions RSDCUBED and RSDCUBE. As they all point to same ABAP report SAPMRSD0 and screen 1000 I cannot really say what is the difference between them.

As I was exploring TA RSDCUBEM I found interesting items in menu Edit-> InfoCube Utilities->

From the pop-up following function are available:

1.    Make Copies – Allows copying one info cube to new ones with different names. You can specify start and end suffix of 2 characters for new infocubes names. Function is implemented by calling ABAP report RSDG_CUBE_COPY.

2.   Activate Infocubes – Enables mass activation of cubes per chosen cube type or cubes in particular InfoArea or selection. ABAP report RSDG_CUBE_ACTIVATE is behind this function.

3.    Delete Infocubes – This is mass deletion of infocubes per cube type or specified InfoArea or selection. Implemented via call of ABAP  report RSDG_CUBE_DELETE.

 4. Analyze Infocube – This is just a simple call of TA RSRV - Analysis and Repair of BW Objects.

5. Reorganize Texts – Within the call of report RSDG_CUBE_REORG_TEXTS another report is called RSDG_MPRO_REORG_TEXTS. Report is dealing with texts (table RSDCUBET) of cubes/MultiProviders and is trying to insert the text of e.g. business content objects if text is not present in its active version. At least that is my impression based on what I see in the report’s source code. I’m not really sure what this function would be useful for. If someone has experience with this report can you share it in comments?

6. Change Validity Slice – This function is useful while having non-cumulative key figures (like SAP ECC Inventory management) in cube. As per by standard behavior Validity period of stocks is determined by the oldest and the most recent material movement. If you need to display data in your report that lies further in past you can run this function to change the validity period. Function is implemented by calling ABAP report RSDG_CUBE_VALT_MODIFY.

How to get rid of clients 001 and 066 ?

With the advent of Solution Manager some of basis functionalities in NetWeaver based SAP system became obsolete. However this is not very known by SAP Basis people. Knowing this you can save a database space used by your system. Needless to say having slim system may even lead to better performance of your system. This is especially valid if you run your own installation on laptop as IDES or similar demo system.
So what are functionalities that were replaced by SOLMAN (Solution Manager)? These are available in special clients which were installed to you system long time ago when Solman wasn't around.

Client 066 – was a special client used by SAP Active Global Support to deliver their services. It was the client so called EarlyWatch. The client is not used anymore. You can safely remove it from your system via TA SCC5.

Client 001 – was usually created during initial installation of SAP system as copy of client 000. If your system is actually Solman its productive client is 001 so you must not deleted it! In other system it is used as production preparation client. Otherwise it is not needed.

Further details can be found:
1897372 - EarlyWatch Mandant 066 - Can Client 066 be deleted?
7312 - Client 066 for EarlyWatch

Tuesday, March 25, 2014

Number of records in the InfoProvider

Sometime ago I blogged about usage of output number of hits which is functionality available on Display Data’s screen of Manage InfoProvider section within TA RSA1. While try to get know no of records in InfoProvider via above mentioned “Output number of hits” you may face a short dump because your InfoProvider has simply so much data.

To solve this I was looking for some other options how to find out number of records on very large cubes. Luckily there is a way how to do it. A database table called RSMDATASTATE_EXT is available in BW system. The table holds information of actual number of entries per InfoProvider.

All you need to do is browse the RSMDATASTATE_EXT in TA SE11 or SE16 or similar. Into field Data Target Type (DTA_TYPE) enter following:

CUBE            if your InfoProvider is cube
MPRO            MultiProvider
ODSO           ODS Object
TFSTRU         PSA Table
IOBJ_T          Text table of IO
IOBJ_M         Master Data Table of IO
IOBJ_H          Hierarchy
FLEX_M         Flexible Master Data
FLEX_T          Flexible Texts
FLEX_H         Flexible Hierarchies
QUELL           Source System
DTASRC        New PSA
ISET              InfoSet
QUERY           Query
DEST             Open Hub Destination
INSP             Inspection Plan

Once you run your selection in the field RECORDS_ALL you will get number of all the records in specified InfoProvider.

Friday, March 21, 2014

Oracle DB versioning

Oracle as database is quite popular within SAP customers. It is fact for many years. The reason why customers are running their SAP system on Oracle database is that Oracle is quite stable, scalable and SAP is really optimized for Oracle. Although both companies do not like each other very much when it comes to database SAP is really taking a lot of effort to optimize their software for Oracle. Not sure how long this will be true as SAP will certainly shift its focus on their own homegrown HANA database but for time being it is valid.

Speaking of BW there are many features that are optimized for BW running on Oracle DB. You can find a lot of SAP Notes discussing those features. There are many RSADMIN parameters just for Oracle as DB. Once you want to use some of these features you may need to check first fi you have valid version of Oracle DB for which feature is valid. This here comes the tricky part. Oracle DB versioning is different from its DB’s marketing names. You can see in the particular note (e.g. 1287382) that you need Oracle DB 11g. What you see in your SAP system under menu System-> Status is that you have So is really 11g? Well version number starts with 11 but what about g?

Unfortunately I haven’t found any official material on how to match between real version number and its marketing name. But speaking very high level we can match those two as follows:

Oracle v2
Oracle v3
Oracle v4
Oracle v5
5.0.22, 5.1.17, 5.1.22
Oracle v6
Oracle8i rel 1–
Oracle8i rel 2–
Oracle8i rel 3–
Oracle9i rel 1–
Oracle9i rel 2–
Oracle Database 10g Rel 1–
Oracle Database 10g Rel 2–
Oracle Database 11g Rel 1–
Oracle Database 11g Rel 2–
Oracle Database 12c Rel 1

Source of information: Wikipedia page.

How to access BW objects don’t belong to name space you are authorized to access

A disclaimer at first place: Notice that this blog post discusses activities done in debugger while changing the values of variables. Such activities are usually not supposed to be executed. Bear in the mind that you may cause serious harm into your system. If you decide to proceed with it do it only after real understanding of all consequences and only on development and/or test system.

Sometimes BW developer can face following situation. You need to do prototype of new functionality (let’s say data flow) in development system. However as per your developer authorization you get the aces to to customer namespace let say ZZ*. You do not want to create your prototype objects in ZZ* namespace. For time being and for prototyping purposes you would like to use YY* namespace. However once you are authorized to use ZZ* only every attempt to create any objects will be denied by system throwing error message (let’s say in dace of transformation):

You have no authorization for the transformation rule
Message no. RSM904
TLogo type of source: ODSO
Name of source: ZZ_DABC
TLogo type of target: CUBE
Name of target: ZZ_CBCD
For the transformation you require authorization for the authorization object Data Warehousing Workbench - Transformation Rules with the field values stated above and activities 03, 16, or 23.

There is a one function module (FM) checking your authorization. It is the FM RSSB_AUTHORITY_ADMWB_TR. By simply putting breakpoint after authorization check was called (in BE version SAP NetWeaver 7.3 SP08 it is line no 69) and changing value of sy-subrc to zero you can obey this error message.

Wednesday, March 19, 2014

How to remove unused items in cube dimension?

As BW developer you may need to remove some characteristics from cube’s dimension. This is needed in case e.g. you do remodel of your cube. You may even need to remove whole dimension(s) in same case. While you remove all characteristics from the dimension issue with while reactivating the cube can happen. In such a rare case you simply won’t be able to activate the cube. There will be error message asking to input some characteristics into the dimension.

Usually we turn to TA RSRT for help. While running test called "Entries Not Used in the Dimension of an InfoCube" in the RSRT you will get same message asking to input characteristics. Running the RSRT in repair mode will not help again. Fortunately there is a ABAP report which solves situation like this. The report is called ZSAP_DIM_CLEANER and is provided by SAP Note: 1622324 - Cleaning up BW Infocube Dimension Tables. For all the details how to use the tool refer to above mentioned note and also to following one: 1978286 - Cleaning up BW InfoCube dimension tables.

Who imported Transport Request into system?

In case SAP developer (BW including) is interested who created/released/unlocked/imported particular transport request (TR) into the target system there are a ways how to get to know this information:

  1. TA SE10 or SE09 -> display particular TR via Display Individually icon (F5) on tool bar. Once TR displayed select Action Log form Goto menu. Here you will see all workflow of the TR. When/who: has created it, deleted subtasks, changed owner and released it.
  2. TA STMS or STMS_IMPORT -> if you start with STMS first you need to go into Import Overview (F5) from the toolbar and choose import queues of particular target system. Once you there click on Import History button (CTRL+F7) on the toolbar. On next screen choose Display More from Edit menu. Column User has the name of the user who imported the TR into target system.
  3. Tables:
E070 - Headers of Requests/Tasks
TPALOG – TR import history

TPALOGHDR - Header Table for TPALOG

Monday, March 3, 2014

How to influence SAP

This blog is originally posted on SCN: 

How to influence SAP

Over the years SAP developed a few channels of how outside world can reach out to SAP. Through these channels we can potentially influence the SAP world. Here's one example. Imagine that you have a great idea of how to improve particular functionality in SAP's software. You'd like to let the SAP know about it. And surprisingly there are chances how to do it – how to pass the message. Below I list and briefly describe those channels. The motivation for this blog is to basically gather basic information on those channels into one place.

1. IdeaPlace introduced in 2010 enables you to post idea for new feature or product enhancement of SAP software, solution etc. You can also browser already posted ideas by others, vote for ideas which promote them and subscribe to the ideas to be updated about its further developments. See ideaplace site and following SAP Note for more details. To use the site you need you Service Marketplace (SMP) account although you can browse ideas without login.
For more information follow this SAP Note:
1515837 - How To: Enhancement Request Process - "Idea Place" - BI solutions

Also notice that while posting new ideas you need to assign it to existing directory. The directory represents area of SAP software/product. At the moment all Business Analytics (BA) – covering BI as well, Enterprise Performance Management (EPM), Data Warehousing, Human Capital Management (HCM), Mobility, on-demand, NetWeaver solutions are now available in Idea Place.

2. SAP Influence Program and (SMP login required). Apart of IdeaPlace there is a program called Customer Influence. In general you need to be really SAP customer to participate in SAP influence. This means you need to have either license or support contract from SAP. Generally speaking via SAP Influence you can participate with SAP on development of products. There are two flavors of this program:
- Customer Connection
- Customer Engagement Initiative and get involved

Below I describe those two plus the others.

3. Customer Connection (SMP login required) or - SAP customer with maintenance contracts and SAP User Groups can suggest improvement of SAP software. These so called Improvement Requests are gathered into so called Focus Topic cycles. Once particular request scores by significant customers it is being review by SAP development teams. Once developed by them customer can implement it in form of either SAP Notes or SAP Support Packages (SP).
There is actually more within Customer Connection initiative. All improvements which were delivered can be found on dedicated sites: – public access - SMP login required
You can search for improvements and get to know how to implement them.
As my background is mostly Data Warehousing I'm very glad to see improvements from this area like:
BI Content Migration of BW 3.x based data flows - SAP Note 1601140
Customer Connection: (NW 730SP11): Complete deletion of data - SAP Note 1864773

To learn more details of Customer Connection following links:
For both above links SMP login required.

4. Customer Engagement Initiative (CEI) - Within this initiative again you as SAP customer or partner can get hands on early development and by this to influence innovations in SAP planned products releases.
To learn more about CEI go to following link:

5. SAP Mentors group - Mentors are selected individuals from community of the SAP Ecosystem. To become member of mentors you need to be nominated by community like SCN. Basically it is extra league of experts into variety of SAP topics.
For more info on Mentors follow links:
1559276 - What are the SAP Mentors, what is Mentoring?

6. SAP customer/user groups - SAP is exchanging knowledge in technical and functional areas within its user groups. Also within this channel user can share experience of SAP products, knowledge and ideas. There are regional SAP user groups across all continents. Just to name few biggest: ASUG — Americas' SAP Users' Group -, DSAG — German-Speaking SAP User Group – Germany There are several types of membership available. You can basically join as individual or as a company. Check particular user group sire for details. Above regional groups there is also SAP User Group Executive Network (SUGEN). The SUGEN consists of leaders from multiple regional groups. By this all regional groups are united within dialog with SAP.
To learn more about customer/user group use following link: (SMP login required)