Friday, December 31, 2010

BW 7.x: How to design start/end/expert routine within transformations?

There are several points that you need to recon while coding start, end or expert routines. 

Basically you need to be aware which data are you processing either it is source_package in case of start routine; result_package in case of end routine or even both tables in case of expert routine. Basically you do LOOP ABAP statement over one of those internal tables and you modify it or add new rows. There are available corresponding work areas (source_field, result_field) and field symbols (, ) that make you looping easier. 

Another point to be considered is creating new records within routines in one of its data_package internal tables. Here’s field called RECORD which needs special treatments. In case of end routine you need to populate value of this field by calling standard method new_record__end_routine.

In case of error handling you can populate called MONITOR. By this you can send messages to the Data Transfer Process (DTP) monitor. This makes maintenance of BW application easier. BW administrator sees error in monitor and can recognize its root cause directly by analyzing message instead of digging in coding or in ABAP dumps. Coding can be maintained like following:

IF sy-subrc <> 0.
  monitor_rec-msgty = 'msgty'. "e.g. W
  monitor_rec-msgid = 'msgcls'. "e.g. RS
  monitor_rec-msgno = '100'.
  monitor_rec-msgv1 = lv_par1. "Parameter 1
  monitor_rec-msgv1 = lv_par2. "Parameter 2
  monitor_rec-msgv1 = lv_par3. "Parameter 3
  monitor_rec-msgv1 = lv_par4. "Parameter 4
  APPEND monitor_rec TO MONITOR.
  RAISE EXCEPTION TYPE CX_RSROUT_ABORT. "aborts whole processing
*  RAISE EXCEPTION TYPE CX_RSROUT_SKIP_RECORD. "skips this particular record

For  further reference see following SAP Notes:
1227667 - Guidelines for expert routine: Design rules
1223532 - Design rules: Adding records to end routine
1258089 - Design rule: Adding records to the start routine

- update 21.01.2011 - 
In case of expert routine, breaking processing of load via raising of exception doesn't work (CX_RSROUT_ABORT). You have to use method send_message of class cl_rstran_expert_rout_srv.

- update 19.05.2011 - 
Some more SAP Notes on this topic:
1349820 - Expert routine: Technical enhancements

Limitations of DTP’s filter

Recently I encounter interesting behavior regarding amount of entries that DTP’s filter is able to populate. I created ABAP routine to fill up entries in filter. Since my routine produced quite big portion of data; I was curious how much entries is system capable to process.

For first run my routine produced over 1mil records. However data load in general was not successful. It was set to red with following message BRAIN299:

I still have an impression that load could be successful since I compared the data entries produced in filter and apparently they all were processed correctly. So I assume load would be OK.
Afterwards I tried to lower number of entries produced by my DTP Filter routine. My intention was to get number of entries which system is able to process without this error. I succeeded with 21.001 entries. All higher entries like 21.002 ended again with error mentioned above.

There is following note available on OSS:

According this Note seems that this restriction was even lower in past. Till SP#16 restriction was 10.000 records. Since I did my testing in system based on SP#20; here’s restriction is 21.001 records. Would be interesting to check either this restriction is removed in newest version 7.3 of BW.

Tuesday, November 30, 2010

SAP BW 7.3 is almost here

Well, at least it is here according documentation available on

As it was announced during SAP TEchEd 2010 in Berlin NetWeaver 7.3 and along with that BW 7.3 is coming. Two weeks ago I noticed that BW 7.3 documentation appeared on as well.

SDN BW 7.3 page is still quite about general availability but NW 7.3 it should be released soon I believe.

Fresh news out of SAP Note: 1407532 - Release Restrictions for SAP NetWeaver 7.3. Yesterday on November 29th 2010 SAP NetWeaver 7.3 entered Ramp-Up program. This means clients of SAP who participated in ramp-up can use it productively and they receive development support from SAP. Hope it gets into the unrestricted phase soon.

See collection of materials related to SAP BW 7.3 here.

Friday, November 5, 2010

Overview of BW 3.x to 7.x migration possibilities per BW objects

I was curious how migration of BW features and objects from version 3.x to 7.x is supported by SAP functionalities. Especially what are the tools available (if there are any) and basically what does it takes to perform such an upgrade? 

I went through a lot of documents available on SDN and here’s the short summary of possibilities that we have in case of migrating particular BW objects within upgrade or migration projects.

