sap bw forums sapadvisors.com

November 22, 2007 by vcsreddy

Hi my dear sap friends,

here is another sap help site where you can get lot of information related to sap.please help me in developing the site www.sapadvisors.com or www.forums.sapadvisors.com where you can share your experiences and help people to know sap.please mail your sugetions or materilals or papers that are to be published in www.sapadvisors.com site at admin@sapadvisors.com

regards,

sekhar

SAP BW Material ,Documents,Download PDF

December 14, 2006 by vcsreddy

You can get sap BW and Sap Bw BPS Related documents from http://sap.seo-gym.com.

Which is from SAP site. Copyrights of SAP.

sap bw LO Extraction

November 16, 2006 by vcsreddy
  1. Go to transaction code RSA3 and see if any data is available related to your DataSource. If data is there in RSA3 then go to transaction code LBWG (Delete Setup data) and delete the data by entering the application name.
  2. Go to transaction SBIW –> Settings for Application Specific Datasource –> Logistics –> Managing extract structures –> Initialization –> Filling the Setup table –> Application specific setup of statistical data –> perform setup (relevant application)
  3. In OLI*** (for example OLI7BW for Statistical setup for old documents : Orders) give the name of the run and execute. Now all the available records from R/3 will be loaded to setup tables.
  4. Go to transaction RSA3 and check the data.
  5. Go to transaction LBWE and make sure the update mode for the corresponding DataSource is serialized V3 update.
  6. Go to BW system and create infopackage and under the update tab select the initialize delta process. And schedule the package. Now all the data available in the setup tables are now loaded into the data target.
  7. Now for the delta records go to LBWE in R/3 and change the update mode for the corresponding DataSource to Direct/Queue delta. By doing this record will bypass SM13 and directly go to RSA7. Go to transaction code RSA7 there you can see green light # Once the new records are added immediately you can see the record in RSA7.
  8. Go to BW system and create a new infopackage for delta loads. Double click on new infopackage. Under update tab you can see the delta update radio button.
  9. Now you can go to your data target and see the delta

How To BPS Variables of type exit SAP NetWeaver ’04 (BW3.5, SEM 31.B SP19 – SEM3.0 SP14 - SEM3.5)

September 27, 2006 by vcsreddy

 1 Scenario
1.1 Simple interaction between two variables.
This example shows how one variable can be filled based on the value of another variable. This can be
used in various circumstances. The implementation details are listed in the chapters 3.2 Basics and 3.3
Simple interaction between variables – implementation.
· Next year: You have a variable A containing the actual year and you would like to fill variable B
for the next year automatically based on A.
· Reference versions: You have a variable A containing your current plan version and you would
like to fill variable B with the corresponding reference version.
· Global variables: From a logical point of view you have the same variables in several planning
areas e.g. the actual year. Now you would like to define one ‘leading’ area containing the variable
that should automatically set/adjust the corresponding variables in the other planning areas.
1.2 Use Variables of type attribute in the WEB or in the
planning folders
Due to technical reasons you can’t use variables of type attributes in the web or in the planning folders. A
workaround is explained in chapter 3.4 Using variables of type attribute.
1.3 Selection of an interval
This example shows how you can fill a variable with an interval by specifying the ‘from’ and the ‘to’
separately, e.g. with two drop down boxes in a WEB Application. This is useful when you need one
variable with an interval (e.g. for data selection in a planning package) as well as the upper and lower
values of the interval (e.g. for the parameters of a planning function). Please see chapter 3.5 Selection of
an interval.
1.4 One variable restricts the selection of another variable.
You work in the WEB and you have a variable A containing the material group. Now variable B should
contain all materials belonging to this group.
1.5 BW Query uses SEM-BPS/BW-BPS variable for default
value
During your planning session you have restricted a variable to a single value. Now you like to execute a
BW query that should use this restriction as default. Please see chapter 3.7 BW Query uses SEM-BPS/BWBPS
variable for default value for more details.
2 Introduction
Before starting there are some things that have to be taken into consideration when working with the
examples.
When the system sets or reads the values of several variables in one step (e.g. when pressing the refresh
button) no particular sequence of processing is guaranteed. This could lead to problems when you work
with ‘dependent’ variables as shown in the following example. You can force the system to set and refresh
a variable value after each change by pressing the refresh button in the planning folder each time or, for
variables in the WIB, by setting the event-attribute to true.
Example: You allow the choice of the material group and the material simultaneously with the
consequence that you can enter an invalid combination. Hence you have to specify a rule that determines
which variable is the dependent and which is the leading one in order to determine the result values.
The variables are often part of the selection. Please consider that for one execution of a planning function
the value is normally requested several times. This implies that it doesn’t make sense to send pop-ups
without additional logic. As a consequence of this you should buffer the selection results in the variable
to avoid a certain overhead.
During processing using the default settings, the WIB buffers the values of a variable internally and will
not change the set of variable values that are displayed after the initial execution of a WEB planning
application. This default can be changed by specifying a variable that should trigger a re-read of a second
variable. (When using SEM3.1-3.5 you need to add a record to table upc_dark2 with param=
WEB_REFRESH_ON_CHANGE and value=X.)
Example: The variable product delivers the values 1000 and 1001 on the execution of the web application.
As this variable is of type exit it’s values can change during runtime to 2000 and 2001 (e.g. as a reaction to
the change of variable for product line). The drop-down box on the WEB page will still show the values
1000 and 1001 unless you have specified that a change of product line should re-read the values of the
drop-down box.
To understand the steps described in the following chapters it is assumed that you are familiar with the
ABAP development transactions (e.g. SE80 or SE37) and that you know how to create and activate new
function modules.
Create the function module
z_variable_get_detail. The complete
Source code is listed in the attachments
of this document.
(See chapter 4.1 Function module
Z_VARIABLE_GET_DETAIL).
FUNCTION z_variable_get_detail.
*”————————————————-
*”*”Local interface:
*” IMPORTING
*” VALUE(I_AREA) TYPE UPC_VAR-AREA
*” VALUE(I_VARIABLE) TYPE UPC_VAR-VAR
*” VALUE(I_BUFFER) TYPE BOOLE-BOOLE OPTIONAL
*” EXPORTING
*” VALUE(E_SUBRC) TYPE SY-SUBRC
*” VALUE(ES_RETURN) TYPE BAPIRET2
*” VALUE(E_TYPE) TYPE UPC_VAR-VARTYPE
*” REFERENCE(ETO_VARSEL_ALL) TYPE UPC_YTO_CHARSEL
*” REFERENCE (ETO_VARSEL) TYPE UPC_YTO_CHARSEL
*” REFERENCE (ETO_CHANM) TYPE UPC_YTO_CHA
*”————————————————-

