SlideShare a Scribd company logo
Key Figure Remodeling in BI7.0
using Customer Exit
Applies to:
SAP BI 7.0
Summary
This article describes how to add new key figures to an InfoCube using the Remodeling feature and populate
them using Customer Exits.
Author: Suhas Karnik
Company: Wipro Technologies, Bangalore
Created on: 26 June 2008
Author Bio
Suhas Karnik is a BI Consultant and is involved in a maintenance project for a BI implementation. At present
he is working with Wipro Technologies in Bangalore.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 1
Key Figure Remodeling in BI7.0 using Customer Exit
Table of Contents
Remodeling.........................................................................................................................................................3
Getting Started....................................................................................................................................................3
Creating the Exit Class and Method...................................................................................................................4
The Remodeling process....................................................................................................................................7
Exit Code ..........................................................................................................................................................12
Post-remodeling steps......................................................................................................................................14
Related Content................................................................................................................................................15
Copyright...........................................................................................................................................................16
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 2
Key Figure Remodeling in BI7.0 using Customer Exit
Remodeling
Remodeling is a new feature introduced in BI7.0 by which it is possible to alter the structure of the cube
without losing its contents. At present, this feature is not available for DSOs and InfoObjects. In remodeling,
we have the following options:
• For Characteristics:
o Add characteristic
o Remove characteristic
o Replace characteristic
• For Key Figures:
o Add Key Figure
o Remove Key Figure
o Replace Key Figure
When adding a key figure or characteristic to a cube, the new InfoObject in the cube can be filled using a
constant, or using (for characteristics) the value of an existing characteristic in the same dimension.
However, if a new Key Figure is to be added using the value of another key figure or a characteristic, then a
Customer Exit needs to be created. This article will describe how to create a Customer Exit to add a Key
Figure to a Cube.
Some important precautions to be taken before performing remodeling:
• Remodeling involves conversion of tables. In characteristic remodeling, the dimension tables are
converted and while key figure remodeling, the fact tables are converted. There is a chance of the
data being lost or corrupted, so a taking a backup of the InfoCube is strongly recommended.
• All Transformations from and to the InfoCube are deactivated. So are their dependent DTPs. Also,
the InfoCube is locked for any loads or changes. Therefore, it should be ensured that no loads are
scheduled to or from the Cube while the Remodeling is in progress. Additionally, the transformations
and DTPs have to be reactivated after the process is over. Since remodeling involves a change to
the structure of the cube, some remapping may have to be done.
• Queries based on the InfoCube are rendered invalid, so the queries must also be changed.
Remodeling cannot be used to add a new dimension or remove it. Nor can it be used to delete a
characteristic when doing so will make the corresponding dimension empty. Unit fields cannot be removed
during remodeling.
Getting Started
Consider a scenario wherein an InfoCube contains the Sales Quantity, Revenue and Contribution Margin key
figures across the dimensions Company, Material, Customer and Version. Some of the data for revenue in
the cube is Plan data and some of it is Actual data.
The data is currently stored as an Account Based Model and needs to be converted into a Key Figure based
model. In other words, the data for Plan and Actual Revenues is being stored in a single column and the type
of record (Plan, Actual) is denoted by the Version column. Now, that column needs to be split into two
columns, one for Plan data and one for Actual data, both being filled up by Customer Exits.
The Extended Star Schema for the Cube is as below.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 3
Key Figure Remodeling in BI7.0 using Customer Exit
The SID tables for Material, Company and Customer have not been shown here for reasons of space. The
procedure to fill up the value in the new Actual Data column is as follows.
First it must be ascertained whether the original value in the Revenue column of the old fact table is Actual or
Plan. To do this, first the “Dim ID” for the Version dimension is found. This is, of course, a field in the fact
table and so is readily available to the Customer Exit at execution. Generally this DIM ID follows the naming
convention KEY_<Dimension technical name>. This technical name is displayed in the InfoCube modeling
screen against the name of the dimension.
This obtained Dimension ID value is looked up in the Dimension Table to obtain the SID value for the
characteristic. The Dimension table follows the naming convention /BIC/D<Dimension technical name>.
Once this is done, the SID value is looked up in the SID table to get the characteristic value. For this step, a
standard function module is available which will do the lookup.
After the lookup is done, the value of the Version characteristic is available. The new key figure is filled with
the existing Revenue key figure, based on whether Version value is for Actual or Plan.
Creating the Exit Class and Method
The remodeling exit must be written as a method of a class. To begin, open the class builder using
transaction SE24.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 4
Key Figure Remodeling in BI7.0 using Customer Exit
Enter the name of a new class. This name should start with Y or Z. After entering then name, click Create.
As this will be a concrete class, not an interface, select Class in the following dialog box.
Select the radio button Usual ABAP Class and the check box Final.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 5
Key Figure Remodeling in BI7.0 using Customer Exit
The Class Builder main screen will come up. Navigate to the Interfaces tab. Here, the interface
IF_RSCNV_EXIT must be entered. An interface is an abstract structure that defines how a class interacts
with other classes. An interface can specify a set of methods, and classes that implement the interface will
have to provide concrete implementations of those methods.
The interface only needs to specify the signature of the methods; any other class that needs to interact with
this class only needs to know the interface being implemented by the class.
Here, IF_RSCNV_EXIT is the interface that a class must implement for the Remodeling functionality to call it
during Remodeling. The method EXIT (seen later) is declared in this interface and the Remodeling process
will expect that method to be present in the Remodeling class.
After entering the interface name in the Interfaces tab, navigate to the Methods tab.
A new method, called IF_RSCNV_EXIT~EXIT is present. This method is a member of the interface and was
automatically added when the interface itself was added.
Double click the method name to enter the method editor.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 6
Key Figure Remodeling in BI7.0 using Customer Exit
In this editor, enter the remodeling code (given in a later section). Once done, save and activate the method.
Go back to the Class Builder Screen and activate the class. This will be the class for the Actual Revenue Key
Figure. Similarly create a class for the Planned Revenue Key Figure with the appropriate changes in the
code.
The Remodeling process
Once the class is activated, go to the Remodeling screen. This can be done any of these three paths:
• Go to transaction RSMRT
• In RSA1, navigate to the cube that is to be remodeled, right click the cube, and in the menu select
Additional Functions Remodeling
• In RSA1, go to the Administration tab and click Remodeling
The system will throw a warning. Click OK to continue.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 7
Key Figure Remodeling in BI7.0 using Customer Exit
Enter the name of the Info cube and also a name for the Remodeling Rule. If you had entered the
Remodeling screen by the option in the Info Cube’s right-click menu, the Info Cube name will be
automatically entered.
Click Create.
Enter a description for the Remodeling Rule and click Transfer.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 8
Key Figure Remodeling in BI7.0 using Customer Exit
This will enter the screen to create the Remodeling rules. Create a new rule here by clicking the Add button
on the toolbar or the menu path Edit Add an operation.
The following dialog will pop up
Since the actual revenue key figure is going to be added, select that option and enter the key figure name
ZREVENA. Select the User Exit radio button and enter the name of the Remodeling class.
Once done, this will add the rule to the sequence, as shown.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 9
Key Figure Remodeling in BI7.0 using Customer Exit
Save the work done so far.
Once saved, the Options to check and Schedule will appear. Check the rule if needed and then click on
Schedule.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 10
Key Figure Remodeling in BI7.0 using Customer Exit
The scheduler screen appears. Click Start Immediately or schedule a job by selecting Start Later. Both will
schedule the job in background.
Once scheduled, go to the Monitor to view the progress.
The processing will take some time.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 11
Key Figure Remodeling in BI7.0 using Customer Exit
As shown, both the F and E tables will be converted. A similar procedure needs to be followed to create and
fill the planned revenue key figure. The code for the plan key figure is the same as for the actuals, except for
one change, explained in the code section below.
Once both key figures are filled up, a new remodeling sequence can be created to delete the original
0COPAREVEN keyfigure from the Cube.
Exit Code
The code to be entered in the SE24 method editor for actual revenue is as below. The code for planned
revenue involves a changing the last condition from if l_version = ‘A’ to if l_version = ‘B’
method IF_RSCNV_EXIT~EXIT.
FIELD-SYMBOLS: <l_s_old> type any,
<l_fillfield> type any,
<l_newfield> type any,
<l_version_dimid> type any.
data: l_chavl type rschavl,
l_zpl_line_chavl type rschavl,
l_version_sid type /BIC/DZICSLSKFR4-SID_0VERSION,
l_attr type string,
l_version type C.
* Name of the field in Dim Table will be SID_<InfoObject name>
* Name of the Dim Table will be /BIC/D<dimension name>
* c_r_newfield is a reference to the field in the new fact table. Assigned to a field
symbol
assign c_r_newfield->* to <l_newfield>.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 12
Key Figure Remodeling in BI7.0 using Customer Exit
* i_r_old is a reference to the whole row from the old fact table.
assign i_r_old->* to <l_s_old>.
* allows to directly access the COPAREVEN field of the record from old fact table.
assign component 'COPAREVEN' of structure <l_s_old> to <l_fillfield>.
* assigns the DIM ID of the Version Dimension
assign component 'KEY_ZICSLSKFR4' of structure <l_s_old> to <l_version_dimid>.
if not <l_version_dimid> is assigned.
RAISE EXCEPTION TYPE cx_rscnv_exception
EXPORTING
attr1 = 'CL_RSCNV_USER_EXIT_SAMPLE'
attr2 = 'EXIT-0'
attr3 = <l_version_dimid>.
l_ATTR = sy-subrc.
return.
endif.
** The fact table will contain the Dimension ID. It needs to be translated into the
** Characteristic Value for Version. This is done by first querying the Dimension
** Table with the DIMID to obtain the SID of the characteristic.
select single SID_0VERSION from /BIC/DZICSLSKFR4 into l_version_sid where DIMID =
<l_version_dimid>.
if sy-subrc <> 0.
* Invalid DIMID, raise exception
RAISE EXCEPTION TYPE cx_rscnv_exception
EXPORTING
attr1 = 'CL_RSCNV_USER_EXIT_SAMPLE'
attr2 = 'EXIT-1'
attr3 = <l_version_dimid>.
l_ATTR = sy-subrc.
endif.
** This function converts the SID to the value of the Characteristic Info Object
CALL FUNCTION 'RRSI_SID_VAL_CONVERT_COMPLETE'
EXPORTING
I_IOBJNM = '0VERSION'
I_SID = l_version_sid
IMPORTING
E_CHAVL = l_version
EXCEPTIONS
NO_VALUE_FOR_SID = 1
X_MESSAGE = 2
OTHERS = 3.
if sy-subrc <> 0.
RAISE EXCEPTION TYPE cx_rscnv_exception
EXPORTING
attr1 = 'CL_RSCNV_USER_EXIT_SAMPLE'
attr2 = 'EXIT-1'
attr3 = <l_version_dimid>.
l_ATTR = sy-subrc.
endif.
** Now l_version will contain either 'A' or 'B'. Since this is the exit for
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 13
Key Figure Remodeling in BI7.0 using Customer Exit
** Actual Revenue, we will fill the key figure if Version is 'A', and make it zero
** If Version is 'B'.
** In the exit for planned revenue key figure, the condition will fill for Version =
** ‘B’ and make it zero if the version is ‘A’
if l_version = 'A'.
<l_newfield> = <l_fillfield>.
else.
<l_newfield> = 0.
endif.
endmethod.
Post-remodeling steps
The remodeling process deactivates all the DTPs, Transformations and other dependent objects of the
InfoCube. Once the remodeling is over, these need to be manually reactivated. Since InfoObjects have been
added, replaced or removed, a remapping of the Transformations may be required.
Aggregates existing on the cube, if any, will have to be recreated.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 14
Key Figure Remodeling in BI7.0 using Customer Exit
Related Content
Documentation on Remodeling
Characteristic Remodeling in BI 7.0 using Customer Exit
ABAP Interfaces
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 15
Key Figure Remodeling in BI7.0 using Customer Exit
Copyright
© 2008 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG.
The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries,
zSeries, System i, System i5, System p, System p5, System x, System z, System z9, z/OS, AFP, Intelligent Miner, WebSphere,
Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, POWER5+, OpenPower and PowerPC are trademarks or registered trademarks of
IBM Corporation.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems
Incorporated in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of
Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts
Institute of Technology.
Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by
Netscape.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their
respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All
other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves
informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP
Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or
omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the
express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an
additional warranty.
These materials are provided “as is” without a warranty of any kind, either express or implied, including but not limited to, the implied
warranties of merchantability, fitness for a particular purpose, or non-infringement.
SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may
result from the use of these materials.
SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these
materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and
does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages.
Any software coding and/or code lines/strings (“Code”) included in this documentation are only examples and are not intended to be
used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of
certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors
or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent.
SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com
© 2008 SAP AG 16

More Related Content

What's hot

Factory Design Pattern
Factory Design PatternFactory Design Pattern
Factory Design Pattern
Jaswant Singh
 
Data integration with Apache Kafka
Data integration with Apache KafkaData integration with Apache Kafka
Data integration with Apache Kafka
confluent
 
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Josef A. Habdank
 
Near Real Time Indexing: Presented by Umesh Prasad & Thejus V M, Flipkart
Near Real Time Indexing: Presented by Umesh Prasad & Thejus V M, FlipkartNear Real Time Indexing: Presented by Umesh Prasad & Thejus V M, Flipkart
Near Real Time Indexing: Presented by Umesh Prasad & Thejus V M, Flipkart
Lucidworks
 
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Zalando Technology
 
Design Patterns Presentation - Chetan Gole
Design Patterns Presentation -  Chetan GoleDesign Patterns Presentation -  Chetan Gole
Design Patterns Presentation - Chetan Gole
Chetan Gole
 
Airflow and supervisor
Airflow and supervisorAirflow and supervisor
Airflow and supervisor
Rafael Roman Otero
 
Uml activity diagram
Uml activity diagramUml activity diagram
Uml activity diagram
Sally Jarkas
 
Unit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnitUnit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnit
Jeremy Cook
 
Simple fuzzy name matching in solr
Simple fuzzy name matching in solrSimple fuzzy name matching in solr
Simple fuzzy name matching in solr
David Murgatroyd
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
Tom Kocjan
 
모델 서빙 파이프라인 구축하기
모델 서빙 파이프라인 구축하기모델 서빙 파이프라인 구축하기
모델 서빙 파이프라인 구축하기
SeongIkKim2
 
Design Pattern - Factory Method Pattern
Design Pattern - Factory Method PatternDesign Pattern - Factory Method Pattern
Design Pattern - Factory Method Pattern
Mudasir Qazi
 
Design Patterns - Abstract Factory Pattern
Design Patterns - Abstract Factory PatternDesign Patterns - Abstract Factory Pattern
Design Patterns - Abstract Factory Pattern
Mudasir Qazi
 
SparkSQL: A Compiler from Queries to RDDs
SparkSQL: A Compiler from Queries to RDDsSparkSQL: A Compiler from Queries to RDDs
SparkSQL: A Compiler from Queries to RDDs
Databricks
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture Overview
Christopher Foot
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
Sanae BEKKAR
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz Questions
CodeOps Technologies LLP
 
Top 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationsTop 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applications
hadooparchbook
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
Damian T. Gordon
 

What's hot (20)

Factory Design Pattern
Factory Design PatternFactory Design Pattern
Factory Design Pattern
 
Data integration with Apache Kafka
Data integration with Apache KafkaData integration with Apache Kafka
Data integration with Apache Kafka
 
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
Extreme Apache Spark: how in 3 months we created a pipeline that can process ...
 