Further follow-up with these materials:
Queries or Workbooks Migration - Errors and Fixes

- 06-03-2013 update –
There is a new migration cookbook available prepared by SAP aiming ot make 3.x to 7.x BW objects migration easier. Have a look into SAP Note: 1807522 - BEx 3.5 Objects Migration to BEx 7.0

Thursday, November 4, 2010

How to look for DSO’s tables?

There is a nice and useful functionality available in TA RSA1 to access data in DSO across its all 3 tables (in case of normal DSO): New, Active and Change Log. If you navigate into InfoProviders section in Modeling area and you choose right mouse click on particular DSO you select Manage menu. There is a tab strip called Content
Here you can specify particular data you are interested in:

New data - contents of the activation queue
Active data – contents of A table = active data
Change log – contents of change log table

So this is easy part. But what to do in case you need to determine DSO table via runtime in your custom ABAP? In this case we can use information stored in field ODSNAME_TECH in table RSTSODS. Or there is a nice tiny standard ABAP method provided called get_tablnm from class cl_rsd_odso.

And what about I just want to quickly see DSO data in data dictionary transactions like SE11 or SE16? Here’s hint: put a prefix /BIC/A or /BI0 in front of DSO and you get active table. Here you need to recognize either you looking for table of Business Content DSO or custom created one:


for Business Content DSO replace /BIC/ with /BI0/.

Prerequisites for BW 7.3

BW 7.3 is almost here, should be released this month. To see all of its new features read this post. Therefore customers are asking how about to upgrade to this version. Unfortunately there are some limitations.

First of all platform version matter: You cannot upgrade to version 7.3 from version below 7.x. Sequence is to first upgrade to 7.x and afterwards you can go for 7.3. No 7.3 upgrade for systems based on 3.x. Version 7.x meant here is pure technical upgrade. So you do not need to have all the functionalities of 7.x in place but platform as in overall must be based on 7.

Secondly data flows: They do not need to be migrated into the 7.x fashion specifically but it is advisable. So this is not real prerequisite :-) Usually customers are performing just technical upgrade; just align with SAP’s maintenance matrix and do not loose support from SAP. After that they stop and to not deploy new features of 7.x like new authorization concept or new data flows. Framework of data flows in 7.3 seems to be much more powerful (copying of data flows, DTPs, process chains, repetition/reversing of migration etc.) comparing it to 7.0. However SAP advice to migrate to 7.x fashion right after you did technical upgrade to 7.x.

Thirdly new authorization concept: Old concept of the BW 3.5 reporting authorizations will technically no longer be available. Therefore again it is essential that before 7.3 upgrade you have migrated to new 7.x authorization concept.

I’m very excited about this new version of BW. Looking forward to hearing from you in blog comments as soon you touch this version :-)
See SDN’s official news and update page regarding SAP BW 7.3.
See Features of SAP BW 7.3
See collection of materials related to SAP BW 7.3 

SAP Business Technology Factory

Within some BW SAP Notes (e.g. 1125108) I noticed a term SAP Business Technology Factory. Mostly it was mentioned in case of advanced services provided by SAP in following areas:

  • BI Authorization Migration Service, consists from:
    • Migration planning (system analysis, concept adjustment, project planning)·          
    • Migration of the old BW reporting authorizations to the new BW 7.0 analysis authorizations 
    • Test and GoLive support of BW projects

This sounds quite interesting for customers. Usually I would assume that SAP has a reach of experience in these areas. Therefore could deliver such a services with high expertise.  I tried to find something more about SAP Business Technology Factory. It seems that it is organization within SAP aiming to help other arms of SAP like SAP Consulting. Apart of BW they have huge portfolio of services in other areas of business technology like:

  •  Analysis of current systems and interfaces
  •  Identification of system requirements
  •  Presentation of results, including recommendations on new updates/upgrades
  •  Quotation/project planning
  •  User workshops

Furthermore there are following particular factories:
  • Upgrade Factory
  • Unicode Factory
  • Testing Factory
  • Output Factory
  • Minimum Downtime Factory
  • Enhancement Package Factory
  • Modification Clearing Factory
  • BW Authorization Migration Factory

What is for me the most interesting is that under the SAP Business Technology Factory brand they offers standardized update/upgrade services at a fixed price. However I’m not sure if this is not valid predominantly for Germany customers. Anyway seems to me great initiative rather focusing on delivering real results than time and material consulting. 