All the data in this post are from sap . this is not of my own.

How to Execute BPS Planning Sequence In Back Ground

September 19, 2006 by vcsreddy

1 Scenario

In BW-BPS a planning function can be executed by the end user directly in the user

interface (planning folders or web interfaces). These planning functions are executed

online and the user will have to wait until they are finished until he can proceed with his

task. Sometimes an end user wants to start a planning function that is a very long

running one and does not want to wait for the planning function to be finished before

continuing to work. It is possible to execute a planning sequence in batch but with the

current system setup this is a task that is usually performed only by super users or

administrators. The aim of this paper is show a method how a planning sequence (and

thus indirectly a planning function) can be started in a batch job by the end user by

simply pressing a button in the user interface.

2 Introduction

This paper shows how a planning function type Exit can be created that start planning

sequences in a batch process. The name of the planning sequence that is to be started

will be entered in the parameter group of the planning function. The planning function

(Exit) itself can be started in a web interface or a planning folder by simply pressing a

function button.

The sequence that runs in the batch will write a log so the end user can check whether

his batch job was executed correctly.

As the planning function type Exit is only used for starting the batch process and should

not perform any changes on the transaction data we use a planning package that

contains no data. This will make sure that

- there is no overlap with the selection of the planning sequence itself and thus no

locking issue will occur;

- as few time as possible is spent on the data selection (note: the minimum data

base time will be reached when selecting from an empty InfoCube that contains

just one characteristic and one key figure).

Note 1: The planning function that is executed in batch runs on a separate planning

buffer instance. That means that any unsaved data or variable settings the user has

made in the planning session from which the sequence is triggered will not be available

for the batch sequence! It is possible to force a save by calling the function module

API_SEMBPS_POST in the exit function BEFORE the sequence is triggered.

Note 2: If the planning sequence that is executed in the batch job has some data in

common with the current web interface or with the exit function used for starting the

batch job then there will be a locking issue. In the coding of the report

Z_BUNDLE_EXECUTE a work around for this problem can be used by un-commenting

the relevant lines (see below). The report will try to execute the planning sequence. If an

error occurs then the report will wait for one minute and try to execute the planning

sequence again. This procedure is repeated ten times. This gives the user enough time

to leave the web interface and release the locks after he has pressed the button for

starting the planning sequence in batch.

The Step By Step Solution

First of all we will implement the necessary function modules and reports.

3.1 Create the Report Z_BUNDLE_EXECUTE

1. This report will be called from the Init

module of the planning function and

is used to start the planning