Near Real Time Indexing: Presented by Umesh Prasad & Thejus V M, Flipkart
Near Real Time Indexing: Presented by Umesh Prasad & Thejus V M, FlipkartNear Real Time Indexing: Presented by Umesh Prasad & Thejus V M, Flipkart
Near Real Time Indexing: Presented by Umesh Prasad & Thejus V M, Flipkart
 
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
 
Design Patterns Presentation - Chetan Gole
Design Patterns Presentation -  Chetan GoleDesign Patterns Presentation -  Chetan Gole
Design Patterns Presentation - Chetan Gole
 
Airflow and supervisor
Airflow and supervisorAirflow and supervisor
Airflow and supervisor
 
Uml activity diagram
Uml activity diagramUml activity diagram
Uml activity diagram
 
Unit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnitUnit test your java architecture with ArchUnit
Unit test your java architecture with ArchUnit
 
Simple fuzzy name matching in solr
Simple fuzzy name matching in solrSimple fuzzy name matching in solr
Simple fuzzy name matching in solr
 
Domain Driven Design (DDD)
Domain Driven Design (DDD)Domain Driven Design (DDD)
Domain Driven Design (DDD)
 
모델 서빙 파이프라인 구축하기
모델 서빙 파이프라인 구축하기모델 서빙 파이프라인 구축하기
모델 서빙 파이프라인 구축하기
 
Design Pattern - Factory Method Pattern
Design Pattern - Factory Method PatternDesign Pattern - Factory Method Pattern
Design Pattern - Factory Method Pattern
 
Design Patterns - Abstract Factory Pattern
Design Patterns - Abstract Factory PatternDesign Patterns - Abstract Factory Pattern
Design Patterns - Abstract Factory Pattern
 
SparkSQL: A Compiler from Queries to RDDs
SparkSQL: A Compiler from Queries to RDDsSparkSQL: A Compiler from Queries to RDDs
SparkSQL: A Compiler from Queries to RDDs
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture Overview
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz Questions
 
Top 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applicationsTop 5 mistakes when writing Spark applications
Top 5 mistakes when writing Spark applications
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
 

Similar to Cube remodelling

Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
QueBIT Consulting
 
Variables in sap bi
Variables in sap biVariables in sap bi
Variables in sap bi
shabari76
 
© SAP SE CASE STUDY .docx
 © SAP SE   CASE STUDY .docx © SAP SE   CASE STUDY .docx
© SAP SE CASE STUDY .docx
mayank272369
 
C a1 fin_10
C a1 fin_10C a1 fin_10
C a1 fin_10
Konstantin Shiryaev
 
Reporting data in alternate unit of measure in bi 7.0
Reporting data in alternate unit of measure in bi 7.0Reporting data in alternate unit of measure in bi 7.0
Reporting data in alternate unit of measure in bi 7.0
Ashwin Kumar
 
CATS Approval.pdf
CATS Approval.pdfCATS Approval.pdf
CATS Approval.pdf
ssusereb0ae41
 
J54_S4CLD2108_BPD_EN_US.docx
J54_S4CLD2108_BPD_EN_US.docxJ54_S4CLD2108_BPD_EN_US.docx
J54_S4CLD2108_BPD_EN_US.docx
ssuser13b4e6
 
