Category Archives: SAP BW


Analyze content of BW Transport Requests

While being displayed with their human readable description in the BW Administration Workbench (RSA1) some BW transportable objects are identified with a technical name (in UUID format) in the Transport Request object list. This can be quite annoying when one is trying to troubleshoot transport related errors. For instance when someone is trying to determine which Transformations, DTPs or Query Elements are contained in a given transport.

The following program lists all the objects of a transport by their human readable name. The program is in SAPLINK format.

A similar program was published in the SCN code gallery. See the post: BW Transport Validation Utility

Download – NUGG_ZBI_TRANSPORT_REQUEST_CHECK.nugg – 26.7 kB – 372   downloads

Update – Feb 10 2016 – Transaction RS09 or report RSAWBN_REQ_TEST_TB provide the same functionnality. See this SCN Post

BW Transport Validation Utility

This program was originally posted in SCN code gallery. I tested it on my system and created a SAPLINK file for it (see download button below).

This utility lists the contents of a BW Transport Request and translates BW object IDs into readable format.

This applies to

  • Transformations – TRFN
  • Update Rules – UPDR
  • Query Elements – ELMT
  • DTPs – DTPA


Download – PROG_ZBW_TRANSPORT_ANALYSIS.slnk – 71.3 kB – 396   downloads

See original article from Kin C. Chan here

SAP BW Master Data Deletion Program

Up to BW 7.3 included program RSDMD_DEL_BACKGROUND could be used to run MD deletions within Process Chains.
However already in 7.3 this program is obsolete and is to be replaced by a new program: RSDMDD_DELETE_BATCH. See note “1705824 – Old master data deletion is obsolete“.

The parameters of the new program are different, and you can find an explanation in the following post:

BEx Analyzer Macro to Locate position of GRID_1 and position of first data cell

The below macro will locate the top left cell of the BEx DataGrid GRID_1 and the position of the top left data cell.

See also the following post for additional info on VBA and BEx Analyzer ‎

To make this macro work you need to add the BEx Macros (go to Workbook Settings in the BEx Add In, Exits, Add Macros)


[Visual Basic light=”true”]
Sub Macro1()
Dim oBexItem As BExItem
Dim oBexItems As BExItems

Dim oBex As Object

Dim range1 As Range

‘ Connect to Bex Analyzer
Set oBex = Application.Run(“BEXAnalyzer.xla!GetBex”)

‘ Obtain all BEx Items in the worksheet
Set oBexItems = oBex.Items

‘ Find the GRID item by name and unhide it plus a range that is offset to the row below it
For Each oBexItem In oBexItems
If (oBexItem.Name = “GRID_1”) Then
‘Set range1 = oBexItem.Range
‘set the correct worksheet
Dim lFirstDataCell As Variant
lFirstDataCell = oBexItem.DataProvider.Result.Grid.firstdatacell
MsgBox oBexItem.Range.Row
MsgBox oBexItem.Range.Column
MsgBox lFirstDataCell.X
MsgBox lFirstDataCell.Y

GridName = oBexItem.Name
MsgBox GridName
End If

End Sub
[/Visual Basic]

Program to mass update BEx External Access flag

I found  a blog post describing a program that allows you to change the BEx query “External Access” flag en masse. Very useful if you start integrating SAP BO and SAP BW and want to expose your existing queries.

The blog author is named Campbell Skene and here is the link to his blog:

You can download the program he proposes in Saplink format here below.

Download – ZBW_QUERY_EXTERNAL_UPDATE – 7.8 kB – 368   downloads

BW RSA6 Application Component Hierarchy – Creat Node and Transport

You can maintain the application component hierarchy in RSA6. There are options to create/delete/rename and move hierarchy nodes under the Hierarchy menu.

To transport a modified version of the RSA6 application component hierarchy you will have to manually add it to a transport by adding R3TR DSAA APCO (to transport the inactive version of the hierachy use R3TR DSAD APCO).

If the application hierarchy is in the $TMP package you first have to set it to a transportable package as follows:

If your application component hierarchy is assigned to local object then first you need to change the package.

Go to TCode: SE03
For Object Type Selection use: DSAA
Object: APCO
Now change object directory from $TMP to the one being used in your project.

See SAP note 382471 – BW-OLTP-APCO: How do I transport it?
Also check OSS note 542454

See also: