HTG-Custom BADI for Rounding Off Values in SAP BPC NW

16
SAP BusinessObjects EPM RIG How-To Guide How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS Planning and Consolidation, version for SAP NetWeaver. Applicable Releases: SAP BusinessObjects Planning and Consolidations, version for SAP NetWeaver, version 7.0, SP02 and higher. Version 1.00 August 2009

Transcript of HTG-Custom BADI for Rounding Off Values in SAP BPC NW

Page 1: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

SAP BusinessObjectsEPM RIGHow-To Guide

How To...Custom BADI for roundingoff values in SAPBUSINESSOBJECTS Planning andConsolidation, version for SAPNetWeaver.

Applicable Releases:

SAP BusinessObjects Planning and Consolidations, version for SAPNetWeaver, version 7.0, SP02 and higher.

Version 1.00

August 2009

Page 2: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

© Copyright 2009 SAP AG. All rights reserved.

No part of this publication may be reproduced ortransmitted 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, z/OS, AFP,

Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix,

i5/OS, POWER, 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 AdobeSystems 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 registeredtrademarks 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 inGermany 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 SAPGroup 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 suchproducts 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 consequentialdamages that may result from the use of these materials.

SAP does not warrant the accuracy or completeness of theinformation, 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 endorseyour use of third party web pages nor provide any warranty

whatsoever relating to third party web pages.

SAP NetWeaver “How-to” Guides are intended to simplify

the product implementation. While specific product

features and procedures typically are explained in a

practical business context, it is not implied that thosefeatures and procedures are the only approach in solving a

specific business problem using SAP NetWeaver. Should

you wish to receive additional information, clarification or

support, please refer to SAP Consulting.

Any software coding and/or code lines / strings (“Code”)

included in this documentation are only examples and arenot 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 ofthe 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.

Disclaimer

Some components of this product are based on Java™. Any

code change in these components may cause unpredictable

and severe malfunctions and is therefore expressivelyprohibited, as is any decompilation of these components.

Any Java™ Source Code delivered with this product is onlyto be used by SAP’s Support Services and may not be

modified or altered in any way.

Page 3: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

Document HistoryDocument Version Description

1.00 First official release of this guide

Page 4: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

Typographic ConventionsType Style Description

Example Text Words or characters quotedfrom the screen. Theseinclude field names, screentitles, pushbuttons labels,menu names, menu paths,and menu options.Cross-references to otherdocumentation

Example text Emphasized words orphrases in body text, graphictitles, and table titles

Example text File and directory names andtheir paths, messages,names of variables andparameters, source text, andnames of installation,upgrade and database tools.

Example text User entry texts. These arewords or characters that youenter in the system exactly asthey appear in thedocumentation.

<Exampletext>

Variable user entry. Anglebrackets indicate that youreplace these words andcharacters with appropriateentries to make entries in thesystem.

EXAMPLE TEXT Keys on the keyboard, forexample, F2 or ENTER.

IconsIcon Description

Caution

Note or Important

Example

Recommendation or Tip

Page 5: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

Table of Contents

1. Business Scenario ..........................................................................................................1

2. Background Information .................................................................................................1

3. Prerequisites....................................................................................................................1

4. Step-by-Step Procedure ..................................................................................................24.1 Importing the transports ............................................................................................24.2 Creating BADI implementation ..................................................................................2

5. Implementation ................................................................................................................6

6. Error Messaging ..............................................................................................................9

Page 6: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS PLANNING ANDCONSOLIDATION, version for SAP NetWeaver .

September 2009 1

1. Business ScenarioDuring typical planning scenarios records may be require to be rounded off to fewer decimals or tointegers.

2. Background InformationThis How To Guide (HTG) describes the procedure for implementing a Business Add-In (BADI) thatestablishes a new keyword in script logic for rounding off values as per the decimals specified by theuser in the parameters.

3. Prerequisites SAP BusinessObjects Planning and Consolidation version for SAP NetWeaver 7.0 SP02 or

higher ABAP programming skills (desirable but necessary) Access to SAP NetWeaver transaction codes: SE20, SE19, SE20, SE38, STMS

Page 7: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS PLANNING ANDCONSOLIDATION, version for SAP NetWeaver .

September 2009 2

4. Step-by-Step Procedure

4.1 Importing the transports

This How-To Guide has a transport associated with it. Send the transports to your organization’sBASIS administrator and have him/her import the transport into the system where you want toimplement the How-To Guide solution. Download the transports.

These transports contain the following series of objects:

ZCL_SL_BPC_SL_ROUND Implementation Class

After your BASIS Administrator successfully loads the transports into your system verify that theobjects exist and all objects are active.

4.2 Creating BADI implementation1. Log on to SAP GUI and go to transaction se19.

2. Provide the Enhancement Spot as “UJ_CUSTOM_LOGIC” and click on “Create Impl.”.

3. In the next screen provide the name of the implementation as ZROUND and short text as‘Rounding off the values’. Please do not enter anything in the field ‘Composite Enhancement

Page 8: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS PLANNING ANDCONSOLIDATION, version for SAP NetWeaver .

September 2009 3