Backup%20 domain%20controller%20(bdc)%20step by-step(1)
Backup%20 domain%20controller%20(bdc)%20step by-step(1)Backup%20 domain%20controller%20(bdc)%20step by-step(1)
Backup%20 domain%20controller%20(bdc)%20step by-step(1)
Srinivas Dukka
 
Beginner's guide create a custom 'copy' planning function type
Beginner's guide  create a custom 'copy' planning function typeBeginner's guide  create a custom 'copy' planning function type
Beginner's guide create a custom 'copy' planning function type
Naveen Kumar Kotha
 
Microsoft MCSE 70-467 it exams dumps
Microsoft MCSE 70-467 it exams dumpsMicrosoft MCSE 70-467 it exams dumps
Microsoft MCSE 70-467 it exams dumps
lilylucy
 
Customer exit variables in sap
Customer exit variables in sapCustomer exit variables in sap
Customer exit variables in sap
Sidharth Sriram
 
Creating new unit of measure in sap bw
Creating new unit of measure in sap bwCreating new unit of measure in sap bw
Creating new unit of measure in sap bw
Rajat Agrawal
 
SAC_Planning.pdf
SAC_Planning.pdfSAC_Planning.pdf
SAC_Planning.pdf
Roth-williams Adjibi
 
Simplifying the Complexity of Salesforce CPQ: Tips & Best Practices
Simplifying the Complexity of Salesforce CPQ: Tips & Best PracticesSimplifying the Complexity of Salesforce CPQ: Tips & Best Practices
Simplifying the Complexity of Salesforce CPQ: Tips & Best Practices
panayaofficial
 
Ssrs tutorial
Ssrs tutorialSsrs tutorial
Ssrs tutorial
abhishekbanerjee
 
Whats new BPC 10.1 NW
Whats new BPC 10.1 NWWhats new BPC 10.1 NW
Whats new BPC 10.1 NW
fernadabrum
 
Fi enhancement technique how-to-guide on the usage of business transaction ...
Fi enhancement technique   how-to-guide on the usage of business transaction ...Fi enhancement technique   how-to-guide on the usage of business transaction ...
Fi enhancement technique how-to-guide on the usage of business transaction ...
Kranthi Kumar
 
Fi enhancement technique how-to-guide on the usage of business transaction ...
Fi enhancement technique   how-to-guide on the usage of business transaction ...Fi enhancement technique   how-to-guide on the usage of business transaction ...
Fi enhancement technique how-to-guide on the usage of business transaction ...
Rajeev Kumar
 
Differences between NAV 2017, NAV 2018 & Dynamics 365 Business Central
Differences between NAV 2017, NAV 2018 & Dynamics 365 Business CentralDifferences between NAV 2017, NAV 2018 & Dynamics 365 Business Central
Differences between NAV 2017, NAV 2018 & Dynamics 365 Business Central
Info San
 
Journals SAP BPC 7
Journals SAP BPC 7Journals SAP BPC 7
Journals SAP BPC 7
khalimail
 

Similar to Cube remodelling (20)

Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
Leveraging IBM Cognos TM1 for Merchandise Planning at Tractor Supply Company ...
 
Variables in sap bi
Variables in sap biVariables in sap bi
Variables in sap bi
 
© SAP SE CASE STUDY .docx
 © SAP SE   CASE STUDY .docx © SAP SE   CASE STUDY .docx
© SAP SE CASE STUDY .docx
 
C a1 fin_10
C a1 fin_10C a1 fin_10
C a1 fin_10
 
Reporting data in alternate unit of measure in bi 7.0
Reporting data in alternate unit of measure in bi 7.0Reporting data in alternate unit of measure in bi 7.0
Reporting data in alternate unit of measure in bi 7.0
 
CATS Approval.pdf
CATS Approval.pdfCATS Approval.pdf
CATS Approval.pdf
 
J54_S4CLD2108_BPD_EN_US.docx
J54_S4CLD2108_BPD_EN_US.docxJ54_S4CLD2108_BPD_EN_US.docx
J54_S4CLD2108_BPD_EN_US.docx
 
Backup%20 domain%20controller%20(bdc)%20step by-step(1)
Backup%20 domain%20controller%20(bdc)%20step by-step(1)Backup%20 domain%20controller%20(bdc)%20step by-step(1)
Backup%20 domain%20controller%20(bdc)%20step by-step(1)
 
Beginner's guide create a custom 'copy' planning function type
Beginner's guide  create a custom 'copy' planning function typeBeginner's guide  create a custom 'copy' planning function type
Beginner's guide create a custom 'copy' planning function type
 
Microsoft MCSE 70-467 it exams dumps
Microsoft MCSE 70-467 it exams dumpsMicrosoft MCSE 70-467 it exams dumps
Microsoft MCSE 70-467 it exams dumps
 