sequence in batch. If you want to

use another name for the report you

will also have to adapt the coding for

the Init module. You will find the

coding in the Appendix. Use

transaction se38 to create the report.

3.2 Create the Function Modules for the Planning Function

2. Create the Init function module by

either using transaction se80 or

transaction se37. Use the coding

from the Appendix.

3. Create an empty Exit function

module. You can either copy the

function module TEMPLATE_EXIT

in the function group UPFX or use

this function module directly in your

planning function.

3.3 Create the Planning Function type Exit

4. In a given planning level create a

planning function type Exit. Enter the

name of the Init function module and

the name of the Exit function module

(either the one that you created or

use TEMPLATE_EXIT directly).

5. Create an Exit parameter that will be

used in the parameter group to

specify the planning sequence that

is to be started in batch. You can

create your own data dictionary field

or use the data dictionary field

char60.

3.4 Create the Parameter Group, Package, and End user Front end

6. Create one or several parameter

groups. Specify the names of the

planning functions that are to be

executed.

7. Create a planning package. As the

planning function is just used for

starting the sequence in batch it is

wise to crate a planning package

that will select no data on the data

base (see above). One could for

example use 0FISCYEAR = 9999.

8. You can now use you planning

function in any of the BPS front

ends, e.g. planning folders or web

interfaces.

3.5 Check the Execution of the Planning Sequence

9. Each user can check the execution

of his planning sequences. One has

to choose from the menu ‘System’

the entry ’Own Jobs’. The name of

the job is ‘BPS_BUNDLE_xxx’

where ‘xxx’ is replaced by the name

of the planning sequence. Additional

information can be found in the job

log. The same information can be

gained from the BPS0 when going to

the screen for planning sequences

and choosing the job overview.

 

4 Appendix: Coding

4.1 Report Z_BUNDLE_EXECUTE which executes the BPS Planning Sequence in Back Ground

*&———————————————————————*

*& Report Z_BUNDLE_EXECUTE

*&

*&———————————————————————*

*&

*&

*&———————————————————————*

REPORT Z_BUNDLE_EXECUTE.

DATA: lt_return TYPE bapiret2 OCCURS 0.

DATA: ls_return TYPE bapiret2.

DATA: ls_t100 LIKE t100.

DATA: g_dummy TYPE c.

DATA: g_s_log TYPE bal_s_log.

DATA: l_s_msg TYPE bal_s_msg.

data: l_log_handle type BALLOGHNDL.

data: lt_log_handle type BAL_T_LOGH.

PARAMETERS: bundle LIKE upf_bsteps-bundle.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR bundle.

CALL FUNCTION ‘UPF_AI_BUNDLE_VALUES_GET’

* EXPORTING

* I_DISPLAY =

CHANGING

x_bundle = bundle.

AT SELECTION-SCREEN.

START-OF-SELECTION.

DATA: l_subrc TYPE sy-subrc.

DATA: l_subrc2 TYPE sy-subrc.

CLEAR lt_return.

** Un-comment for workaround in case of locking problems

*do 10 times.

*

* Execute the global planning sequence

CALL FUNCTION ‘API_SEMBPS_GLSEQUENCE_EXECUTE’

EXPORTING

i_sequence = bundle

IMPORTING

e_subrc = l_subrc

TABLES

etk_return = lt_return.

IF l_subrc = 0.

* Save to data base

CALL FUNCTION ‘API_SEMBPS_POST’

IMPORTING

e_subrc = l_subrc2

es_return = ls_return.

if not ls_return is initial.

append ls_return to lt_return.

endif.

** Un-comment for workaround in case of locking problems

* exit.

* else.

* wait up to 60 seconds.

*

ENDIF.

 

** Un-comment for workaround in case of locking problems

*enddo.

*

* release the buffer

CALL FUNCTION ‘API_SEMBPS_REFRESH’.

* define some header data of this log

g_s_log-extnumber = ‘Bundle_Log’.

g_s_log-aluser = sy-uname.

g_s_log-alprog = sy-repid.

g_s_LOG-OBJECT = ‘SEM-BPS’.

G_s_LOG-SUBOBJECT = ‘FUNC’.

* create a log

CALL FUNCTION ‘BAL_LOG_CREATE’

EXPORTING

i_s_log = g_s_log

IMPORTING

e_log_handle = l_log_handle

EXCEPTIONS

OTHERS = 1.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

LOOP AT lt_return INTO ls_return.

* define data of message for Application Log

CLEAR: l_s_msg.

l_s_msg-msgty = ls_return-type.

l_s_msg-msgid = ls_return-id.

l_s_msg-msgno = ls_return-number.