For more information see following:

Thursday, October 21, 2010

miniSAP homepage

I wrote already several blog posts related to miniSAP or in other words test version of SAP software. Just to mention some of them:

Some other terms used to refer to miniSAP are Sneak Preview, Test Drive, Preview Version, Trial Version, Technology TestDrive, Technology Preview.
After you installed it you get initial license valid for 30 days. You might wonder where to register your installation in order to get it running for longer period. That’s because normally you have just those 30 days in which your miniSAP installation will be running until license expires. There is an SAP site dedicated to license request and by this site you get a key which allows you 90 days more of enjoying miniSAP. same as this: same as following page:
point to this site:
where you make license request.

P.S. Please notice that main page for all SAP evaluation software is located @SDN:

Maximum number of sessions in SAP GUI

User are from time to time wondering about how many simultaneous sessions in SAP GUI they can have. It was even surprising to me when I got this question when I did my SAP BW certification :-). There is also funny point that for some people to be efficient while working is enough to have 2-3 sessions as maximum. On other hand there are people who need at least 7-8 session to get some job to be done :-)

Anyway let clear this doubt out. Basically the number of session depends on version of SAP Application Server or let say SAP Basis is your SAP installation based on. It is like following in very old version of Basis like 4.6X the maximum number was 6, then in WAS versions 6.XX the max no is 10 and finally in AS 7.XX it is 16.

You might wonder that for example you running WAS 6.10 and you experienced situation it is was not possible to open 7 not even 10 session in parallel. Well, in that case you SAP administrator had limited this. There is system profile parameter by which the limitation is possible. The parameter is called rdisp/max_alt_modes.

Sunday, October 17, 2010

A legacy of SAP TEchEd 2010 – Berlin

Again it is same as every year. I had no opportunity to attend this year TechEd – European part hold in Berlin last week (12-14th of October 2010). However I tried to absorb information as it was available virtually at site. Even I was able to see some of my friends on videos e.g. from Demo Jam. So what was so hot and excited about this year TechEd? There were few things..

1.    Introduction of SAP NetWeaver 7.3: As said in official statement SAP back in  defending of its platform as NetWeaver. Fuzzy and unclear care of NetWeaver by SAP which was followed by not recommending of NetWeaver to be used for customers by industry analysts; we see that NetWeaver is back at full of power.

2.    Innovation without disruption: Vishal Sikka used this term referring to turning existing SAP technology into new level while NetWeaver is not only integrating people, data, and processes but it does in real-time and without disruption. Meaning that current SAP landscapes can be either upgraded in that non disruptive way; can be moved into the could – complementing existing on-premise solutions; or can be used in “mobile style” using SAP/ Sybase Unwired Platform.
3.    3 focus areas: Mobility, In-memory analytics applications, cloud computing. The most interesting for is In-memory initiative. SAP calls this initiative as HANA - High-Performance Analytic Appliance. The aim is to turn more portions of data from its traditional storage like disk arrays into the operational memory of servers. Another point is that data here will be combined from different types (transactional and analytics) and from different sources. Data is suppose to be organized and accessed in columnar database style. Solution will be delivered in form of appliance as e.g. existing BW Accelerating is delivered. You can read what HANA is going to be all about in case of BW here.

I’m sure there were plenty of other important things to be seen, discussed etc. One day maybe I experience TechEd personally :)

Wednesday, October 13, 2010

How long BEx report in Excel can be?

Only 64k rows? I used to hear an requirement from my customers regarding BW report’s length very often.  There are several reasons why BW reports should not be that long but usually customers resist in it and simply they want to see all rows that report can produce. Therefore from this viewpoint a limitation in MS Excel 2003 (and its predecessors) of displaying in particular 65.536 rows is seen as obstacle. Once new MS Excel 2007 came to the market (in 2007) it was assumable that since this limit is overcame up to 1,048,576 rows it has impact on BW reporting as well. However if you see e.g. on SDN what people are saying regarding this limitation; there are still doubts how many rows can be displayed. Those can be eye witnessed e.g. here, here or here. At the time I’m was researching what’s the matter really is I came into the conclusion that only with BW 7.x limitation of 65k rows is overcome. Unfortunately I was wrong. To be really sure I did few test which I’m going to introduced further in this blog post.

