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 service.sap.com/notes 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 11.2.0.3.0. So is 11.2.0.3.0 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:

name
number
Oracle v2
2.3
Oracle v3
3.1.3
Oracle v4
4.1.4.0-4.1.4.4
Oracle v5
5.0.22, 5.1.17, 5.1.22
Oracle v6
6.0.17-6.0.36
Oracle7
7.0.12–7.3.4
Oracle8
8.0.3–8.0.6
Oracle8i rel 1
8.1.5.0–8.1.5.1
Oracle8i rel 2
8.1.6.0–8.1.6.3
Oracle8i rel 3
8.1.7.0–8.1.7.4
Oracle9i rel 1
9.0.1.0–9.0.1.5
Oracle9i rel 2
9.2.0.1–9.2.0.8
Oracle Database 10g Rel 1
10.1.0.2–10.1.0.5
Oracle Database 10g Rel 2
10.2.0.1–10.2.0.5
Oracle Database 11g Rel 1
11.1.0.6–11.1.0.7
Oracle Database 11g Rel 2
11.2.0.1–11.2.0.4
Oracle Database 12c Rel 1
12.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
Diagnosis
TLogo type of source: ODSO
Name of source: ZZ_DABC
TLogo type of target: CUBE
Name of target: ZZ_CBCD
Procedure
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 ideas.sap.com 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 service.sap.com/influence and influence.sap.com (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 service.sap.com/customer-connection (SMP login required) or sap.com/cc - 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:
sapimprovementfinder.com – public access
service.sap.com/findinnovation - 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 - www.asug.com, DSAG — German-Speaking SAP User Group – Germany www.dsag.de. 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:

service.sap.com/usergroups (SMP login required)

Thursday, February 20, 2014

BW Modeling Tools (for SAP HANA BW)

Whole SAP development world is moving away of SAP GUI. This trend is obvious. ABAP developers can develop their programs in Eclipse for quite some time already. See details e.g. FAQs - ABAP Development Tools for Eclipse. SAP HANA Studio which supports developing of HANA’s artefacts like Attribute/Analytic/Calculation Views, DB schemas, tables, sequences, procedures, table types etc. is also based in Eclipse. It was obvious that soon or later BW will get also possibility of developing its objects outside native SAP GUI’s RSA1 transaction and/or outside BEx Query Designer tool.

I remember back in 2009 there were rumors that next “big tool of BW” will be based in Eclipse. Logically it should be successor of Visual Composer (VC) which was/is based in Eclipse also. After VC there is another tool SAP BusinessObjects Design Studio also based in Eclipse. Design Studio is tool for creation of analysis applications and dashboards based on BW/HANA/Universe based data sources for browsers and mobile devices.

On other hand purpose of BW Modeling Tools is to support modeling of BW’s InfoProviders such as "CompositeProvider" and "Open ODS View". CompProv and Open ODS Views are newly introduced objects which came with SAP NetWeaver 7.40 SP5. The tool further supports consumption of SAP HANA Views in BW Models.

In order to use the tool you need few plugins to be installed into the SAP HANA Studio:

  • ABAP Development Tools – current version 2.48 (as of 12/07.2017)
  • BW Modeling Tools – current version 1.13 (as of 12/07.2017), Note: 1944835
Both can be downloaded from service.sap.com/swdc -> search for SAP HANA Studio
Installation guide for Modelling Tools is available on SMP here (S* ID required).
Personally I’m very looking forward to “united” developer IDE where all kin dof SAP objects can be developed. On other hand I think I’ll be nostalgic for all the transaction in SAP GUI like SE80, SE38/37 and so on.

PS: explanation of new terms:

CompProv – in this new type of object it is possible to merge data from classic BW InfoProviders with data from SAP HANA models using Union and Join or just merge BW data. See the details here.

You can only use this new CompositeProvider if you are using a SAP HANA database.
Open ODS Views – You can define BW data models using it for integration of existing BW objects (DataSources) without the need to create InfoObjects. Open ODS View represents BW metadata of BW structures. While not having InfoObjects high level of consistency of the data model is not guaranteed. On other hand you can change the model much more quickly comparing to the model with InfoObjects. Also it has no separate storage of master and transaction data. See the details here.

-      Update 02/05/2016 –
BW Modeling Tools are usually referred by abbreviation BWMT

-      Update 12/07/2017 –
Current version for ABAP and BW tools updated. For details see here for BW Modeling Tools and here for ABAP tools.

Wednesday, February 19, 2014

Few words on table RSPOR_T_PORTAL – Portals connected to BW

This blog is originally posted on SCN:


This table is very important from portal access to BW system point of view. It stores the configuration information about connected portals. There may be several portals connected into one BW system. One of them must be marked as default one. There is information about logical destination of portal, its system name, prefixes of URL/Metadata Repository, etc. Table has other information when it comes to configuration of Report to report interface (RRI), Adobe Document Services (ADS), SAP Export Library, fonts and portal platform.

Customizing of the table is available via IMG path: SAP Reference IMG -> SAP NetWeaver -> SAP Business Information Warehouse -> Reporting-relevant Settings -> BEx Web -> Integration into the SAP Enterprise Portal -> Maintaining Portal-Server Settings for EP 6.0. In newer versions of BW 7.x this customizing entry is disabled and directly ABAP report RSPOR_SETUP shall be used as specified in customizing note “Settings for Integration with SAP EP 6.0” in TA SPRO.

Important Fields:

RFCDEST                    Logical Destination - RFC Destination to connect the portal from BW and vice versa. It is maintained in TA SM59. Format of the field can look like e.g.: __

SYSTEM_NAME         System Name in Portal System Landscape – Value for BW is usually „SAP_BW“

DEFAULT_PORTAL   Indicates Whether Entry Points to Standard Portal. Only one of several connected portals can be default. This is important for RRI functionality. Parameter RSPOR_DEFAULT_PORTAL needs to be added to user master record. See SAP Note 1818322 - RSPOR_T_PORTAL configuration in the context RRI

URL_PREFIX                         URL Prefix for Portal URLs – it is needed for the input help in BEx Information Broadcasting. BEx report uses URL prefix for iViews. Value usually is: http(s)://hostname:

KM_RM_PREFIX                   Prefix for BW Metadata Repository Manager (RM) – so called RM prefix for BW metadata.  It determines path in Knowledge Management (KM) used by BW metadata while accessing repository manager. Usage of the field is used e.g. when broadcasting: links to BEx objects in the portal are generated. Value usually is: /bw_metadata

CM_RM_PREF_META           Prefix for BI CM Repository for Metadata – IF documents for metadata are migrated to the portal KM (to a BI CM repository) the prefix is used. By this prefix BW checks if whether/where the documents were migrated. Value usually is: /bi_documents.

CM_RM_PREF_MAST           Prefix for BI CM Repository for Master Data – Same as above. But prefix is for master data.

CM_RM_PREF_TRAN           Prefix of BI CM Repository InfoProv. Data - Same as above. But prefix is for transactional data – data stored in InfoProviders.

SAP_EXPORT_LIB               Use SAP Export Library (PDF) – If you want to use BI Export Library for exporting of BW report’s output into the different format like PDF. In that case put X as value.

FONT_PATH                          Directory of Fonts – path to fonts if you are using BI Export Library. See field above. Also see SAP Note 1166921 - Default font not used when font path empty

ADS_HTTPS                          Use HTTPS for Adobe Document Services (PDF). In case of issues see SAP Note 1112378 - USE_HTTPS_FOR_ADS=X is not evaluated.

PORTFOLIO_PATH   Directory for "My Portfolio" - in BEx Web, value must include string "" -> see Note 1830507 - Directory of My portfolio field in rspor_t_portal table

DEFAULT_FONT        Standard Font –While using the BI Export Library this specifies default font to be used by the library.

PLATFORM              Runtime Platform – Either your portal is based on NetWeaver or BusinessObjects Enterprise. Values NW for NetWeaver or BOE for the other one.

Friday, February 7, 2014

SAP’s new programming language – RIVER

During last year SAP announced also one new programming language - SAP River. Let’s have a look what it is about. River is harvested partly on SAP acquisition of Coghead and Frictionless Commerce. Coghead contributed by foundation of web based platform to build and host custom online database applications. This mainly became part of "River" OnDemand platform. Frictionless Commerce contributed by its rapid application development platform.

Married by those two and years of development on top of that SAP came up with River. The River is rapid web based development platform based on the SAP HANA. From programming perspective it is programming model that allows end users to create light-weight applications using drag and drop tools. In connection to HANA; it generates all the HANA development artefacts for HANA.


On other hand there is RDL (River Definition Language). It is executable specification language that allows focus on what application does. It stays away from how the application’s requirement is realized on top of HANA.

To sum it up:

River (original or platform River) - cloud based platform for rapidly developing applications with Flex UI design time and default runtime. It offers REST API for exposing server functionality over it own UI can be built.

RDL - Started as a new language which embeds original River, as a design time paradigm. Later RDL changed embraced within HANA to enable HANA based applications.

Useful links:
sap-river.com – Try it live now!