l_s_msg-msgv1 = ls_return-MESSAGE_V1.

l_s_msg-msgv2 = ls_return-MESSAGE_V2.

l_s_msg-msgv3 = ls_return-MESSAGE_V3.

l_s_msg-msgv4 = ls_return-MESSAGE_V4.

CALL FUNCTION ‘BAL_LOG_MSG_ADD’

EXPORTING

I_LOG_HANDLE = l_log_handle

i_s_msg = l_s_msg

EXCEPTIONS

log_not_found = 0

OTHERS = 1.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

ENDLOOP.

if not lt_return is initial.

append l_log_handle to lt_log_handle.

CALL FUNCTION ‘BAL_DB_SAVE’

EXPORTING

* I_CLIENT = SY-MANDT

* I_IN_UPDATE_TASK = ‘ ‘

* I_SAVE_ALL = ‘ ‘

I_T_LOG_HANDLE = lt_log_handle

* IMPORTING

* E_NEW_LOGNUMBERS =

* EXCEPTIONS

* LOG_NOT_FOUND = 1

* SAVE_NOT_ALLOWED = 2

* NUMBERING_ERROR = 3

* OTHERS = 4

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

endif.

CALL FUNCTION ‘BAL_DSP_LOG_DISPLAY’

 

* EXPORTING

* I_S_LOG_FILTER =

* I_T_LOG_CONTEXT_FILTER =

* I_S_MSG_FILTER =

* I_T_MSG_CONTEXT_FILTER =

* I_T_LOG_HANDLE =

* I_T_MSG_HANDLE =

* I_S_DISPLAY_PROFILE =

* I_AMODAL = ‘ ‘

EXCEPTIONS

OTHERS = 1.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE ‘S’ NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

if l_subrc <> 0.

message id ‘UPC’ type ‘E’ number 308.

endif.

4.2 Init Function Module to call the report for execution os sequence in back ground

FUNCTION Z_BATCH_INIT.

*”———————————————————————-

*”*”Lokale Schnittstelle:

*” IMPORTING

*” REFERENCE(I_AREA) TYPE UPC_Y_AREA

*” REFERENCE(I_PLEVEL) TYPE UPC_Y_PLEVEL

*” REFERENCE(I_PACKAGE) TYPE UPC_Y_PACKAGE

*” REFERENCE(I_METHOD) TYPE UPC_Y_METHOD

*” REFERENCE(I_PARAM) TYPE UPC_Y_PARAM

*” REFERENCE(IT_EXITP) TYPE UPF_YT_EXITP

*” REFERENCE(ITO_CHASEL) TYPE UPC_YTO_CHASEL

*” REFERENCE(ITO_CHA) TYPE UPC_YTO_CHA

*” REFERENCE(ITO_KYF) TYPE UPC_YTO_KYF

*” EXPORTING

*” REFERENCE(ETO_CHAS) TYPE ANY TABLE

*” REFERENCE(ET_MESG) TYPE UPC_YT_MESG

*”———————————————————————-

data: ls_exitp like line of it_exitp,

ls_mesg like line of et_mesg,

l_jobname LIKE TBTCJOB-JOBNAME,

l_jobcount LIKE TBTCJOB-JOBCOUNT,

l_bundle like upf_bsteps-bundle.

read table it_exitp index 1 into ls_exitp.

if sy-subrc <> 0.

 

exit.

endif.

concatenate ‘BPS_BUNDLE_’ ls_exitp-chavl into l_jobname.

CALL FUNCTION ‘JOB_OPEN’

EXPORTING

jobname = l_jobname

IMPORTING

jobcount = l_jobcount

EXCEPTIONS

cant_create_job = 1

OTHERS = 2.

IF sy-subrc <> 0.

CLEAR ls_mesg.

ls_mesg-msgid = sy-msgid.

ls_mesg-msgty = sy-msgty.

ls_mesg-msgno = sy-msgno.

ls_mesg-msgv1 = sy-msgv1.

ls_mesg-msgv2 = sy-msgv2.

ls_mesg-msgv3 = sy-msgv3.

ls_mesg-msgv4 = sy-msgv4.

APPEND ls_mesg TO et_mesg.

EXIT.

ENDIF.

l_bundle = ls_exitp-chavl.

SUBMIT z_bundle_execute

WITH bundle = l_bundle

USER sy-uname VIA JOB l_jobname NUMBER l_jobcount

AND RETURN.

IF sy-subrc <> 0.

CLEAR ls_mesg.

ls_mesg-msgid = ‘UPC’.

ls_mesg-msgty = ‘E’.

ls_mesg-msgno = ‘306′.

ls_mesg-msgv1 = ‘Z_BUNDLE_EXECUTE’.