I prepared scenario with one very simple BW report without any selection screen based on demo cube ZD_SALES. I filled this cube with approximately 100k of records. I placed this cube and whole its data flow into BW based on version 7.0. I used SAP GUI version 7.2 and MS Excel 2007 together with whole Office 2007 installed on my laptop. Test query was comprised with just 4 columns. To be really sure that there is no aggregation in place Document Number was always unique in my test data loaded into cube.

As a first trial; I relied on transaction RSRT and I ran my report in Query Display mode = List. In this mode on MS Excel formatting is in not place so we can assume that we get all of data out of cube in our report. As seen on screenshot we have also total lines displayed. Therefore all rows from cube are displayed.

Later I continued with BEx Analyzer as Add-In in MS Excel 2007. From the very top; report looked good. All the columns were displayed. I started to be eager that time  just to see all 100k in my Excel…

But surprise! The report suddenly stops at (and surprise again) 65.536th row. :(

Even I’m running BEx Analyzer based on the newest SAP GUI 7.2, even I’m using BW 7.0 as backend even my MS Excel is version of 2010 I’m still not able to get more than 65k records.
What to do next? I tried to find some information on OSS. There are notes like 1411545 - BExAnalyzer: safety belt for large result sets and 1499986 - BExAnalyzer: safety belt default value does not work which suggest to set parameter called ANALYZER_LIMIT_DEF into table RSADMIN. However after setting it my report got me only 65k records.

Hmm, ok, again no luck. What about trying to google it up? Finally there is OSS’s wiki post bringing some light on this issue. It says that limitation of 65k is due to the functionality which is exporting the data from SAP systems in general. It is called XXL Export and it cares of generic export of any list data object into the MS Excel. Also is written here that this functionality is not planned to be changed. Ok, game seemed to be over for me that time. Moreover I found interesting discussion in this SDN forum post. User posted reply from SAP OSS related to this. It is stated the same as in wiki post: “The excel file can have maximum 65536 rows. You cannot select more than this amount of rows using excel.” SAP is explaining within this that there are practical reasons for this limit. They stressing out point that BEx is not a tool of mass data extraction etc.
Game over, this time for real. But what would be the other option how to get avoid this limitation. At the moment following options came to my mind:

1.    Usage of  web reporting for export of more than 65k rows. According the note: 1127156 - Safety belt: Result set is too large, in BW version 7.x it I possible to set parameters that would allow such a massive export of data.

2.    Functionality of OpenHubs. Data can be placed directly into the files (e.g. in CSV format) on application server. Be careful here OpenHubs are specially licensed and by using it there are additional fees.

3.    Coding of custom ABAP report which runs BW query and gets all its output and saves it in the flat files.

I completely realize that those options are not based on BEx Query Analyzer nor even in MS Excel but I cannot see any other option at the moment.

Monday, October 4, 2010

Features of SAP BW 7.3

Thinking about upgrade to 7.3? Assessing it? Searching for pros/cons? Need reasoning to management? Let me briefly summarize all the exciting new features of new SAP BW 7.3:

·         Scalable data models with built-in Semantic Partitioned Object (SPO)
·         Optimized load performance for DataStore Objects and Master Data
·         Enhanced built-in analytical capabilities for SAP NetWeaver BW Accelerator
·         BWA-based reporting on Data Store Objects (via Hybridprovider)
·         Query as an InfoProvider enabled for mass data handling
·         Optimized integration of SAP BusinessObjects BI Tools Xcelsius, WebI
·         Tighter integration with SAP BusinessObjects Data Services
·         Tighter Integration with SAP BusinessObjects Metadata Management
·         Combining real-time transactional data with historical data via HybridProvider
·         Smarter data flow modeling with remarkably reduced manual effort
·         Hierarchies integrated into SAP NetWeaver BW 7.x data flow
·         Flexible modeling environment for analytical indices
·         ABAP based Planning Modeler w/o requiring a Java stack
·         Faster system set-up with a wizard-based system configuration
·         Enhanced monitoring capabilities with new content for SAP NetWeaver BW
·         Administration Cockpit and integration in SAP Solution Manager
·         Data Transfer Process supports data extraction from MultiProviders
·         Enhanced Usability of BW Administration Cockpit through Xcelsius Integration of monitors
·         Mass Change function for authorizations

Beta version of SAP BW 7.3 was available for selected partners around July 2010. Ramp Up program is suppose to start in middle of October 2010. 

Check out official SAP information on SDN.