Implementation’ and click the green check mark. NOTE: You will need a developer key to beable to create this implementation.

4. Provide your package name and click on Save button in the bottom.

5. In the next screen, provide name for BADI Implementation as ZROUND and ImplementationClass as ZCL_SL_BPC_SL_ROUND. Choose BADI Definition as BADI_UJ_CUSTOM_LOGICfrom the drop down.

6. Click the green check mark to continue. If prompted, please provide the package name for theimplementation class similar to step 4 above.

7. Within the Enhancement implementation, expand the BADI implementation and double click onfilter values.

Page 9: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS PLANNING ANDCONSOLIDATION, version for SAP NetWeaver .

September 2009 4

8. Click on ‘Create filter combination’.

9. Double click on the “????” under the value 1 column and enter ROUND and click OK.

10. Save the implementation and activate.

Page 10: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS PLANNING ANDCONSOLIDATION, version for SAP NetWeaver .

September 2009 5

Page 11: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS PLANNING ANDCONSOLIDATION, version for SAP NetWeaver .

September 2009 6

5. ImplementationAfter the BADI has been correctly implemented; the user can create script logic that calls the BADI toperform the record transfers.

To call the BADI from script logic, use the following format:*START_BADI ROUND QUERY = OFF WRITE=OFF DECIMALS = 0

*END_BADI

In the above example the number of decimals is 0. This means that this example will convert the valueto an integer. This is a user defined parameter. Hence if it is desired to round off the value to 2decimal places, then this parameter should say DECIMALS = 2. Please include the additionalstatements QUERY = OFF and WRITE=OFF to enhance overall BADI performance.Notes:1. Scoping statements can be used to limit the number of records processed in the BADI call2. There is no need for adding a *COMMIT statement to post records into the database, the executionof the BADI performs function this automatically.3. Valid parameters that can be used with this BADI:

QUERY Format: QUERY=ON –or- QUERY=OFF

DO NOT USE open/closed quotation marks around ON or OFF.Default is QUERY=ON, for this BADI please make sure you use QUERY=OFF.

WRITE Format: WRITE=ON - or - WRITE=OFF DO NOT USE open/closed quotation marks around ON or OFF.

Default is WRITE=ON, for this BADI please make sure you use WRITE=OFF.

DECIMALS Format: DECIMALS=<number of decimals> Please be sure to enter a non-negative integer value for the number of decimals

Page 12: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS PLANNING ANDCONSOLIDATION, version for SAP NetWeaver .

September 2009 7

Example scenarios for using “ROUND”:

1. The values 12.34 and 12.67 have to be rounded off to integers.

Use the keyword ROUND to round off the values to integers. These values need to be scoped first.For example, let us assume that the data region TIME = 2009.JAN, CATEGORY = PLAN, P_ACCT =VALIDATION and RPTCURRENCY = LC contains only the two values we want to round off viz. 12.34and 12.67. In that case the script logic can be as follows:*XDIM_MEMBERSET TIME = 2009.JAN*XDIM_MEMBERSET CATEGORY = PLAN*XDIM_MEMBERSET P_ACCT = VALIDATION*XDIM_MEMBERSET RPTCURRENCY = LC*START_BADI ROUND DECIMALS=0

QUERY=OFF WRITE=OFF

*END_BADIThis would round off the value 12.34 to 12 and 12.67 to 13.

Page 13: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS PLANNING ANDCONSOLIDATION, version for SAP NetWeaver .

September 2009 8

2. The values 23.1267 and -43.1234 have to rounded off to 2 decimal places.

Use the keyword ROUND to round off the values to integers. These values need to be scoped first.For example, let us assume that the data region TIME = 2009.FEB, CATEGORY = PLAN, P_ACCT =VALIDATION and RPTCURRENCY = LC contains only the two values we want to round off viz.23.1267 and -43.1234. In that case the script logic can be as follows:*XDIM_MEMBERSET TIME = 2009.FEB*XDIM_MEMBERSET CATEGORY = PLAN*XDIM_MEMBERSET P_ACCT = VALIDATION*XDIM_MEMBERSET RPTCURRENCY = LC*START_BADI ROUND DECIMALS=2

QUERY=OFF WRITE=OFF

*END_BADI

This would round off the value 23.1267 to 23.13 and -43.1234 to -43.12.

Page 14: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS PLANNING ANDCONSOLIDATION, version for SAP NetWeaver .

September 2009 9

6. Error MessagingThis BADI has incorporated several error messages to help the user navigate the process:

Message 1:The following error message will be displayed if no decimals are specified or a non-integer value isspecified in the decimals:

Message 2:The following error message will be displayed if a negative value is specified in the decimals:

Message 3:The following error message will be displayed if QUERY=OFF is not specified in the BADI parameters.

Page 15: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

How To...Custom BADI for rounding off values in SAP BUSINESSOBJECTS PLANNING ANDCONSOLIDATION, version for SAP NetWeaver .

September 2009 10

Message 4:The following error message will be displayed if WRITE=OFF is not specified in the BADI parameters.

Page 16: HTG-Custom BADI for Rounding Off Values in SAP BPC NW

www.sdn.sap.com/irj/sdn/howtoguides