ls_mesg-msgv2 = l_jobname.

APPEND ls_mesg TO et_mesg.

EXIT.

ENDIF.

CALL FUNCTION ‘JOB_CLOSE’

EXPORTING

jobcount = l_jobcount

jobname = l_jobname

strtimmed = ‘X’

EXCEPTIONS

cant_start_immediate = 1

invalid_startdate = 2

job_close_failed = 4

job_nosteps = 5

job_notex = 6

lock_failed = 7

OTHERS = 8.

IF sy-subrc <> 0.

CLEAR ls_mesg.

ls_mesg-msgid = sy-msgid.

ls_mesg-msgty = sy-msgty.

ls_mesg-msgno = sy-msgno.

ls_mesg-msgv1 = sy-msgv1.

ls_mesg-msgv2 = sy-msgv2.

ls_mesg-msgv3 = sy-msgv3.

ls_mesg-msgv4 = sy-msgv4.

APPEND ls_mesg TO et_mesg.

EXIT.

ENDIF.

CLEAR ls_mesg.

ls_mesg-msgid = ‘UPC’.

ls_mesg-msgty = ‘S’.

ls_mesg-msgno = ‘305′.

ls_mesg-msgv1 = l_jobname.

APPEND ls_mesg TO et_mesg.

ENDFUNCTION.

 

*————————————————– END————————-

SAP BW Consultant Roles And Responsibilities

September 18, 2006 by vcsreddy

Roles in BW Projects

 

SAP BW Data Extraction Consultant

Description

The BW Data Extraction Consultant is responsible to identify and obtain the data required to satisfy the requirements of the BW project.  This data may include:

»         SAP R/3 data

»         New Dimension product data

»         Data external to SAP within the organization (legacy data)

»         Data external to SAP from outside the organization (provider data – D&B, Nielson)

The BW Data Extraction Consultant role has a broad range of responsibilities and may require multiple individuals to satisfy the role depending on the scope of the BW project and the complexity and quality of the data.

If SAP R/3 and New Dimension data only is required to satisfy requirements and if this data is included in the standard Business Content of BW, this role may be combined with the BW Application Consultant role.  This standard Business Content allows for extraction of R/3 and New Dimension data in a straightforward and rapid manner.

If non-SAP data is required, if standard Business Content must be enhanced significantly, if BAPI interfaces are being used, and/or if the data quality from the source system is insufficient, this role can be quite complex and can required significant resources.  This complexity and quality of data is a primary contributor to the size and scope of the BW project.

If legacy data is being extracted a close relationship is required with the legacy extraction expert.  In some cases, the legacy extraction expert may assume this responsibility.

Time Commitment

 

 – the time which must be committed to this Role to ensure the project requirements are met

Project Complexity

Time Commitment

Low

If standard Business Content of BW is the only data required, this role can be combined with the BW Application Consultant.  The role is primarily performed during the early to mid-phases of the project with completion of extractions required by the middle of the project so that testing, training, and implementation can be completed.

Medium

If extensions to the standard Business Content of BW is required (either by including addition SAP data or extracting from non-SAP sources), this role should be satisfied by individuals other than the BW Application Consultant so that efforts may continue in parallel.

High

Depending on the complexity and quality of the data necessary to satisfy the requirements, this role may require a significant number of resources.  A resource could potentially be required for each major extraction that has to be developed.

Key Attributes

Key attributes of an individual supporting the analysis and design functions of this role include:

»         SAP R/3 and BW application knowledge in the business process area

»         The ability to develop a solution using BW to solve a company’s business requirements

»         The ability to work effectively in a diversified team

»         Strong analytical skills

»         The ability to work independently and as a team member

»         Strong time management skills and multi-tasking capabilities

»         Knowledge of application software tools, including presentation, spreadsheet, and word processing applications

»         A working understanding of the AcceleratedSAP methodology and tools

»         Experience in the customer’s industry

»         An understanding of the source data (both SAP and non-SAP data)

Key attributes of an individual supporting the development functions of this role include:

»         Experience with data warehouse data analysis

»         Experience with data extraction development

»         Detailed knowledge of the data required to be extracted

»         Knowledge of the customer’s current business processes

»         Knowledge of data quality issues

»         Knowledge of scheduling tools

»         An indepth understanding of specific data extraction tools or development language being used to extract the data (e.g., 4GL’s or specialized data extraction tools, BAPI’s)

»         Strong written and oral communication skills

»         Strong analytical skills

»         The ability to work in diversified teams

Key Tasks

Specifically, the BW Data Extraction Consultant is responsible for:

»         Designing the data solution to satisfy defined business requirements