Customer exit variables in sap
Customer exit variables in sapCustomer exit variables in sap
Customer exit variables in sap
 
Creating new unit of measure in sap bw
Creating new unit of measure in sap bwCreating new unit of measure in sap bw
Creating new unit of measure in sap bw
 
SAC_Planning.pdf
SAC_Planning.pdfSAC_Planning.pdf
SAC_Planning.pdf
 
Simplifying the Complexity of Salesforce CPQ: Tips & Best Practices
Simplifying the Complexity of Salesforce CPQ: Tips & Best PracticesSimplifying the Complexity of Salesforce CPQ: Tips & Best Practices
Simplifying the Complexity of Salesforce CPQ: Tips & Best Practices
 
Ssrs tutorial
Ssrs tutorialSsrs tutorial
Ssrs tutorial
 
Whats new BPC 10.1 NW
Whats new BPC 10.1 NWWhats new BPC 10.1 NW
Whats new BPC 10.1 NW
 
Fi enhancement technique how-to-guide on the usage of business transaction ...
Fi enhancement technique   how-to-guide on the usage of business transaction ...Fi enhancement technique   how-to-guide on the usage of business transaction ...
Fi enhancement technique how-to-guide on the usage of business transaction ...
 
Fi enhancement technique how-to-guide on the usage of business transaction ...
Fi enhancement technique   how-to-guide on the usage of business transaction ...Fi enhancement technique   how-to-guide on the usage of business transaction ...
Fi enhancement technique how-to-guide on the usage of business transaction ...
 
Differences between NAV 2017, NAV 2018 & Dynamics 365 Business Central
Differences between NAV 2017, NAV 2018 & Dynamics 365 Business CentralDifferences between NAV 2017, NAV 2018 & Dynamics 365 Business Central
Differences between NAV 2017, NAV 2018 & Dynamics 365 Business Central
 
Journals SAP BPC 7
Journals SAP BPC 7Journals SAP BPC 7
Journals SAP BPC 7
 

Recently uploaded

Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 

Recently uploaded (20)

Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 