»         Identifying the data in the source environment

»         Mapping the data to the BW environment

»         Identifying data quality gaps

»         Developing a plan to close data quality gaps

»         Developing the required extraction programs, if necessary

»         Developing the associated interface programs, if necessary

»         Testing of all developed programs

»         Ensuring integration testing of data from various sources

»         Developing a production support plan

Don’ts

The BW Data Extraction Consultant should not become ineffective because of long-standing data quality problems, but should identify these problems and escalate them to the Customer Project Manager for resolution.  Often data quality and inconsistency issues are systemic in the organization and must be addressed a higher level in the organization to get resolved.Avoid the tendency to attempt to cleanse all data within the BW extraction process.  Often data cleansing is best performed at the legacy source system level.

SAP BW Data Access Consultant

Description

The BW Data Access Consultant is responsible to assess the business requirements, and design and develop a data access solution for the BW project.  This solution may include use of:

»         BW’s Business Explorer

»         Non-SAP Data Access tools (e.g., Business Objects, Cognos, Crystal Reports, and other certified data access tools)

»         Visual Basic development

»         Web development

»         WAP (wireless) development

»         R/3 drill-through

The BW Data Access Consultant role has a broad range of responsibilities and may require multiple individuals to satisfy the role depending on the scope of the BW project and the requirements associated with data access.

The BW Data Access Consultant should work closely with the individuals responsible for business requirements gathering and analysis and have a thorough understanding of the way the data will be used to make business decisions.

Often significant change management issues are generated as a result of modifications required by end users to the data access design and implementation.  As a result the BW Data Access Consultant is in a key position to provide valuable information to the change agent or change management process.

Time Commitment

 – the time which must be committed to this Role to ensure the project requirements are met

Project Complexity

Time Commitment

Low

If standard Queries from BW are used and the Business Explorer is the tool selected, this effort can be performed by the BW Application Consultant

Medium

If modifications or significant extensions are required to the Queries from BW, a resource should be committed specifically to work in this area.

High

If a product other than the Business Explorer is selected, a skilled consultant with this expertise should be committed to the project.  If VBA or Web development is needed, this too requires specialized skills and resources.

Key Attributes

The BW Data Access Consultant should have:

»         Strong business emphasis and perspective

»         Excellent communication skills since the role works closely with the end users of the BW

»         Experience with the appropriate data access tool(s)

»         Strong analytical skills

»         An understanding of the customer’s business processes

»         An understanding of the associated output/display requirements

»         The ability to work with diversified teams

Key Tasks

Specifically, the BW Data Access Consultant is responsible for designing the data access solution to include:

»         Understanding the data that will be available in BW in business terms

»         Identifying the way end users want to analyze the data in BW

»         Designing the data access solution to satisfy defined business requirements

The BW Data Access Consultant is also responsible for developing the data access solution to include:

»         Developing options for data access (i.e. web solution, R/3 drill through, ODS reporting, master data reporting, 3rd party tools)

»         Developing prototypes of data access for review with end users

»         Developing the required data access solutions

»         Developing the associated interface programs and/or customized web enhancements, if necessary

»         Configuring the Reporting Agent, if necessary

»         Configuring the GIS

»         Testing of all developed solutions

»         Ensuring integration testing of data access solution

»         Developing a production support plan

»         Working with training development to include data access solution in BW course materials

Don’ts

The BW Data Access Consultant should not assume that they know what the end user wants without developing and demonstrating prototypes throughout the process.  Often end user requirements evolve as they see the kind of data that is available.

Also, the BW Data Access Consultant should not wait until all valid data is available in BW before developing prototypes, but rather use data that is not valid where the end user will focus on the design of the access method rather than the data.


SAP BW Data Architect

Description

The BW Data Architect is responsible for the overall data design of the BW project.  This includes the design of the:

»         BW InfoCubes (Basic Cubes, Multi-cubes, Remote cubes, and Aggregates)

»         BW ODS Objects

»         BW Datamarts

»         Logical Models

»         BW Process Models

»         BW Enterprise Models

The BW Data Architect plays a critical role in the BW project and is the link between the end user’s business requirements and the data architecture solution that will satisfy these requirements.  All other activities in the BW project are contingent upon the data design being sound and flexible enough to satisfy evolving business requirements.

Time Commitment

 – the time which must be committed to this Role to ensure the project requirements are met

Project Complexity

Time Commitment

Low

If the BW project utilizes standard BW content and InfoCubes, this role can be satisfied by the BW Application Consultant.

Medium

If the BW project requires enhancements to the standard BW content and InfoCubes and/or requires the integration of non-SAP data, this role may require a committed resource.

High

If the BW project requires significant modification and enhancement to standard BW content and InfoCubes, it is highly recommended that an experienced resource be committed full-time to the project.

Key Attributes

The BW Data Architect must have:

»         An understanding of the BW data architecture

»         An understanding of multidimensional modeling

»         An understanding of the differences between operational systems data modeling and data warehouse data modeling

»         An understanding of the end user’s data

»         An understanding of the integration points of the data (e.g., customer number, invoice number)

»         Excellent troubleshooting and analytical skills

»         Excellent communication skills

»         Technical competency in data modeling

»         Multi-language skills, if an international implementation

»         Working knowledge of the BW and R/3 application(s)

»         Experience with Data Modeling application software (i.e., ERWIN, Oracle Designer, S-Designer, etc.)

Key Tasks

The BW Data Architect is responsible for capturing the business requirements for the BW project.  This effort includes:

»         Planning the business requirements gathering sessions and process

»         Coordinating all business requirements gathering efforts with the BW Project Manager

»         Facilitating the business requirements gathering sessions

»         Capturing the information and producing the deliverables from the business requirements gathering sessions

»         Understanding and documenting business definitions of data

»         Developing the data model

»         Ensuring integration of data from both SAP and non-SAP sources

»         Fielding questions concerning the data content, definition and structure

This role should also address other critical data design issues such as:

»         Granularity of data and the potential for multiple levels of granularity

»         Use of degenerate dimensions

»         InfoCube partitioning

»         Need for aggregation at multiple levels

»         Need for storing derived BW data

»         Ensuring overall integrity of all BW Models

»         Providing Data Administration development standards for business requirements analysis and BW enterprise modeling

»         Provide strategic planning for data management

»         Impact analysis of data change requirements

As stated above, the BW Data Architect is responsible for the overall data design of the BW project.  This includes the design of the:

»         BW InfoCubes (Basic Cubes, Multi-cubes, Remote cubes, and Aggregates)

»         BW ODS Objects

»         BW Datamarts

»         Logical Models

»         BW Process Models

»         BW Enterprise Models


Don’ts

The BW Data Architect should not become distracted with issues outside the data modeling arena but should be allowed to focus on the issues surrounding optimizing the data design for the BW project.

The BW Data Architect should design to satisfy specific business requirements, but should keep in mind the overall, long-term goals of the BW in the organization.


SAP BW Application Consultant

Description

The BW Application Consultant is responsible for utilizing BW to satisfy the business requirements identified for the project.  As provided in the other roles, if the scope of the BW project is tightly controlled and can use standard BW Business Content, InfoCubes, and Queries, the BW Application Consultant may assume the responsibility to perform several roles concurrently to include:

»         BW Data Architect

»         BW Data Access Consultant

»         BW Data Extraction Consultant

»         SAP Project Manager

»         Business Process Team Lead

»         Authorization Administrator

If this occurs, the BW Application Consultant must have a broad range of skills and this position will be under significant pressure during the course of the BW project.  In this situation, the BW Application Consultant inherently must be responsible for the overall integrated design and realization of the BW solution.

If the project scope is broad and must extend Business Content, InfoCubes and/or Queries, then the project warrants resources being assigned to the roles identified above.  In this case, the BW Application Consultant is responsible for the overall integrated design and coordinated realization of the BW solution.

If this role is assumed by an SAP Consultant, often the expectations are that they are familiar with all components and functionality of Business Information Warehouse.  This role often naturally becomes a focal point for all design consideration related to BW.

Time Commitment

 – the time which must be committed to this Role to ensure the project requirements are met

Project Complexity

Time Commitment

Low

If the BW project utilizes standard BW content, InfoCubes, and/or Queries this role can be satisfied by the BW Application Consultant.  If this occurs, this is full-time responsibility.

Medium

If the BW project requires enhancements to the standard BW content, InfoCubes, and/or Queries, and/or requires the integration of non-SAP data, this role should not assume responsibility for all activities, but other resources should be assigned.  If this occurs, the BW Application Consultant can assume a less than full-time role.

High

If the BW project requires significant modification and enhancement to standard BW content, InfoCubes, and/or Queries it is highly recommended that an experienced resource (other than the BW Application Consultant) be committed to the project to satisfy these roles.  If this occurs, the BW Application Consultant should assume a full-time responsibility.

Key Attributes

The BW Application Consultant must have:

»         Excellent troubleshooting and analytical skills

»         Excellent communication skills

»         Excellent time management skills

»         Excellent problem resolution and organizational skills

»         Technical competency; with strong computer skills

»         Multi-language skills, if an international implementation

»         Working knowledge of the BW and R/3 application(s)