Cube remodelling

  • 1. Key Figure Remodeling in BI7.0 using Customer Exit Applies to: SAP BI 7.0 Summary This article describes how to add new key figures to an InfoCube using the Remodeling feature and populate them using Customer Exits. Author: Suhas Karnik Company: Wipro Technologies, Bangalore Created on: 26 June 2008 Author Bio Suhas Karnik is a BI Consultant and is involved in a maintenance project for a BI implementation. At present he is working with Wipro Technologies in Bangalore. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 1
  • 2. Key Figure Remodeling in BI7.0 using Customer Exit Table of Contents Remodeling.........................................................................................................................................................3 Getting Started....................................................................................................................................................3 Creating the Exit Class and Method...................................................................................................................4 The Remodeling process....................................................................................................................................7 Exit Code ..........................................................................................................................................................12 Post-remodeling steps......................................................................................................................................14 Related Content................................................................................................................................................15 Copyright...........................................................................................................................................................16 SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 2
  • 3. Key Figure Remodeling in BI7.0 using Customer Exit Remodeling Remodeling is a new feature introduced in BI7.0 by which it is possible to alter the structure of the cube without losing its contents. At present, this feature is not available for DSOs and InfoObjects. In remodeling, we have the following options: • For Characteristics: o Add characteristic o Remove characteristic o Replace characteristic • For Key Figures: o Add Key Figure o Remove Key Figure o Replace Key Figure When adding a key figure or characteristic to a cube, the new InfoObject in the cube can be filled using a constant, or using (for characteristics) the value of an existing characteristic in the same dimension. However, if a new Key Figure is to be added using the value of another key figure or a characteristic, then a Customer Exit needs to be created. This article will describe how to create a Customer Exit to add a Key Figure to a Cube. Some important precautions to be taken before performing remodeling: • Remodeling involves conversion of tables. In characteristic remodeling, the dimension tables are converted and while key figure remodeling, the fact tables are converted. There is a chance of the data being lost or corrupted, so a taking a backup of the InfoCube is strongly recommended. • All Transformations from and to the InfoCube are deactivated. So are their dependent DTPs. Also, the InfoCube is locked for any loads or changes. Therefore, it should be ensured that no loads are scheduled to or from the Cube while the Remodeling is in progress. Additionally, the transformations and DTPs have to be reactivated after the process is over. Since remodeling involves a change to the structure of the cube, some remapping may have to be done. • Queries based on the InfoCube are rendered invalid, so the queries must also be changed. Remodeling cannot be used to add a new dimension or remove it. Nor can it be used to delete a characteristic when doing so will make the corresponding dimension empty. Unit fields cannot be removed during remodeling. Getting Started Consider a scenario wherein an InfoCube contains the Sales Quantity, Revenue and Contribution Margin key figures across the dimensions Company, Material, Customer and Version. Some of the data for revenue in the cube is Plan data and some of it is Actual data. The data is currently stored as an Account Based Model and needs to be converted into a Key Figure based model. In other words, the data for Plan and Actual Revenues is being stored in a single column and the type of record (Plan, Actual) is denoted by the Version column. Now, that column needs to be split into two columns, one for Plan data and one for Actual data, both being filled up by Customer Exits. The Extended Star Schema for the Cube is as below. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 3
  • 4. Key Figure Remodeling in BI7.0 using Customer Exit The SID tables for Material, Company and Customer have not been shown here for reasons of space. The procedure to fill up the value in the new Actual Data column is as follows. First it must be ascertained whether the original value in the Revenue column of the old fact table is Actual or Plan. To do this, first the “Dim ID” for the Version dimension is found. This is, of course, a field in the fact table and so is readily available to the Customer Exit at execution. Generally this DIM ID follows the naming convention KEY_<Dimension technical name>. This technical name is displayed in the InfoCube modeling screen against the name of the dimension. This obtained Dimension ID value is looked up in the Dimension Table to obtain the SID value for the characteristic. The Dimension table follows the naming convention /BIC/D<Dimension technical name>. Once this is done, the SID value is looked up in the SID table to get the characteristic value. For this step, a standard function module is available which will do the lookup. After the lookup is done, the value of the Version characteristic is available. The new key figure is filled with the existing Revenue key figure, based on whether Version value is for Actual or Plan. Creating the Exit Class and Method The remodeling exit must be written as a method of a class. To begin, open the class builder using transaction SE24. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 4
  • 5. Key Figure Remodeling in BI7.0 using Customer Exit Enter the name of a new class. This name should start with Y or Z. After entering then name, click Create. As this will be a concrete class, not an interface, select Class in the following dialog box. Select the radio button Usual ABAP Class and the check box Final. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 5
  • 6. Key Figure Remodeling in BI7.0 using Customer Exit The Class Builder main screen will come up. Navigate to the Interfaces tab. Here, the interface IF_RSCNV_EXIT must be entered. An interface is an abstract structure that defines how a class interacts with other classes. An interface can specify a set of methods, and classes that implement the interface will have to provide concrete implementations of those methods. The interface only needs to specify the signature of the methods; any other class that needs to interact with this class only needs to know the interface being implemented by the class. Here, IF_RSCNV_EXIT is the interface that a class must implement for the Remodeling functionality to call it during Remodeling. The method EXIT (seen later) is declared in this interface and the Remodeling process will expect that method to be present in the Remodeling class. After entering the interface name in the Interfaces tab, navigate to the Methods tab. A new method, called IF_RSCNV_EXIT~EXIT is present. This method is a member of the interface and was automatically added when the interface itself was added. Double click the method name to enter the method editor. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 6
  • 7. Key Figure Remodeling in BI7.0 using Customer Exit In this editor, enter the remodeling code (given in a later section). Once done, save and activate the method. Go back to the Class Builder Screen and activate the class. This will be the class for the Actual Revenue Key Figure. Similarly create a class for the Planned Revenue Key Figure with the appropriate changes in the code. The Remodeling process Once the class is activated, go to the Remodeling screen. This can be done any of these three paths: • Go to transaction RSMRT • In RSA1, navigate to the cube that is to be remodeled, right click the cube, and in the menu select Additional Functions Remodeling • In RSA1, go to the Administration tab and click Remodeling The system will throw a warning. Click OK to continue. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 7
  • 8. Key Figure Remodeling in BI7.0 using Customer Exit Enter the name of the Info cube and also a name for the Remodeling Rule. If you had entered the Remodeling screen by the option in the Info Cube’s right-click menu, the Info Cube name will be automatically entered. Click Create. Enter a description for the Remodeling Rule and click Transfer. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 8
  • 9. Key Figure Remodeling in BI7.0 using Customer Exit This will enter the screen to create the Remodeling rules. Create a new rule here by clicking the Add button on the toolbar or the menu path Edit Add an operation. The following dialog will pop up Since the actual revenue key figure is going to be added, select that option and enter the key figure name ZREVENA. Select the User Exit radio button and enter the name of the Remodeling class. Once done, this will add the rule to the sequence, as shown. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 9
  • 10. Key Figure Remodeling in BI7.0 using Customer Exit Save the work done so far. Once saved, the Options to check and Schedule will appear. Check the rule if needed and then click on Schedule. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 10
  • 11. Key Figure Remodeling in BI7.0 using Customer Exit The scheduler screen appears. Click Start Immediately or schedule a job by selecting Start Later. Both will schedule the job in background. Once scheduled, go to the Monitor to view the progress. The processing will take some time. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 11
  • 12. Key Figure Remodeling in BI7.0 using Customer Exit As shown, both the F and E tables will be converted. A similar procedure needs to be followed to create and fill the planned revenue key figure. The code for the plan key figure is the same as for the actuals, except for one change, explained in the code section below. Once both key figures are filled up, a new remodeling sequence can be created to delete the original 0COPAREVEN keyfigure from the Cube. Exit Code The code to be entered in the SE24 method editor for actual revenue is as below. The code for planned revenue involves a changing the last condition from if l_version = ‘A’ to if l_version = ‘B’ method IF_RSCNV_EXIT~EXIT. FIELD-SYMBOLS: <l_s_old> type any, <l_fillfield> type any, <l_newfield> type any, <l_version_dimid> type any. data: l_chavl type rschavl, l_zpl_line_chavl type rschavl, l_version_sid type /BIC/DZICSLSKFR4-SID_0VERSION, l_attr type string, l_version type C. * Name of the field in Dim Table will be SID_<InfoObject name> * Name of the Dim Table will be /BIC/D<dimension name> * c_r_newfield is a reference to the field in the new fact table. Assigned to a field symbol assign c_r_newfield->* to <l_newfield>. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 12
  • 13. Key Figure Remodeling in BI7.0 using Customer Exit * i_r_old is a reference to the whole row from the old fact table. assign i_r_old->* to <l_s_old>. * allows to directly access the COPAREVEN field of the record from old fact table. assign component 'COPAREVEN' of structure <l_s_old> to <l_fillfield>. * assigns the DIM ID of the Version Dimension assign component 'KEY_ZICSLSKFR4' of structure <l_s_old> to <l_version_dimid>. if not <l_version_dimid> is assigned. RAISE EXCEPTION TYPE cx_rscnv_exception EXPORTING attr1 = 'CL_RSCNV_USER_EXIT_SAMPLE' attr2 = 'EXIT-0' attr3 = <l_version_dimid>. l_ATTR = sy-subrc. return. endif. ** The fact table will contain the Dimension ID. It needs to be translated into the ** Characteristic Value for Version. This is done by first querying the Dimension ** Table with the DIMID to obtain the SID of the characteristic. select single SID_0VERSION from /BIC/DZICSLSKFR4 into l_version_sid where DIMID = <l_version_dimid>. if sy-subrc <> 0. * Invalid DIMID, raise exception RAISE EXCEPTION TYPE cx_rscnv_exception EXPORTING attr1 = 'CL_RSCNV_USER_EXIT_SAMPLE' attr2 = 'EXIT-1' attr3 = <l_version_dimid>. l_ATTR = sy-subrc. endif. ** This function converts the SID to the value of the Characteristic Info Object CALL FUNCTION 'RRSI_SID_VAL_CONVERT_COMPLETE' EXPORTING I_IOBJNM = '0VERSION' I_SID = l_version_sid IMPORTING E_CHAVL = l_version EXCEPTIONS NO_VALUE_FOR_SID = 1 X_MESSAGE = 2 OTHERS = 3. if sy-subrc <> 0. RAISE EXCEPTION TYPE cx_rscnv_exception EXPORTING attr1 = 'CL_RSCNV_USER_EXIT_SAMPLE' attr2 = 'EXIT-1' attr3 = <l_version_dimid>. l_ATTR = sy-subrc. endif. ** Now l_version will contain either 'A' or 'B'. Since this is the exit for SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 13
  • 14. Key Figure Remodeling in BI7.0 using Customer Exit ** Actual Revenue, we will fill the key figure if Version is 'A', and make it zero ** If Version is 'B'. ** In the exit for planned revenue key figure, the condition will fill for Version = ** ‘B’ and make it zero if the version is ‘A’ if l_version = 'A'. <l_newfield> = <l_fillfield>. else. <l_newfield> = 0. endif. endmethod. Post-remodeling steps The remodeling process deactivates all the DTPs, Transformations and other dependent objects of the InfoCube. Once the remodeling is over, these need to be manually reactivated. Since InfoObjects have been added, replaced or removed, a remapping of the Transformations may be required. Aggregates existing on the cube, if any, will have to be recreated. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 14
  • 15. Key Figure Remodeling in BI7.0 using Customer Exit Related Content Documentation on Remodeling Characteristic Remodeling in BI 7.0 using Customer Exit ABAP Interfaces SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 15
  • 16. Key Figure Remodeling in BI7.0 using Customer Exit Copyright © 2008 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, System i, System i5, System p, System p5, System x, System z, System z9, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, POWER5+, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. These materials are provided “as is” without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages. Any software coding and/or code lines/strings (“Code”) included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent. SAP DEVELOPER NETWORK | sdn.sap.com BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com © 2008 SAP AG 16