Key Tasks

The BW Application Consultant (or one of the resources identified above) uses the BW Administrator Workbench to perform the functions provided by BW:

»         Establish connections to the BW sources

»         Activate the standard Business Content

»         Enable the standard InfoCubes and Queries

»         Enhance the InfoCubes as required by the BW Data Architect

»         Enhance the Queries as required by the BW Data Access Consultant

»         Define authorization profiles and access

»         Evaluate statistical performance and make recommendations to Basis support for optimization where possible

»         Manage the CTS layer

Don’ts

There is a tendency to reply completely on this resource for the project.  This is not recommended, since these resources will consistently be in demand and individuals having this broad range of skills are difficult to find and keep on a project.  Cross-training of resources is essential to ensure the sustainability of the project.

Ensure that this role does not assume ownership responsibility for OSS notes related to BW.


SAP BW Basis Consultant

Description

The BW Basis Person must be able to advise on BW Landscape issues, Transport environment, Authorisation, Performance Issues of Database and BW, Installation of BW Server, Plug Ins and Frontend (For all layers there are patches / support packages) that should be regularly installed.

This role can be assumed by the Basis Consultant (However, additional BW skills are absolutely necessary)

  

SAP BW Query Performance Check List

September 4, 2006 by vcsreddy

Walkthrough Checklist for Query Performance

1. If exclusions exist, make sure they exist in the global filter area. Try to remove exclusions by subtracting out inclusions.
2. Use Constant Selection to ignore filters in order to move more filters to the global filter area. (Use ABAPer to test and validate that this ensures better code)
3. Within structures, make sure the filter order exists with the highest level filter first.
4. Check code for all exit variables used in a report.
5. Move Time restrictions to a global filter whenever possible.
6. Within structures, use user exit variables to calculate things like QTD, YTD. This should generate better code than using overlapping restrictions to achieve the same thing. (Use ABAPer to test and validate that this ensures better code).
7. When queries are written on multiproviders, restrict to InfoProvider in global filter whenever possible. MultiProvider (MultiCube) queries require additional database table joins to read data compared to those queries against standard InfoCubes (InfoProviders), and you should therefore hardcode the infoprovider in the global filter whenever possible to eliminate this problem.
8. Move all global calculated and restricted key figures to local as to analyze any filters that can be removed and moved to the global definition in a query. Then you can change the calculated key figure and go back to utilizing the global calculated key figure if desired
9. If Alternative UOM solution is used, turn off query cache.
10. Set read mode of query based on static or dynamic. Reading data during navigation minimizes the impact on the R/3 database and application server resources because only data that the user requires will be retrieved. For queries involving large hierarchies with many nodes, it would be wise to select Read data during navigation and when expanding the hierarchy option to avoid reading data for the hierarchy nodes that are not expanded. Reserve the Read all data mode for special queries—for instance, when a majority of the users need a given query to slice and dice against all dimensions, or when the data is needed for data mining. This mode places heavy demand on database and memory resources and might impact other SAP BW processes and tasks.
11. Turn off formatting and results rows to minimize Frontend time whenever possible.
12. Check for nested hierarchies. Always a bad idea.
13. If “Display as hierarchy” is being used, look for other options to remove it to increase performance.
14. Use Constant Selection instead of SUMCT and SUMGT within formulas.
15. Do review of order of restrictions in formulas. Do as many restrictions as you can before calculations. Try to avoid calculations before restrictions.
16. Check Sequential vs Parallel read on Multiproviders.
17. Turn off warning messages on queries.
18. Check to see if performance improves by removing text display (Use ABAPer to test and validate that this ensures better code).
19. Check to see where currency conversions are happening if they are used.
20. Check aggregation and exception aggregation on calculated key figures. Before aggregation is generally slower and should not be used unless explicitly needed.
21. Avoid Cell Editor use if at all possible.
22. Make sure queries are regenerated in production using RSRT after changes to statistics, consistency changes, or aggregates.
23. Within the free characteristics, filter on the least granular objects first and make sure those come first in the order.
24. Leverage characteristics or navigational attributes rather than hierarchies. Using a hierarchy requires reading temporary hierarchy tables and creates additional overhead compared to characteristics and navigational attributes. Therefore, characteristics or navigational attributes result in significantly better query performance than hierarchies, especially as the size of the hierarchy (e.g., the number of nodes and levels) and the complexity of the selection criteria increase.
25. If hierarchies are used, minimize the number of nodes to include in the query results. Including all nodes in the query results (even the ones that are not needed or blank) slows down the query processing. The “not assigned” nodes in the hierarchy should be filtered out, and you should use a variable to reduce the number of hierarchy nodes selected.