Bpc420 en col95_fv_part_a4

693
BPC420 SAP BusinessObjects Planning and Consolidation, Version for SAP NetWeaver: Administration SAP CPM Date Training Center Instructors Education Website Participant Handbook Course Version: 95 Course Duration: 5 Day(s) Material Number: 50100075 An SAP course - use it to learn, reference it for work

Transcript of Bpc420 en col95_fv_part_a4

BPC420SAP BusinessObjects Planningand Consolidation, Version forSAP NetWeaver: Administration

SAP CPM

Date

Training Center

Instructors

Education Website

Participant HandbookCourse Version: 95Course Duration: 5 Day(s)Material Number: 50100075

An SAP course - use it to learn, reference it for work

Copyright

Copyright © 2010 SAP AG. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or for any purposewithout the express permission of SAP AG. The information contained herein may be changedwithout prior notice.

Some software products marketed by SAP AG and its distributors contain proprietary softwarecomponents of other software vendors.

Trademarks

• Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® areregistered trademarks of Microsoft Corporation.

• IBM®, DB2®, OS/2®, DB2/6000®, Parallel Sysplex®, MVS/ESA®, RS/6000®, AIX®,S/390®, AS/400®, OS/390®, and OS/400® are registered trademarks of IBM Corporation.

• ORACLE® is a registered trademark of ORACLE Corporation.• INFORMIX®-OnLine for SAP and INFORMIX® Dynamic ServerTM are registered

trademarks of Informix Software Incorporated.• UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group.• Citrix®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®,

VideoFrame®, MultiWin® and other Citrix product names referenced herein are trademarksof Citrix Systems, Inc.

• HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C®, WorldWide 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.• SAP, SAP Logo, R/2, RIVA, R/3, SAP ArchiveLink, SAP Business Workflow, WebFlow, SAP

EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP.com Logo and mySAP.comare trademarks or registered trademarks of SAP AG in Germany and in several other countriesall over the world. All other products mentioned are trademarks or registered trademarks oftheir respective companies.

Disclaimer

THESEMATERIALS ARE PROVIDED BY SAP ON AN "AS IS" BASIS, AND SAP EXPRESSLYDISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR APPLIED, INCLUDINGWITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY AND FITNESS FOR APARTICULAR PURPOSE, WITH RESPECT TO THESE MATERIALS AND THE SERVICE,INFORMATION, TEXT, GRAPHICS, LINKS, OR ANY OTHER MATERIALS AND PRODUCTSCONTAINED HEREIN. IN NO EVENT SHALL SAP BE LIABLE FOR ANY DIRECT,INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES OF ANYKIND WHATSOEVER, INCLUDING WITHOUT LIMITATION LOST REVENUES OR LOSTPROFITS, WHICH MAY RESULT FROM THE USE OF THESE MATERIALS OR INCLUDEDSOFTWARE COMPONENTS.

g2010963398

About This HandbookThis handbook is intended to complement the instructor-led presentation of thiscourse, and serve as a source of reference. It is not suitable for self-study.

Typographic ConventionsAmerican English is the standard used in this handbook. The followingtypographic conventions are also used.

Type Style Description

Example text Words or characters that appear on the screen. Theseinclude field names, screen titles, pushbuttons as wellas menu names, paths, and options.

Also used for cross-references to other documentationboth internal and external.

Example text Emphasized words or phrases in body text, titles ofgraphics, and tables

EXAMPLE TEXT Names of elements in the system. These includereport names, program names, transaction codes, tablenames, and individual key words of a programminglanguage, when surrounded by body text, for exampleSELECT and INCLUDE.

Example text Screen output. This includes file and directory namesand their paths, messages, names of variables andparameters, and passages of the source text of aprogram.

Example text Exact user entry. These are words and characters thatyou enter in the system exactly as they appear in thedocumentation.

<Example text> Variable user entry. Pointed brackets indicate that youreplace these words and characters with appropriateentries.

2010 © 2010 SAP AG. All rights reserved. iii

About This Handbook BPC420

Icons in Body TextThe following icons are used in this handbook.

Icon Meaning

For more information, tips, or background

Note or further explanation of previous point

Exception or caution

Procedures

Indicates that the item is displayed in the instructor'spresentation.

iv © 2010 SAP AG. All rights reserved. 2010

ContentsCourse Overview ......................................................... vii

Course Goals .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .viiCourse Objectives ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .vii

Unit 1: Concepts and Objects in BPC Administration............. 1BusinessObjects – Overview and Advantages of BO PC .... . . . . .3Business Planning and Consolidation – Some Modeling

Aspects .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Terminology... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Comparison BW Integrated Planning and BPC – Strategic

View ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Application Set Management.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Dimension Management .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Creating Applications... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Security.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Unit 2: Navigating in the Interface for Excel ...................... 123Navigating in the Interface for Excel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124

Unit 3: Data Acquisition, Transformation, MultiProvider and BWReporting ................................................................. 147

Data Acquisition, Transformations, Packages, and PackageLinks ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148

Unit 4: Working with Logic ........................................... 265Script Logic and Online Execution... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266Script Logic and Central Execution ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301Script Logic and Allocation ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307Script Logic and ABAP Integration ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324Dimension Member Formulas ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330

Unit 5: Business Process Flows .................................... 445Business Process Flows ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .446

Unit 6: DrillThrough .................................................... 503Drill Through ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .504

Unit 7: Administration (optional) .................................... 531Master Data Validations ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .532

2010 © 2010 SAP AG. All rights reserved. v

Contents BPC420

Audits .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .543Concurrency Locking ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .556Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .559Work Status Concept .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .568

Unit 8: Appendix ........................................................ 597Business Planning and Consolidation – A Technical Overview 598Comparison BI Integrated Planning and BPC – Strategic View 603Appendix: Comparison BW Integrated Planning and BPC –

Evaluation Criteria.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .607Business Planning and Consolidation – Some Technical

Aspects .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .609

Appendix 1: Comparison BW Integrated Planning and BO PC –Evaluation Criteria ................................................... 615

Appendix 2: BO PC – Some Technical Aspects ............... 627

Appendix 3: Data Management – Add-on Information ...... 629

Appendix 4: Add on Information for Unit 4 – Variables inFOR/NEXT and WHEN/IS/ENDWHEN ............................ 645

Appendix 5: Drill Through to ERP ................................ 647

Appendix 6: Master Data Validation and Example BADIImplementation ....................................................... 655

Appendix 7: Concurrency Looking – Add on Information ..659

Appendix 8: Work Status – Add on Information .............. 665

vi © 2010 SAP AG. All rights reserved. 2010

Course Overview

Target AudienceThis course is intended for the following audiences:

• Application Consultants• BPC Administrators• Project Leaders• Project Team Members• Technical Pre-Sales

Course PrerequisitesRequired Knowledge

• BW310• Excel

Recommended Knowledge

• Experience with SAP NetWeaver BW

Course GoalsThis course will prepare you to:

• Configure SAP BusinessObjects Planning and Consolidation (7.5), versionfor SAP NetWeaver

• Understand the system architecture and integration• Perform Administration• Use Logic for planning and reporting• Execute data imports• Build business process flows for planning

Course ObjectivesAfter completing this course, you will be able to:

• Set up: Appsets, Applications, Dimensions• Work with Hierarchies

2010 © 2010 SAP AG. All rights reserved. vii

Course Overview BPC420

• Navigate in the Interface for Excel• Set up drill throughs to ECC and BW Queries• Perform flat file, InfoCube to InfoCube transaction data imports• Set up BW characteristic master data imports• Create Data manager package ‘links’• Work with Logic, business add-ins (BADI’s), and custom process chains• Execute Allocations• Implement Cross Application scenarios• Configure Business Process Flows• Set up Work Status and Security• Work with Activity and data audit• Discuss Locking• Discuss Transports• Set Appset and Application parameters

viii © 2010 SAP AG. All rights reserved. 2010

Unit 1Concepts and Objects in BPC

Administration

Unit OverviewThis unit includes a conceptual overview. You will also be informed about theadvantages of SAP BusinessObjects Planning and Consolidation. In addition,you will learn how to create application sets, applications and how to configuredimensions. You will also get some information about the security concept.

Unit ObjectivesAfter completing this unit, you will be able to:

• Learn the key terms• Understand the main advantages and ideas of BO PC• Understand the main features and structures of BO PC from a topdown

perspective• Understand the importance and use of properties in BO PC and modeling

of budgeting screnarios in BO PC• Get an overview about the most important BO PC key terms• Discuss the high level differences between Integrated Planning and BPC.• Add and delete an AppSet• Use Application Set Status• Monitor User activity for an AppSet• Describe new AppSet features in SAP BusinessObjects Planning and

Consolidation.• Add a new dimension, modify, or copy an existing dimension and delete

a dimension• Understand how to add dimension properties• Understand dimension member hierarchies• Describe the ways of loading master data.• Describe what is an SAP Business Planning and Consolidation application• Set up Application Administration• Understand some technical features in connection with Applications.

2010 © 2010 SAP AG. All rights reserved. 1

Unit 1: Concepts and Objects in BPC Administration BPC420

• Understand how the locking concept of Work Status works• Understand which settings in the security concept can cause which conflict

Unit ContentsLesson: BusinessObjects – Overview and Advantages of BO PC .... . . . . . .3Lesson: Business Planning and Consolidation – Some ModelingAspects .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Lesson: Terminology ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Lesson: Comparison BW Integrated Planning and BPC – Strategic View 30Lesson: Application Set Management .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34Lesson: Dimension Management.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Lesson: Creating Applications ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Lesson: Security .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Exercise 1: Concepts and Objects in BPC Administration ... . . . . . . . . . 89

2 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: BusinessObjects – Overview and Advantages of BO PC

Lesson: BusinessObjects – Overview and Advantagesof BO PC

Lesson OverviewLet's discuss the key features of the product.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Learn the key terms• Understand the main advantages and ideas of BO PC

Business ExampleYou need an understanding of what is involved in the planning and reportingprocess and what features and delivered content can be used to meet yourrequirements.

Figure 1: SAP®BusinessObjects Portfolio with SAP Applications

2010 © 2010 SAP AG. All rights reserved. 3

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 2: Business Planning and Consolidation

• Whether you are a C-level executive or manager, you can streamline theplanning, budgeting and forecasting process in addition to generatingstatutory, regulatory and management reports with accuracy, speedand confidence

• Most importantly, everyone involved, from senior executives to the line ofbusiness budget owners, can collaborate and agree upon a mutual plan toachieve execution excellence

• The budgeting process can be streamlined and cycle time reducedby adhering to standard business processes, enabling collaboration andproviding forward looking plans by leveraging predictive analysis

• Business users increase productivity with an intuitive web interface andfamiliar office tools such as Excel, running against a single data source.Intelligent Action Panes guide users on the tasks they can perform at anygiven moment and Business Process Flows ensure standards are adhered to

• IT backlog and time spent managing applications is reduced as thesolution enables business users to own and maintain their own environment

• Executives can minimize business and compliance risk by having a fast,accurate close process that is fully audited and management reports thatoperate from a single version of the truth.

4 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: BusinessObjects – Overview and Advantages of BO PC

Figure 3: Built-in Financial Intelligence to Aid Productivity

Figure 4: Publishing and Distribution to Aid Communication

Figure 5: Drilldown – Drill from Summary to Detail

2010 © 2010 SAP AG. All rights reserved. 5

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 6: Comprehensive Planning Functions help Reduce the PlanningCycle

Figure 7: Example: Forecast Schedule – Spread Data

6 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: BusinessObjects – Overview and Advantages of BO PC

Figure 8: Automated Audit Trail

Figure 9: Familiar and Easy to Use 1/2

One of the mayor advantages of BO PC is the easiness to use the BO PC frontendtool since BO PC is embedded in Excel.

2010 © 2010 SAP AG. All rights reserved. 7

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 10: Familiar and Easy to Use 2/2

A big advantage for business users and end users it the context-sensitive ActionPane in the BO PC framework.

Figure 11: Process-Centric with Business Process Flows

8 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: BusinessObjects – Overview and Advantages of BO PC

Planning Business Process Flow

• SAP is the only vendor in the Performance Management space to deliverBusiness Process Flows. Business Process Flows guide and coordinate endusers step by step toward a common performance management goal such ascreating a forecast or reporting consolidated financial results. Repeatablebusiness processes can be streamlined into a specified set of steps andmanagers/administrators can see exactly where everyone is in the process.

Benefits:

• Managers/administrators can instantly see where everyone is in a process• Users are guided step by step through the business process, reducing user

training requirements• Ability to streamline and embed your existing business processes• Ability to enforce policies & procedures

Figure 12: Fast and more Adaptable

SAP BusinessObjects Planning and Consolidation 7.5 enables shorter planningand budgeting cycles.

With SAP BusinessObjects Planning and Consolidation 7.5 you can build any sizeplanning application to suit your business needs (particularly suited for industriessuch as CPG, Telco, FS).

Integration with BW Accelerator provides faster query (read) performance so youhave quicker access to information within the planning application and can reactfaster to changing business conditions.

This is critical particularly in todays volatile environment.Along with 64-bit support, the result is faster performance even with more usersaccessing the system and a larger payload (like a Porsche Cayenne Turbo).

2010 © 2010 SAP AG. All rights reserved. 9

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 13: Setup and Maintenance 1/2

Working with BO PC delivers the advantage that IT provides the BW landscapeand the Business User sets up the planning or consolidation scenario. Allstructures they configure are automatically available in the related BW backend.So BO PC is a top-down software with focus on as much activity of BusinessUsers and as little activity of IT as possible when configuring.

Figure 14: Setup and Maintenance 2/2

10 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: BusinessObjects – Overview and Advantages of BO PC

Most of the value props on this slide are not new to SAP BusinessObjects Planningand Consolidation; however, they are new for (and desired by) the typical SAPend user who is used to a highly IT-centric approach to Planning and Reporting.For this reason they are re-emphasized on this SAP BusinessObjects Planning andConsolidation 7.5, version for SAP NetWeaver slide.

SAP BusinessObjects Planning and Consolidation is designed to be owned andmaintained by the business (finance) user, empowering finance departments andreducing your reliance on IT.

SAP BusinessObjects Planning and Consolidation 7.5 supports a broad set of userinterfaces, including Microsoft Office 2007 (Excel, Word and PowerPoint) and theWeb, resulting in broader adoption across the organization and more collaborativeplanning processes.

The application ships with a variety of prebuilt report templates and there is nodata modeling required; simply add dimensions and dimension members on the flyso you dont have to wait for IT to modify the application.

Figure 15: Lower Maintenance

Because SAP BusinessObjects Planning and Consolidation is designed to beowned and maintained by the business user, you (IT) will not be burdened withsupporting yet another application.

On the flip side (for the end user), business users are empowered to run theapplication with minimal intervention from IT required.

The result is IT spending less time maintaining the application so you can focusmore on other, more strategic initiatives and business not having to wait for IT tomake changes/modifications – a true, win/win scenario.

2010 © 2010 SAP AG. All rights reserved. 11

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 16: Seamless Experience with SAP

SAP BusinessObjects Planning and Consolidation 7.5 is optimized for your SAPapplications.

The new validation framework within SAP BusinessObjects Planning andConsolidation 7.0 prevents incorrect records (dimension members) being savedto the application across all modules (Journals, Data Manager, Script Logic,Parameter Driven Logic, Manual Planning from Excel or Web) so you can trustthat the data your are submitting and consuming is accurate.

Seamless integration with financial data from SAP ERP means you dont have towait for IT to integrate 3rd party applications before you start planning, budgeting,forecasting and consolidation processes.

12 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: BusinessObjects – Overview and Advantages of BO PC

Figure 17: Deeply Integrated with SAP

With SAP BusinessObjects Planning and Consolidation 7.5, version for SAPNetWeaver, SAP has made significant investments in building a solution thatend-users are delighted with while honoring the SAP IT value proposition.

SAP BusinessObjects Planning and Consolidation 7.5, version for SAP NetWeaveroffers even tighter integration to SAP NetWeaver BW and SAP ERP, withpackaged adapters that allow end users to easily pull data from an existingSAP system into the SAP BusinessObjects Planning and Consolidation (SAPBusinessObjects Planning and Consolidation) application without any codingby IT.

In addition, SAP BusinessObjects Planning and Consolidation 7.5, version forSAP NetWeaver significantly reduces your TCO over any competing solution,taking advantage of the exact same application and database servers that yourcurrent infrastructure runs on, the exact same SAP Change & Transport Systemthat SAP ERP and NetWeaver BW run on, and native access to SAP-onlyinterfaces to the SAP Enterprise Portal and Master Data Management (MDM),with significant further enhancements planned on the roadmap.

In contrast, for the SAP customer with even a modest SAP deployment, the costof any third-party EPM product is vast: non-standard application servers anddatabase servers (often proprietary database servers requiring very expensiveskills), no integration into SAPs powerful Change and Transport System, nostandardized deployment technology with SAP Solution Manager, no packagedand guaranteed integration to SAP ERP OR SAP NetWeaver BW.

2010 © 2010 SAP AG. All rights reserved. 13

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 18: Increased Performance and Scalability

SAP BusinessObjects Planning and Consolidation, version for SAP NetWeaver,leverages the SAP NetWeaver BW InfoCube allowing you to build largerapplications than ever before. There is no technical limit for the maximumnumber of Dimensions (characteristics) in an Application (InfoCube); however,best practices for the number of characteristics in a cube within SAP NetWeaverBW typically apply in this scenario.

BI Accelerator is an optional, in-memory processing, appliance that can be“plugged in” to optimize database read times for large data volumes. If you havemade, or plan to make, the investment in BI Accelerator, you can leverage thiswith your SAP BusinessObjects Planning and Consolidation application.

14 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: BusinessObjects – Overview and Advantages of BO PC

Lesson Summary

You should now be able to:• Learn the key terms• Understand the main advantages and ideas of BO PC

2010 © 2010 SAP AG. All rights reserved. 15

Unit 1: Concepts and Objects in BPC Administration BPC420

Lesson: Business Planning and Consolidation – SomeModeling Aspects

Lesson Overview

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand the main features and structures of BO PC from a topdownperspective

• Understand the importance and use of properties in BO PC and modelingof budgeting screnarios in BO PC

Business Example

Top Down Modeling

Figure 19: Application Set Model

The upper slides shall give you an overview about the objects you can use in BOPC and how they are related.

You are always working within an application set which is a data base.

16 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Planning and Consolidation – Some Modeling Aspects

Figure 20: Dimensions and Properties – Example on Account TypeDimension

The upper slide focuses on Properties, the types of properties that exist in BO PCand gives you the idea of how important properties in BO PC are. The wholemodelling of planning and consolidation scenarios is based on properties.Some properties are custom-created, others are system properties.Especially if you want to consolidate with BO PC you should know whichproperties are necessary and for what they are needed in the modelling of legalor management consolidation.

Figure 21: Hierarchies – Always on only One Dimension

2010 © 2010 SAP AG. All rights reserved. 17

Unit 1: Concepts and Objects in BPC Administration BPC420

Another important information before one starts with BO PC in detail is that youshould know how BO PC hierarchies are constructed and how you can use themif you want to do top down and bottom up planning.

As you can see BO PC only supports one type of hierarchy that is a hierarchybased on one dimension.

External hierarchies or Text hierarchies as available in BW are not possible forBO PC.

As a consequence of this hierarchy type in BO PC some dimension members areleaf members while others are node members. The decision node member or leafmember is made with the help of property “PARENTHn”. N can be an integernumber and allows you to have several hierarchies in parallel.

As you can see from the upper graphic you can alwas plan on leaves but neveron a node member. This is the case since node members in BO PC sum up thetransaction data for the leaves beneath the relevant node. This summing up oraggregation is always automatically executed by the system when the end usersaves data to the server.

Figure 22: Top-Down Planning in BPC 1/3 – Budgeting and DistributionDone by One User

If you want to work top down which means to would like to plan some data on anode member (but cant do this in BO PC) you will have to find a workaround.

18 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Planning and Consolidation – Some Modeling Aspects

This slide shows you the first of three work arounds and it works with an Excelline which represents the node member.

Note: EVGTS means that you will read data from the BO PC Serverusing this BO PC function.

EVSND means that you can send data from an Input Schedule in BOPC to the server.

Both EV functions need the information in which combination of dimensionmembers the relevant amount is written.

Figure 23: Top-Down Planning in BPC 2/3 – Budgeting and DistributionDone by two Different Users

This is the second work around. Here we work with a leaf member (Budget) pernode member but since the new leaf member and the old leaf members are allbeneath one common node member we must distinguish between the budget (newleaf member) and the distribution of values (sum of old leaf members).

When sending data to the server all members beneath a node are summed up sowe would get double the budget after sending data.

To avoid this we introduce to versions, one for the new budget member and onefor the distribution members and so when sending data a double summing upof budget and distribution isn't done.

2010 © 2010 SAP AG. All rights reserved. 19

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 24: Top-Down Planning in BPC 3/3 – Budgeting and DistributionUsing a Leaf per Budget Node

The last workaround is the most elegant way to plan budget and distribute it.

It “lives from” two constructions:

• one leaf member for a node member you want to put your budget on• budget leaf member and distribution leaf members don't have any common

node

member in their dimension hierarchy. So if the budget leaf member and thedistribution leaf members don't have a common parent node there can't be asumming up/duplication of values at any level of the hierarchy!

You can also use the 'top down allocation' solution as a way to disaggregate yourdata based on history.

Below you can see the course exercise scenario.

20 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Planning and Consolidation – Some Modeling Aspects

Figure 25: Course Scenario

2010 © 2010 SAP AG. All rights reserved. 21

Unit 1: Concepts and Objects in BPC Administration BPC420

Lesson Summary

You should now be able to:• Understand the main features and structures of BO PC from a topdown

perspective• Understand the importance and use of properties in BO PC and modeling

of budgeting screnarios in BO PC

22 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Terminology

Lesson: Terminology

Lesson OverviewLet's get to know the architecture and termology of BPC

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Get an overview about the most important BO PC key terms

Business ExampleYou are on the project team to implement BPC and you are starting the projectteam training.

Figure 26: Key Terms

2010 © 2010 SAP AG. All rights reserved. 23

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 27: Terminology: Application Sets

• ApShell is the delivered application set used as a starting point for clientimplementations.

• No objects within an AppSet are shared with other AppSets.

Figure 28: Terminology: Dimensions (Master Data)

If there is no hierarchy in the dimension, the dimension is considered to be a“Flat” dimension.

If a hierarchy exists, the dimension is considered to be a “Hierarchical” dimension.

24 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Terminology

Figure 29: Terminology: Properties

In this example, the account Dimension has a member ExtSales with the propertyvalues:

• Description = External Sales• Group = Profit & Loss• Scaling = Y• AccType = Inc

Figure 30: Terminology: Measures

2010 © 2010 SAP AG. All rights reserved. 25

Unit 1: Concepts and Objects in BPC Administration BPC420

Measures – time-related views of transaction data, such as Period, Quarter todata, and Year to date.

ApShell measures are: Periodic, Quarter To Date, and Year To Date.

The accounts above are cumulative in nature since you can add up operatingincome over time.

Most source systems store balances on a periodic basis (whether it is daily,weekly, monthly, fiscal periods, etc).

With this method, periodic data must be accumulated for year-to-datereporting (except for Balance Sheet accounts, which gets the value from thelast period).

However, in some business cases, calculations should occur on a year-to-datebasis.If YTD is required, applications can store the data on a YTD basis.

When data is entered into YTD, its periodic values used for reportingpurposes, are calculated as the difference between the current period and thelast period (again, Balance Sheet accounts would simply take the value from thelast period).

One can decide to store data in YTD or on a Periodic basis setting the AppSetParameters.

Figure 31: Terminology: Transaction Data

Transaction Data is stored in Applications (Cubes).

Note: Every dimension in the cube has a dimension member posted inevery record and each one is a base level member. Base level membersdon't have children.

26 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Terminology

Figure 32: Terminology: Applications

This slide illustrates the correlation between the SAP NetWeaver objects andapplications/dimensions from SAP Business Planning and Consolidation.

An SAP Business Planning and Consolidation application can be described asbeing similar to an InfoCube in SAP NetWeaver.

• In SAP NetWeaver, the different types of objects that can be used to storedata (or report on views of data) are called InfoProviders.

• One type of InfoProvider is an InfoCube (or just cube for short).• InfoCubes are where data is stored in SAP NetWeaver BW, in an extended

star schema.

In SAP NetWeaver, the different types of objects that can be used to store data(or report on views of data) are called InfoProviders.

One type of InfoProvider is an InfoCube (or just cube for short).

InfoCubes are where data is stored in SAP NetWeaver BW, in an extended starschema.

This slide contains information about SAP NetWeaver terminology.

2010 © 2010 SAP AG. All rights reserved. 27

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 33: BW and SAP BusinessObjects Planning and Consolidation KeyTerms

Figure 34: InfoObjects (Fields)

28 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Terminology

Lesson Summary

You should now be able to:• Get an overview about the most important BO PC key terms

2010 © 2010 SAP AG. All rights reserved. 29

Unit 1: Concepts and Objects in BPC Administration BPC420

Lesson: Comparison BW Integrated Planning and BPC– Strategic View

Lesson OverviewFor those companies who are already using Integrated Planning, the followingcomparison may be useful.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Discuss the high level differences between Integrated Planning and BPC.

Business ExampleYou are currently using Integrated Planning and you need to know what thebenefits are to migrate.

Figure 35: High Level Overall Comparison

• The upper slide compares two planning tools offered by SAP:

– BW Integrated Planning– SAP BO Planning and Consolidation

and shows the main differences between both tools from a strategicpoint of view.

30 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Comparison BW Integrated Planning and BPC – Strategic View

Figure 36: High Level Feature/Function Comparison

Please compare the Appendix at the end of this lesson for more details concerningthe differences between BW-IP and BO PC.

The upper slide is a high level analysis.

Figure 37: Going Forward

As you can see both planning tools will be available in the future.

2010 © 2010 SAP AG. All rights reserved. 31

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 38: Recommendations for Existing SAP NetWeaver Customers

SAP NetWeaver BW-IP has been used to create a Public Budget Formation (PBF)application for US and Canada Governments – specifically for States, Cities,Counties, K-12, Higher education, and Federal Government budget preparation.SAP BusinessObjects Planning and Consolidation can be considered when thereare planning plus consolidation requirements in Federal Government opportunitiesin North America. Note, SAP BusinessObjects Planning and Consolidation isrecommended for all new Government opportunities outside of North America.

32 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Comparison BW Integrated Planning and BPC – Strategic View

Lesson Summary

You should now be able to:• Discuss the high level differences between Integrated Planning and BPC.

2010 © 2010 SAP AG. All rights reserved. 33

Unit 1: Concepts and Objects in BPC Administration BPC420

Lesson: Application Set Management

Lesson OverviewThis lesson is an introduction for the Admin Console. This is the workbenchfor BPC Administrators.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Add and delete an AppSet• Use Application Set Status• Monitor User activity for an AppSet• Describe new AppSet features in SAP BusinessObjects Planning and

Consolidation.

Business Example

Figure 39: BPC Administration

SAP Business Planning and Consolidation (BPC) Administration lets youbuild and maintain BPC applications.

34 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Application Set Management

Figure 40: BPC Login

The Connection Wizard is an important tool to log to different application setsand to set the default set.

Figure 41: The Connection Wizard

The Connection Wizard guides the user through the process of connecting to theBPC server as described in the graphic.

2010 © 2010 SAP AG. All rights reserved. 35

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 42: The Admin Console – First Orientation

Use the tree on the left to select which components to display or maintain.

The middle area displays the settings and metadata for the component you haveselected in the tree.

The action pane is on the right.

Figure 43: Creating a New Application Set 1/2

AppSets are created by copying an existing application set.

36 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Application Set Management

Only a user with System Administrator rights can create a new application set.

Figure 44: Creating a New Application Set 2/2

When all the desired records have been selected, click “Add New Application Set”.

• The new application set will be created.• The copy AppSet process will get scheduled as a background job and can

be seen in SM37. The .NET client will poll this background job until it isfinished.

When you create a new AppSet, these steps get executed:

• Copy the AppSet WebFolders/Data within File Service.• Creates a copy of all NW BW Objects (different technical names).• Moves all data to copied AppSet from source AppSet (both transactional as

well as master data).• Copies Security and BPC metadata.

Any error during a copy of an AppSet will result in a rollback to clear all createdobjects.

2010 © 2010 SAP AG. All rights reserved. 37

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 45: Setting Application Set Status

The AppSet status can be set to either Available or Unavailable.

A custom message can be created that will inform users that the AppSet isunavailable.

It is recommended to include the date and time in the message which will indicateto the users when they can log back on.

Figure 46: AppSet Offline – Excel

38 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Application Set Management

This slide contains information about the implication of an application set beingoffline for other modules.

• Once logged on, Administrators can still get data, but they should be verycareful as the AppSet is typically offline for a reason.

• Additionally, data manager packages can still be executed when the AppSet isoffline if Administrators enter the AppSet after receiving the above warning.

• Administrators can also Write back through input schedules if they decide tocontinue, so this warning should be taken seriously.

Figure 47: Set Template Version

Updating the template version number will force an update of the template filesto the clients.

The version number can be changed in the Admin Console as well as in theApplication Set Parameters using the Web Administration interface.

The system will handle updating the clients with dimension changes automatically.

If needed, the “Refresh client-side dimension files” can be used to force an updateif there is an error in the client-cache.

This slides describes how to delete an application set.

The delete is permanent and cannot be reversed.

2010 © 2010 SAP AG. All rights reserved. 39

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 48: User Activity

The “User Activity” is new in SAP Business Planning and Consolidation 7.0,version for SAP NetWeaver.

It logs all RFCs from the .NET tier to the ABAP tier.

When viewing the User Activity report, you can refresh the report with the mostrecent activity or delete the old activity.

Figure 49: Application Sets: Additional Technical Information 1/4

40 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Application Set Management

Figure 50: Application Sets: Additional Technical Information 2/4

The UJT_CHECK_TABLE_ENTRIES program can be used to check the transportentries of an AppSet.

Figure 51: Application Sets: Additional Technical Information 3/4

In ABAP, there is an undocumented program for copying an AppSet.

2010 © 2010 SAP AG. All rights reserved. 41

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 52: Application Sets: Additional Technical Information 4/4

The UJA_DATA_CHECKER program can be used to check the consistency for anAppSet.

42 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Application Set Management

Lesson Summary

You should now be able to:• Add and delete an AppSet• Use Application Set Status• Monitor User activity for an AppSet• Describe new AppSet features in SAP BusinessObjects Planning and

Consolidation.

2010 © 2010 SAP AG. All rights reserved. 43

Unit 1: Concepts and Objects in BPC Administration BPC420

Lesson: Dimension Management

Lesson OverviewUnderstand the possibilities of how to load master data.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Add a new dimension, modify, or copy an existing dimension and deletea dimension

• Understand how to add dimension properties• Understand dimension member hierarchies• Describe the ways of loading master data.

Business Example

Figure 53: Where Do you Create Dimensions

Click on the Dimension Library in the Admin Console. This opens the availableAction Pane tasks.

Select “Add a new dimension” to build a new AppSet dimension.

44 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Management

Figure 54: Dimension Types

Dimensions are built in the SAP Business Planning and Consolidation AdminConsole.

They are added at the Application Set level in the dimension library folder.

These then become shared dimensions that are available for use in any applicationin the application set.

Dimensions within one Application Set cannot be used within another ApplicationSet.

Some dimension types are required dimensions and must exist in all theapplications within an application set.

The dimension type determines the default properties to be included in thedimension.

Add additional properties as needed.

2010 © 2010 SAP AG. All rights reserved. 45

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 55: Creating Dimensions 1/3

Dimension names are not case sensitive and will display your dimension in thecase you typed, but dimension names must be unique regardless of case.

Dimension field names may ONLY be max of 20 characters.

Each dimension built will walk through a series of steps via the Action Pane insidethe Admin Console. If you make any mistakes you may click the Back button, orclick Back on the main Admin Console Action Pane.

Remember, clicking the Left hand side pane will quit the activity or step in theprocess.

Figure 56: Creating Dimensions 2/3

Since you logged on, this would be the first time required for a server roundtrip.

46 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Management

This will call the SAP Business Planning and Consolidation API to create a newdimension (which will create the new InfoObjects required).

All properties will get created as new InfoObjects.

• Property name defines the property and is case sensitive• All dimension properties less than or equal to length 60 are stored as

BW attributes.• There is no technical limit on the length of SAP Business Planning and

Consolidation Dimension Properties.• Dimension Properties over length 60 have extended the SAP NetWeaver BW

schema one more level. Internally they are stored as type string and linkedto the star schema through the dimension member ID which is length 20.Therefore, if you look at the master data directly in SAP NetWeaver BW,you will see the member ID stored for each Super Long Text attribute.

• This means if a property has a length over 60, the length becomes irrelevant,since it is a string. This means that they will not be available for Advancedlogic or rule based calculations. But we can store many more propertiesand longer lengths for storing important information, such as a Full CustomerAddress without using multiple properties.

• In SAP Business Planning and Consolidation, you can only increase the sizeof a property, you cannot reduce the size. To reduce the size, you willhave to create a new property copy the values over from the old property,and delete the old property.

Figure 57: Creating Dimensions 3/3

2010 © 2010 SAP AG. All rights reserved. 47

Unit 1: Concepts and Objects in BPC Administration BPC420

The example shown on this slide is in the SAP NetWeaver BW Data WarehousingWorkbench.

By entering the Workbench, selecting InfoProvider section, you will see the list ofSAP Business Planning and Consolidation dimensions.

Selecting a dimension will display a view that highlights the properties of thedimension, their system name and size of the property.

Figure 58: Use of Dimension Properties

Defining the right properties in a dimension support various functions from theusers interface and make reporting much easier.

In addition, properties are often critical component used to evaluate expressions inadvanced script logic and business rules.

Remember, the value you place in a members property may be pulled to anyapplications BPC for Excel page, as is.

48 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Management

Figure 59: Modify Dimension

Modifying a specific dimension is limited to the specifics of the dimension, suchas the description and reference dimension.

You cannot “rename” the dimension; for that process, you would need to eithercopy the existing dimension, or add a new dimension.

Figure 60: Copy Dimension

Use the copy process when you have an existing dimension type and design,including properties, that you want to leverage for a new dimension.

2010 © 2010 SAP AG. All rights reserved. 49

Unit 1: Concepts and Objects in BPC Administration BPC420

This is useful when building similar dimensions, such as Account or Entity, thatalready have several properties and members, but you need separate dimensionsfor different applications.

Figure 61: Delete Dimension

Only delete a dimension once you have removed it from any active application.

Once it is deleted, all associated information is removed from the database.

50 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Management

Figure 62: Maintaining Dimension Members 1/2

• When you create a new dimension, a Member Sheet is automaticallycreated, with column headings for every property that has been defined using“Manage dimension property”.

• The Member Sheet is opened and stored as .xls file. This file has the samename as the dimension.

• For example: the Member Sheet for the dimension named Account is“Account.xls”

• Member Sheets are where the members of each dimension (and the memberproperties) in your application are maintained.

2010 © 2010 SAP AG. All rights reserved. 51

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 63: Maintaining Dimension Members 2/2

The upper screenshot shows a Member Sheet for the Account dimension.

Renaming an existing member and its data is not possible, based on the SAPNetWeaver design. You must add a new member and copy the data.

If you plan to delete a member, you will need to verify that all data related to thatmember is deleted, including across applications if the dimension is shared.

To delete a member in a cube, all relevant associated data must be cleared firstusing the Data Manager Clear package (or SAP NetWeaver BW selective deletion).

Once you do delete the member, you may find that you will need to re-processthe whole application to get everything back to order.

Member sheets are temporary storage views of the member information in theSAP NetWeaver database.

Each time you open a sheet, the sheet is rebuilt from the SAP NetWeaver database.

The sheets currently store all properties and members alphabetically. This hasbeen noted as a possible area for improvement.

Do not be surprised that what you saved, once re-opened has a whole new look toit. The data is correct, just re-organized.

52 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Management

Figure 64: Modeling Hierarchies

It is natural to have hierarchies for dimensions such as entity and time where theneed for rollups is common. Hierarchies also allow the use of multiple views fromone dimension. For example the entity (such as Store) dimension can be used toview data by company code, plant, or region.

Figure 65: Multiple Hierarchies

A dimension can have more than one hierarchy.

A parent in SAP Business Planning and Consolidation must have the samechildren if it is reused across multiple hierarchies.

To process a dimension, click on “Dimension Library” on the left of the AdminConsole.

2010 © 2010 SAP AG. All rights reserved. 53

Unit 1: Concepts and Objects in BPC Administration BPC420

The option to process a dimension can be found in the Action Pane.

Figure 66: Processing Dimensions 1/2

To process a dimension, click on “Dimension Library” on the left of the AdminConsole.

The option to process a dimension can be found in the Action Pane.

Figure 67: Processing Dimensions 2/2

54 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Management

Figure 68: Processing Dimensions

Figure 69: Master Data Import Options

SQE = Standard Query Engine

2010 © 2010 SAP AG. All rights reserved. 55

Unit 1: Concepts and Objects in BPC Administration BPC420

When you process a dimension, you can choose to process “from the membersheet”.

This means that when you process a dimension, the values to save back to themaster data of the SAP NetWeaver B InfoObject are taken from the Excel sheetyou currently have open on your client machine.

If you do not select this, it assumes you have already chosen to save the sheet tothe server before processing, and therefore the BW master data is updated fromthe sheet on the server.

Processing a dimension should be significantly faster in SAP Business Planningand Consolidation than SAP Business Planning and Consolidation for Microsoftbecause there is no need for it to rollup the MOLAP cube.

If you have manually built aggregates on your SAP Business Planning andConsolidation cubes, then this performance benefit of processing would be lost.

Figure 70: Supported Changes via BW Workbench – General

The SAP NetWeaver workbench allows administrators and system administratorsto view all the components from the backend.

Every SAP Administrator will say “What can I change, touch, modify using thebackend?” or “Is this the same as.(other tools using BW-IP)?”.

The answer is DO NOT CHANGE ANYTHING and DO NOT TRY TOMODIFY ANYTHING.

The next slide indicates what may be changed and any changes outside of the onesherein will not be supported.

56 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Management

Figure 71: Supported Changes via Admin Workbench – Tab Card BusinessExplorer

This slides lists what you can and can not change via the SAP NetWeaver AdminWorkbench.

Figure 72: Supported Changes via Admin Work-bench – Tab Card MasterData/Texts

VIEW ONLY in the SAP NetWeaver Admin Workbench from the SAP BusinessPlanning and Consolidation perspective.

2010 © 2010 SAP AG. All rights reserved. 57

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 73: Supported Changes via Admin Workbench – Tab Card Hierarchy

DO NOT CHANGE the settings on the Hierarchies tab.

Figure 74: Supported Changes via Admin Workbench – Tab Card Attribute

DO NOT CHANGE the settings on the Attribute tab.

58 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Management

Figure 75: Supported Changes via Admin Workbench – Tab CardCompounding

DO NOT ADD or CHANGE any compounding to any InfoObjects in the /CPMB/namespace.

If you use BW technique to load master data you will have to process the relevantdimension afterwards.

If you use BW to load master data you will need to run the hierarchy attributechange run in BW manually as well as make sure the caching mechanisms inSAP Business Planning and Consolidation were updated correctly.

You can call ABAP program UJA_REFRESH_DIM_CACHE using the processtype “ABAP_PROGRAM” in a process chain to update the BPC dimensioncache.

To debug an API, you can set your user as a debug user in server manager andset a breakpoint in the equivalent function in Function Group UJA1.

2010 © 2010 SAP AG. All rights reserved. 59

Unit 1: Concepts and Objects in BPC Administration BPC420

Lesson Summary

You should now be able to:• Add a new dimension, modify, or copy an existing dimension and delete

a dimension• Understand how to add dimension properties• Understand dimension member hierarchies• Describe the ways of loading master data.

60 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Creating Applications

Lesson: Creating Applications

Lesson OverviewIn this lesson we will discuss how to model and create application.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Describe what is an SAP Business Planning and Consolidation application• Set up Application Administration• Understand some technical features in connection with Applications.

Business ExampleYou need to set BPC up to do expense planning and so you need the applicationsto store the transaction data.

Figure 76: Admin Client – Applications

Applications are administered from the SAP Business Planning and ConsolidationAdmin client.

If you select the Application level on the left, the Action Pane will display tasksrelevant for Applications: Create; Copy; Modify and Delete Applications.

Create vs. Copy:

Create and Copy both require you select a “template” application to copy from.

2010 © 2010 SAP AG. All rights reserved. 61

Unit 1: Concepts and Objects in BPC Administration BPC420

The major difference then is that Copy will actually copy the data, and you cannot change the dimension assignments when copying, while

Create allows you to change dimension assignments, but not copy data.

When choosing Create, the documents stored in the file system from the Sourceapplication will be copied.

If the Application Type is Financial or Consolidations, then Journals are alsocopied during Create.

Technically the following operations are realized as Process Chains and willtechnically be executed in a Background Mode:

• Copy Application• Modify Application• Optimize Application• Copy AppSet.

You can use job log in transaction code SM37 to view the detailed log informationand progress of these jobs.

During execution the Admin Client will be locked and will constantly poll for thestatus of this background job (every 20 seconds). Only when the job has finished,control will return to the client for these jobs.

Figure 77: Creating a New Application

By checking off the currency conversion rules, the system will create business ruletables to perform that function.

Planning applications must reference a rate application.

One rate application can be referenced by multiple other applications.

62 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Creating Applications

Figure 78: Modifying an Application

In SAP Business Planning and Consolidation, you are able to add, delete ormodify dimensions without any restrictions. This is different from the usual SAPNetWeaver Business Intelligence (BI) restrictions.

This slide contains a list of options available when an application is being created.During the copy process, the “Dimensions” checkbox can be de-selected whichallows different dimensions to be added to the new application. Dimensions couldalso be added/removed later as well.

A dimension can also be flagged as a “Secured” dimension during this processwhich means that a kind of “authorization object” is created for it, which meanssecurity can be controlled through Member Access Profiles.

Each application should have at least four dimensions; Category, Entity andTime, Account.

To delete a dimension from an application, it is necessary to first delete all thedependencies of that dimension from the application.

2010 © 2010 SAP AG. All rights reserved. 63

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 79: Application Types 1/2

When creating a new application, you must choose an application type, which tellsthe system which properties to associate with the application.

Figure 80: Application Types 2/2

This slide shows the list of possible application types.

64 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Creating Applications

You can report on non-reporting application data, but you cannot assign workstatus codes to the data.

In addition, you cannot define business rules to these application types.

Reporting applications require the four dimension-types: Entity, Account, Time,and Category but non-reporting types do not.

Figure 81: Required Dimensions per Application Type

This slide contains a list of required dimensions for each application type.

It is important to note that every application can not have duplicate dimensiontypes for these required dimensions.

Figure 82: Referencing Applications & Business Rules

You can have interdependency between applications.

2010 © 2010 SAP AG. All rights reserved. 65

Unit 1: Concepts and Objects in BPC Administration BPC420

It is also possible to define Business Rules which can be applied to certainFinancial and Consolidations applications.

Figure 83: Back-end InfoProviders

InfoProvider definitions for an SAP Business Planning and Consolidationapplication can be seen in SAP NetWeaver using transaction RSA1.

Transaction RSDCUBE provides more information about the cubes.

Please keep in mind that the Netweaver restrictions for the InfoObjects inthe BPC-Cube are the same as in “normal” BI cubes: 248 characteristics perBI-dimensions and 13 possible BI-dimensions!

Figure 84: Application Optimization Overview

66 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Creating Applications

Figure 85: Application Optimization 1/2

Optimize will run a number of technical steps on the SAP NetWeaver BI InfoCubein an attempt to improve performance.

There is no rule of thumb for how often to run optimizations, but as data volumesgrow over time, it is recommended to run optimize periodically.

There are two different types of optimization available:

• Light Optimize: will close the open request, compress withoutZero-Elimination and index the cube, and update database statisticsfor the BI Cube.

• Full Optimize: will perform the same operations as Light Optimize, butwill also check the NetWeaver BI data model. If the data model can beimproved, Full Optimize will do so, and this could take a long time to run(for cubes with large data volumes).

Both optimiziation options require that the application is offline.

Be careful running a Full Optimize as significant system resources are used inthe process.

Figure 86: Application Optimization 2/2

2010 © 2010 SAP AG. All rights reserved. 67

Unit 1: Concepts and Objects in BPC Administration BPC420

Full Optimize will check whether the data model of the Business Intelligence (BI)Cube is built appropriately. Specifically, it will check:

• if Dimension tables have < 20% size of fact table.• As many line item dimensions are used whenever possible.

If the cube structure can be optimized, then it will:

• Take AppSet Offline.• Create a Shadow Cube with Optimal Data Model.• Move data to shadow cube, delete original cube.• Close Open Request, Compress and Index the Cube, and Update Database

Statistics.• Bring AppSet back Online.

Because this is a technically going to be a new cube, any changes that had beenmade to (or surrounding) the underlying InfoProviders will be lost, for example,if you had setup Data Transfer Processes (DTPs) to/from the Cube; if you hadaggregates or Business Intelligence Accelerator (BIA) Indexes built, etc.

Figure 87: What you should not do in RSA1

It is very important to note that the design of SAP Business Planning andConsolidation (BPC) Applications can only be performed using the BPC Admininterface and not using the RSA1 transaction from SAP NetWeaver.

68 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Creating Applications

Figure 88: What you are allowed to do in RSA1

Changes can be made for InfoProvider properties.

These changes will be lost if the underlying technical InfoProvider is changed.

Figure 89: What you can't do in RSA1

Partitioning is not available because we do not use the standard SAP timedimension, and that is all that NetWeaver supports for partitioning. We willconsider additional enhancements here in the future.

2010 © 2010 SAP AG. All rights reserved. 69

Unit 1: Concepts and Objects in BPC Administration BPC420

You could also change the DB Performance parameters (e.g. to specifytablespaces) for an InfoCube. However, most of these parameters are availablewhen the cube contains no data.

Therefore, when you create a new cubes you could alter them, but when a shadowcube is created, these type of changes would be lost. Therefore, it is not reallypossible to configure these items.

70 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Creating Applications

Figure 90: BPC Application – BPC MultiProvider and BPC-Query

• The InfoProvider is generated in namespace /CPMB/ with naming conven-tion /CPMB/<AppsetPrefix>I<ApplicationPrefix><1GeneratedChar>

• TheMultiProvider is generated in namespace /CPMB/ with naming conven-tion /CPMB/<AppsetPrefix>M<ApplicationPrefix><1GeneratedChar>

• The Query is generated in namespace /CPMB/ with naming convention<MultiProvName>/!!O<MultiProvName>

• A BPC InfoProvider can be changed without using the re-modelingtoolbox in BI! So we do not need to obey the underlying SAP NetWeaverrestrictions on adding/removing dimensions.

• Working with Full Optimize:

– A new cube with all the changes and with a technically new name iscreated.

– Transaction data is copied from the original cube to the new cube.– If a new dimension was added, we will fill it on every record with the

first member maintained in the master data.– The connected MultiProvider will automatically point to the new cube.

You can see this relation in table UJA_APPL.– If you had gone into the backend and modeled any additional

InfoProvider to the MultiProvider, those changes would be lost and theBPC Cube would not be related to the MultiProvider.

• The MultiProvider and the Query are always created automatically. They areboth constants in the data flow. The underlying Realtime InfoProvider isexchanged if you do a full optimize. The new cube would then have to beadded manually to the MultiProvider after the optimization.

• MultiProvider and Query are merely technically needed because of FullOptimize.Depending on the Clients Request data is directly read from the query usingSQL. All MDX statements are then performed against the query, built on topof the MultiProvider.

2010 © 2010 SAP AG. All rights reserved. 71

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 91: YTD vs. PERIODIC

Measures – time related views of transaction data such as Period, Quarter to data,and Year to date.

ApShell measures are: Periodic, Quarter To Data, and Year To Date.

Most source systems store balances on a periodic basis (whether it is daily,weekly, monthly, fiscal periods, etc). With this method, periodic data must beaccumulated for year-to-date reporting (except for Balance Sheet accounts,which gets the value from the last period).

However, in some business cases, calculations should occur on a year-to-datebasis. If YTD is required, applications can store the data on a YTD basis.

When data is entered into YTD, its periodic values used for reportingpurposes, are calculated as the difference between the current period and thelast period (again, Balance Sheet accounts would simply take the value from thelast period).

One can decide to store data in YTD or on a Periodic basis setting the ApplicationParameters as shown above. The YTDINPUTWeb Admin Parameter definesthe application type (Periodic or YTD).

By default, applications are PERIODIC. You can change the YTDINPUTparameter to a value of “1” to turn it into a YTD storage type.

All the measures are available in the application (YTD, PERIODIC, QTD), but itis important to define the type of application and understand how the data will bestored in the fact table.

Its possible to use a preconfigured Data Management Package to convert from onetime related view to another.

72 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Creating Applications

Figure 92: Delivered Default Measures

This slide contains a list of default Measures in SAP Business Planning andConsolidation.

Custom measures are also supported.

Figure 93: Create Custom Measures

Measures formulas are defined in table UJA_FORMULA.

A new formula is required for each Storage Type (PER or YTD) so you cansupport the measures across either type of Application.

Therefore, there are 6 entries shipped in this table (2 storage types * 3 measureformulas).

2010 © 2010 SAP AG. All rights reserved. 73

Unit 1: Concepts and Objects in BPC Administration BPC420

The formulas areMultidimensional Expressions (MDX) statements that tellyou how to convert the data into the correct format.

They typically deal with sign transformations and time calculations for eachAccount Type

• INC accounts are cumulative stored with a negative balance• AST are non-cumulative and stored with a positive balance.

Or you want the format Half Year.

• When you create a new application, the entries from UJA_FORMULA areread and copied to table UJA_FORMULA_APP.

• This is required to replace the variable names with the technical names(we could have read UJA_FORMULA at runtime and done a dynamicreplacement, but this optimizes runtime performance).

• Therefore, it is important to note that if you add a new formula intoUJA_FORMULA for an existing application, you will also need to manuallyupdate UJA_FORMULA_APP, as well.

Figure 94: Steps in BPC after creating an Application

This slide contains the order of processes that take place when an application iscreated.

So all this configuration is a major reason why you cant use an existing BIcube!

74 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Creating Applications

Lesson Summary

You should now be able to:• Describe what is an SAP Business Planning and Consolidation application• Set up Application Administration• Understand some technical features in connection with Applications.

2010 © 2010 SAP AG. All rights reserved. 75

Unit 1: Concepts and Objects in BPC Administration BPC420

Lesson: Security

Lesson OverviewThis lesson inform about “Administration in BPC”.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand how the locking concept of Work Status works• Understand which settings in the security concept can cause which conflict

Business ExampleYou need to set up the security model for BPC and so you need to know how thefour components work: Users, Teams, Task, and Member Access Profiles.

Figure 95: Where is Security performed?

Security is installed via BPC exclusively.

As you see Users, Teams, Task Profiles and Member Access Profiles have to beconfigured per Application Set.

76 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

The normal order for configuration is:

• Create Task Profile and Member Access Profiles• Create Teams and assign the Profiles to the Teams• Create Users and assign Users to Teams

If you add new Users, assign them to their Team. Try to avoid assigning taskprofiles, access profiles to users directly.

If many users need access to identical base members, then you should create therelevant member access profiles, create teams, assign teams to profiles and usersto teams. Modeling of Security is team-based then. Maintenance is easy here ifpeople leave, need a substitute and so on if everything is managed by team. But itsa lot of maintenance to create so many teams.

If nearly all users need access to completely different members, then a memberaccess profile-model is needed in which you create the relevant member accessprofiles and assign users to these profiles.

Figure 96: Security – Schema

Its important to clarify the Security terminology first.

Basically there are Users. They belong to groups called teams. The requiredprofiles are assigned to these teams.

User:

• BPC and the Advanced Business Application Programming (ABAP) part ofNetweaver have separate concepts of a user. A BPC user is not the sameas an ABAP user.

• Users should be an AD Domain user, but can be a local user as well.Local users should only be an option within a system for development ora demonstration.

2010 © 2010 SAP AG. All rights reserved. 77

Unit 1: Concepts and Objects in BPC Administration BPC420

Team:

• A team is a group of users and fairly equivalent to a SAP NW role.• One User can be designated as a team leader.

Task Profile:

• A task profile determines what type of activities a user or team can performin BPC.

Member Access Profile:

• A member access profile determines applications and dimension memberswhere a user or a team has read, write or deny access to a particular region ofdata in the application.

Figure 97: Adding New Users 1/2

The upper screenshots show how an AD domain user or a local user is assigned toa BPC user.

78 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Figure 98: Adding New Users 2/2

This slide shows that a user is (optionally) assigned to a team and that he or shecan become a team leader by clicking a selection flag on the left hand side ofthe selected user.

You can also see that the user is assigned to a Task Profile and to a MemberAccess Profile.

Figure 99: Administrator needs an ABAP User

2010 © 2010 SAP AG. All rights reserved. 79

Unit 1: Concepts and Objects in BPC Administration BPC420

An Administrator (Technical Power User), who has to be able to access the BPCparts in the ABAP needs an ABAP user.

The upper slide shows how you can do it.

Figure 100: Creating Teams

When you assign security to teams, the security works collectively on the teammembers.

This allows you to easily maintain security for many users at the same time.

A team leader has special privileges a team member doesnthave.

A team leader can save templates to their team folder on the server.

In BPC 7.0 NW you can just have a maximum of 1 team leader per Team.

80 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Figure 101: Team Leader Privileges 1/2

Saving objects to the server (such as Tools → Save Dynamic Templates):

• The administrator can save objects to the “company” folder.

The administrator automatically has the manage template task assigned.

• The team leader can save objects to his/her “team” folder.

The team leader automatically has the right even if manage template is notassigned

• Any user with manage template tasks can save and update objects to the“company” or his/her “team” folder, i.e. on the server. There is no need toassign administrative rights and team leader rights.

Concerning the Data Manager and Transformation and Conversion Files:

The team leader can modify team transformation file and conversion file and canread transformation and conversion files located in company folder.

Non-team leaders only have read access rights.

Concerning the Data Manager and the Package Organization:

The Team leader can manage a package at the Team level.The Non-team leaders can open eData menu and run a package within a Companyor Team Folder.

2010 © 2010 SAP AG. All rights reserved. 81

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 102: Team Leader Privileges 2/2

The upper slide describes which group of users (Team Leader, Non-Team Leader)can do which activities concerning Data Manager Activities.

Figure 103: Creating a Task Profile

Within the Task Profile you have to determine, what type of activity or roles theusers can perform in BPC.

Default Roles are available or you can add Profiles as needed.

After creation of a Profile you can assign it to multiple users, as needed.

82 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Figure 104: Delivered Task Profiles (Roles)

SAP Business Planning and Consolidation task profile:

• A SAP Business Planning and Consolidation default function task is apre-defined set of tasks for Administration.

• To assign a SAP Business Planning and Consolidation user Admin Tasks,you must assign them one of the pre-defined Administration default functiontasks.

• Default function tasks can be cumulative. For example a user can be both, aSystem Admin and a Primary Admin.

There are three types of default function tasks available for Task Profiles

• System Admin: By default a System Admin can create, modify, or deleteapplication sets and define security.

• Primary Admin: By default a Primary Admin can do all admin tasks exceptcreate, modify, or delete application sets.

• Secondary Admin: By default being a Secondary Admin allows users tomanage dimension members and to maintain locks.

2010 © 2010 SAP AG. All rights reserved. 83

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 105: Member Access Profile – Prerequisite

Before you can configure the Member Access Profile you have to define securitysettings for dimensions at the application level using the “Modify application”option in the Action Pane.

Within “Modify Application” you have to set “Secured” for the authorizationrelevant dimensions.

Only for these dimensions you will have to define if you want a write-read,read-only, read or deny access for certain members of this secured dimension.

For the dimensions which are no secured dimensions you have a “sap-all” accessto all members.

Without having defined a Member Access Profile its not possible to work with theApplication.

84 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Figure 106: Member Access Profile – Configuration

In the member access profile, only the access to the secured dimensions can beadministrated.

You have write access to all members of a dimension which are not marked assecured dimension. In SAP terms you would say that you have “SAPALL” forthese members.

Figure 107: Security Example: 2 Hierarchies on Entity (Secured Dimension)

2010 © 2010 SAP AG. All rights reserved. 85

Unit 1: Concepts and Objects in BPC Administration BPC420

The following slides are going to guide you through some important issues relatedto the security concept.

The upper hierarchies form the example for the security issues described in thenext slides.

Figure 108: Conflict 1: Between Profiles – Less Restrictive Profile Wins

Follow the example on the slide to understand the first conflict.

Figure 109: Conflict 2: Parent Node and Child – Top-Down Heredity UnlessChild has Own Access Definition

Follow the example on the slide to understand the second conflict.

86 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Figure 110: Conflict 3: Teams and User – User Access Dominates TeamAccess of the Team to Which the User Belongs

Follow the example on the slide to understand the third conflict.

Figure 111: Conflict 4: A Member Belongs to Different Hierarchies – LessRestrictive Pprofile Wins

Follow the example on the slide to understand the fourth conflict.

2010 © 2010 SAP AG. All rights reserved. 87

Unit 1: Concepts and Objects in BPC Administration BPC420

88 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Exercise 1: Concepts and Objects in BPCAdministration

Exercise ObjectivesAfter completing this exercise, you will be able to:• Create dimensions and applications.• Maintain master data including hierarchies.

Business ExampleYou need to create the dimensions and applications for a planning scenario.

Task 1: Access Your Student_## Application SetObjective: Using the SAP Business Planning and Consolidation Admin Console,open your Student_## Application Set and observe the delivered content.

Description: The System Administrator has created this application set for you. Itwas created as a copy of APSHELL.

1. Take a look at your dimensions and applications in the Admin Console.

Caution: If you see STUDENT_00, 10 etc in any screenshot in anyLab equate them with STUDENT_##.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 89

Unit 1: Concepts and Objects in BPC Administration BPC420

Task 2: Updating the P_ACCT DimensionObjective: The application set you are logged on to is a copy of ApShell however,it does not contain any transaction data.

The goal is to change the dimensions and members that were copied from ApShellto ones that are needed for your STUDENT_## application set.

Add new account members to the account member sheet. Validate and process theAccount dimension to apply the changes.

Description: This lab will help you learn how to update dimensions and membersusing the Admin Console. Dimensions should reflect your business. It's a goodidea to think about the following related business requirements as we work withdimensions:

Dimensions – what dimensions do you need in your appset, how many perapplication

Members – what are the naming conventions

Properties – which to include for filtering, sorting, reporting, and calculations

Hierarchies – how many per dimension and how many levels

1. Add the following properties to your p_acct dimension. Also make allAcctype property values EXP.

PROPERTY LENGTH

SELECTION 2

INPUTREADY 2

OBJECTTYPE 5

UNIT 5

OWNER 50

REVIEWER 50

2. Maintain the property values of P_ACCT: make all acctype property valuesEXP and delete any existing formulas in column G:

3. Open up the provided excel file with dimension members on the G drive inthe BPC7.5 folder, look for your bpc420-## folder and the student_dimensionfile 7.5:

4. Copy and paste in the members and properties from theStudent_Dimensions_7.5 file in the 'P_ACCT_COMPLETE' sheet.

5. Maintain Owner and Reviewer as follows: ADTWDFVM2001\CPM-##.

6. Process the dimension without taking the system offline:

Continued on next page

90 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Task 3: Creating a Product DimensionObjective: Add a dimension called PRODUCT and add members to the Productdimension.

Description: This lab will help you learn how to create a dimension and addmembers. You will create a new dimension, add the PRODTYPE property witha length of 10 and then copy the members from an existing Excel workbook onyour remote computer.

1. From the tree view of the Admin Console, select Dimension Library. Add anew user defined dimension with a name and description of PRODUCT.

2. Add the property PRODTYPE with a length of 10.

3. Maintain dimension members.

4. Copy the master data from the student dimension file product sheet.

5. Paste the members into the PRODUCT member sheet and process thedimension.

Task 4: Maintain the Time DimensionObjective: Maintain the members of Time within your STUDENT_## applicationset.

Description: Maintain the time members.

Hint: If you take a look at the members you can see that Time has 16periods which is 12 months and 4 special periods 13 to 16 and descriptionsS1 to S4.

1. Open the time membersheet, copy the time sheet values from the studentdimension file and replace the entire contents of the time membersheet. Ofcourse, you will need to process the dimension.

Task 5: Updating the Category DimensionObjective: Change the delivered category members to ones that are needed foryour STUDENT_## application set.

Description: Modify the category members by copying and pasting membersfrom the Student_Dimensions.xls workbook.

1. Open up the category membersheet and copy in the new members thenprocess your dimension.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 91

Unit 1: Concepts and Objects in BPC Administration BPC420

Task 6: Updating the Entity DimensionObjective: Add properties and change the default entity members to ones thatare needed for your STUDENT_## application set.

Description: Copy and paste members from the Student_Dimensions.xlsworkbook.

1. Add two properties to the Entity dimension: COUNTRY and REGION bothwith a length of 10.

2. Delete the existing members. You may need to process the dimension twice.Also, use the 'Refresh dimension member' option to clear the cache andaccess the BW data directly.

3. Load the new entity members from the Student Dimension File.

Task 7: Updating the InputCurrency DimensionObjective: Change the default input currency members to ones that are needed foryour STUDENT_## application set.

Description: Modify the input currency members by copying and pastingmembers from the Student_Dimensions.xls workbook.

1. Open the Inputcurrency member sheet.

2. Copy the entire sheet with InputCurrency members from your studentdimensions 7.5 file.

3. Paste in the new values and store them in the data base by processing thedimension.

Task 8: View the master data from the BW ApplicationServerGo to the BW Data Warehousing workbench and browse the data for the productdimension.

1. If you haven't already, log on to the BW Application Server and then gotothe BW Data Warehousing workbench. Goto your STUDENT_## appset andfind the PRODUCT characteristic. Go into the definition of the characteristicand use the 'maintain' button to view the master data.

Continued on next page

92 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Task 9: Creating a New ApplicationObjective: Using the Admin Console, create a new application named D_ACT##by copying the PLANNING application in your STUDENT_## application set.

Description: You may have multiple applications in an application set.Applications in the same Application Set can share dimensions. You can alsoretrieve data from multiple applications in the same application set into the samereport.

1. Bring up the action pane options for applications by selecting 'application'in the admin console.

2. Add a new application with a name and description of D_ACT##.

3. Click on GO to STEP 2 of 4. In the next pop-up select FINANCIAL

4. Copy the dimensions from the source application.

Note: By selecting the dimensions checkbox we are creating anapplication with the same dimensions as the source application andthat's fine when the new application requires the same structure.

5. Now let's have the system create the new application via 'ADD A NEWAPPLICATION'.

6. Now let's see what's involved to change the dimensions in our newapplication via 'MODIFY APPLICATION'

7. Select the dimensions (category, entity, inputcurrency, product, p_acct, andtime) and make Entity and Category securable.

8. Now let's have the system remodel the Application via 'MODIFYAPPLICATION'.

9. Now go back to your BW Application Server.

Within the Data Warehousing Workbench goto your D_ACT## InfoCubeand enter its definition in display mode to see how BW characteristics aregrouped into InfoCube dimensions. Open up navigation attributes to seehow you can use properties in select statements. Then, confirm that there isonly one key figure.

10. Confirm that BPC creates a real time InfoCube for each application andthat they can be either loaded via BW or planned via BPC by viewing theReal-Time InfoProvider icon to the right of the InfoCube. Also, right clickon the InfoCube and view the data mode options via 'change real time loadbehavior'.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 93

Unit 1: Concepts and Objects in BPC Administration BPC420

Task 10: Grant Access to new Application and to allTasksObjective: Using the Admin Console, grant access to dimension members ofthe newly created application.

Description: When a new application is created, you must define member accessto the secured dimensions that reside in the application. This is required in orderto use Web, Excel, Word and PowerPoint Interfaces with any newly createdapplication.

1. Allow BPC access to the members of your new application by providing'read and write access' in the AdminMbrAccPrf member access profile forboth secure dimensions for all members. Perform this step for all threeapplications.

Note: This profile was copied over from the ApShell application setwhen your STUDENT_## application set was created.

Caution: Use the system 'drop downs' to do your selections, donot type.

2. Now we need to give ourselves more 'tasks'. Modify PrimaryAdmindelivered task profile. Activate the system, primary, and secondary taskprofile types. On step 2 include all tasks for each interface in 'selectedinterface tasks'. On step 3, assign this task profile to the ADMIN team.

3. Make your Appset available for data input.

Note: When we were updating the dimensions, we took the appset'offline' which means it is currently not available for data input.

Select your Student_## application set on the upper left and from the ActionPane select Set Application Set Status. In the next popup select Available.Then click on Update Application Set Status.

94 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Solution 1: Concepts and Objects in BPCAdministrationTask 1: Access Your Student_## Application SetObjective: Using the SAP Business Planning and Consolidation Admin Console,open your Student_## Application Set and observe the delivered content.

Description: The System Administrator has created this application set for you. Itwas created as a copy of APSHELL.

1. Take a look at your dimensions and applications in the Admin Console.

Caution: If you see STUDENT_00, 10 etc in any screenshot in anyLab equate them with STUDENT_##.

a) In the Admin Console, select your STUDENT_## AppSet→Open upthe dimension library → Open up the folder for applications as well:

Figure 112: Application Set STUDENT_##

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 95

Unit 1: Concepts and Objects in BPC Administration BPC420

Task 2: Updating the P_ACCT DimensionObjective: The application set you are logged on to is a copy of ApShell however,it does not contain any transaction data.

The goal is to change the dimensions and members that were copied from ApShellto ones that are needed for your STUDENT_## application set.

Add new account members to the account member sheet. Validate and process theAccount dimension to apply the changes.

Description: This lab will help you learn how to update dimensions and membersusing the Admin Console. Dimensions should reflect your business. It's a goodidea to think about the following related business requirements as we work withdimensions:

Dimensions – what dimensions do you need in your appset, how many perapplication

Members – what are the naming conventions

Properties – which to include for filtering, sorting, reporting, and calculations

Hierarchies – how many per dimension and how many levels

1. Add the following properties to your p_acct dimension. Also make allAcctype property values EXP.

PROPERTY LENGTH

SELECTION 2

INPUTREADY 2

OBJECTTYPE 5

Continued on next page

96 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

UNIT 5

OWNER 50

REVIEWER 50

a) Select the P_ACCT Dimension → Maintain Dimension Property →Enter properties as you see below → Modify dimension → Ok.

Figure 113: P_Acct New Properties

2. Maintain the property values of P_ACCT: make all acctype property valuesEXP and delete any existing formulas in column G:

a) Select the P_ACCT Dimension → Maintain dimension members → Fillin the ACCTYPE property value of EXP in D29 → Delete the formulasin G27 and G28.

3. Open up the provided excel file with dimension members on the G drive inthe BPC7.5 folder, look for your bpc420-## folder and the student_dimensionfile 7.5:

a) Goto Start → Documents → My documents → G Drive → BPC7.5 →BPC420 → BPC420-## → Student_Dimensions_7.5 → Open.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 97

Unit 1: Concepts and Objects in BPC Administration BPC420

4. Copy and paste in the members and properties from theStudent_Dimensions_7.5 file in the 'P_ACCT_COMPLETE' sheet.

a) Goto the P_ACCT_COMPLETE sheet → Copy and paste the selectedmembers into the member sheet in A31.

5. Maintain Owner and Reviewer as follows: ADTWDFVM2001\CPM-##.

a) Within the Membersheet navigate to column “Owner” and “Reviewer”and fill in ADTWDFVM2001\CPM-## with ## as your monitor numberfor all members.

6. Process the dimension without taking the system offline:

a) From the Action Pane → select Process dimension → The Processdimensions dialog box is displayed → deselect Take System Offline→ OK → OK.

Figure 114: Selection

Note: Due to some technical issues in service pack 3, we needto confirm that the hierarchy parents are stored in BW.

b) Refresh the data from BW: Select p_acct → 'Refresh dimensionmembers':

Continued on next page

98 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Figure 115: P_acct Refresh dimension members

c) Select 'Yes' → Select P_ACCT again → Maintain dimension members→ You should see the following:

Figure 116: P_ACCT new members

d) If you do not see parent members in C31 down (or any members youpasted in general), follow these steps: Copy the missing parents fromthe Student Dimension 7.5 file → Paste into C31:C70 → Processdimension → Ok → Ok → Select p_acct → 'Refresh dimensionmembers' → Yes → Select p_acct → Maintain dimension members →You should now have parent members for rows 31 to 70.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 99

Unit 1: Concepts and Objects in BPC Administration BPC420

Task 3: Creating a Product DimensionObjective: Add a dimension called PRODUCT and add members to the Productdimension.

Description: This lab will help you learn how to create a dimension and addmembers. You will create a new dimension, add the PRODTYPE property witha length of 10 and then copy the members from an existing Excel workbook onyour remote computer.

1. From the tree view of the Admin Console, select Dimension Library. Add anew user defined dimension with a name and description of PRODUCT.

a) On the upper right: Add a new dimension → Enter a name anddescription of PRODUCT → Continue → Select user defined:

Figure 117: Manage Dimensions

Continued on next page

100 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

2. Add the property PRODTYPE with a length of 10.

a) Continue → Add a new user defined property named PRODTYPE witha length of 10:

Figure 118: PRODTYPE

b) Modify dimension → Ok.

3. Maintain dimension members.

a) Select new Product dimension on the left → On the right → Select'Maintain dimension members'.

The Product.xls member sheet is opened.

4. Copy the master data from the student dimension file product sheet.

a) In the Student_Dimensions_7.5.xls, open sheet PRODUCT. Highlightthe entire sheet by clicking in the cell above row 1 and to the left ofcolumn A. Then choose Ctrl C

Note: Since we are copying the rows and columns from thestudent file, we are creating a column in the membersheetcalled PARENTH1 that is used for the hierarchy parent childdata. This is the only column in the membersheet which is nota property.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 101

Unit 1: Concepts and Objects in BPC Administration BPC420

5. Paste the members into the PRODUCT member sheet and process thedimension.

a) In the Admin Console → Goto the PRODUCT Member Sheet →Highlight the entire sheet → Paste in the members → Processdimension → Ok → Ok.

Figure 119: Process the product dimension

Continued on next page

102 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Task 4: Maintain the Time DimensionObjective: Maintain the members of Time within your STUDENT_## applicationset.

Description: Maintain the time members.

Hint: If you take a look at the members you can see that Time has 16periods which is 12 months and 4 special periods 13 to 16 and descriptionsS1 to S4.

1. Open the time membersheet, copy the time sheet values from the studentdimension file and replace the entire contents of the time membersheet. Ofcourse, you will need to process the dimension.

a) Goto the Admin console → Select the Time Dimension → Maintaindimension members.

b) Go to sheet Time in your Student Dimension 7.5 File.

Highlight the entire sheet by clicking in the cell above row 1 and to theleft of column A. Then Ctrl C.

c) In the Admin Console: Highlight the entire sheet → Paste the membersinto the time member sheet → Process dimension → Ok → Ok.

Task 5: Updating the Category DimensionObjective: Change the delivered category members to ones that are needed foryour STUDENT_## application set.

Description: Modify the category members by copying and pasting membersfrom the Student_Dimensions.xls workbook.

1. Open up the category membersheet and copy in the new members thenprocess your dimension.

a) From the tree view of the Admin Console: Select the Categorydimension → Maintain dimension members → In your studentdimension file → Goto the Category sheet → Copy the entire sheet →Paste it into the entire Category member sheet → Process dimension→ Ok → Ok.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 103

Unit 1: Concepts and Objects in BPC Administration BPC420

Task 6: Updating the Entity DimensionObjective: Add properties and change the default entity members to ones thatare needed for your STUDENT_## application set.

Description: Copy and paste members from the Student_Dimensions.xlsworkbook.

1. Add two properties to the Entity dimension: COUNTRY and REGION bothwith a length of 10.

a) From the tree view of the Admin Console, select the Entity dimension.

b) Add two properties→ Select maintain dimension property → AddCOUNTRY and REGION with a length of 10 → Modify dimensionproperty.

2. Delete the existing members. You may need to process the dimension twice.Also, use the 'Refresh dimension member' option to clear the cache andaccess the BW data directly.

a) Select Entity→Maintain dimension members → Highlight the rowswith members (2 to 27→ Press your delete key→ Process Dimensions→ Ok → You'll receive a message(s) that the members are being used→ Select Ok → Process Dimensions → Ok → Select Entity again →Maintain dimension members → You should have a blank membersheet. (if you don't repeat the process above)

b) Let's make sure that worked: Select Entity on the left → Select 'Refreshdimension member' on the right → Proceed through the messageregarding the cache → Select the Entity dimension again → Maintaindimension members → The member sheet should be blank (if not,delete the rows with members, delete them and process the dim again).

Continued on next page

104 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

3. Load the new entity members from the Student Dimension File.

a) In the Student Dimension File → Goto the Entity sheet →Copy the entire sheet → In the Admin Console → Paste intothe Entity members sheet → Change the owner and value fromADTWDFVM2001\BPCADMIN to ADTWDFVM2001\CPM-## forevery member → Process dimension → Ok → Ok.

Note: You will see your cpm-## user not bpcadmin.

Figure 120: Entity members

b) From the Action Pane: Select 'Process dimension' → Don't take thesystem offline → Ok → Ok.

c) Let's make sure that worked: Select Entity on the left → Select 'Refreshdimension member' on the right → Proceed through the messageregarding the cache → Select the Entity dimension again → Maintaindimension members → The member sheet should be filled as you seeabove → Make sure the PARENTH1 column is filled for rows 3 to 29:(if not, past them in and process the dim again).

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 105

Unit 1: Concepts and Objects in BPC Administration BPC420

Task 7: Updating the InputCurrency DimensionObjective: Change the default input currency members to ones that are needed foryour STUDENT_## application set.

Description: Modify the input currency members by copying and pastingmembers from the Student_Dimensions.xls workbook.

1. Open the Inputcurrency member sheet.

a) From the tree view of the Admin Console, select the InputCurrencydimension.

From the Action Pane, selectMaintain dimension members. TheInputCurrency.xls workbook is opened.

2. Copy the entire sheet with InputCurrency members from your studentdimensions 7.5 file.

a) Select the sheet named InputCurrency.

Highlight the entire sheet and select Edit/ Copy.

3. Paste in the new values and store them in the data base by processing thedimension.

a) Go back to the Admin Console: Highlight the entire sheet → Rightclick and Paste → Process dimension → Don't take the system offline→ Ok → Ok.

Task 8: View the master data from the BW ApplicationServerGo to the BW Data Warehousing workbench and browse the data for the productdimension.

1. If you haven't already, log on to the BW Application Server and then gotothe BW Data Warehousing workbench. Goto your STUDENT_## appset andfind the PRODUCT characteristic. Go into the definition of the characteristicand use the 'maintain' button to view the master data.

a) Log on: In your remote desktop → Start → Programs → SAP FrontEnd → SAP Logon → Maximize the screen → Enter User: CPM-##→ Password: training → Logon.

b) Let's start from the main screen of the BW Application Server: Openmodeling → Double click on Data Warehousing Workbench: modeling.

Continued on next page

106 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Figure 121: BW Server – Easy Access screen

Note: You can use the RSA1 shortcut to access the BWworkbench from the BW Application Server. Just enter/NRSA1 in the white command field from any screen and hitenter.

Within the Workbench, click on 'InfoProvider' in the modeling Area onthe upper left hand side..

c) Now select the InfoArea (these are folders, the icon is a doublegreen diamond) Business Planning and Consolidation → Goto the'Student_## ' and open it up → Double click on the PRODUCTDimension → Have a short look at the tabs → Select the Maintainbutton → Select F8 to see the master data from the BW side:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 107

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 122: Product master data list

Select F3 three times but leave the Backend BW session open. Goback to the Admin Console.

Continued on next page

108 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Task 9: Creating a New ApplicationObjective: Using the Admin Console, create a new application named D_ACT##by copying the PLANNING application in your STUDENT_## application set.

Description: You may have multiple applications in an application set.Applications in the same Application Set can share dimensions. You can alsoretrieve data from multiple applications in the same application set into the samereport.

1. Bring up the action pane options for applications by selecting 'application'in the admin console.

a) Close the Dimension Library Folder on the left hand side of theApplication Set Student_## and then click on Application on the lefthand side of the hierarchy.Verify that your screen looks similar to the following:

Figure 123: Select applications

2. Add a new application with a name and description of D_ACT##.

a) From the Action Pane, select Add a new application and give it aname and description of D_ACT##

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 109

Unit 1: Concepts and Objects in BPC Administration BPC420

3. Click on GO to STEP 2 of 4. In the next pop-up select FINANCIAL

a) 'GO to STEP 3 of 4' and confirm the following:

Figure 124: Applications

Continued on next page

110 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

4. Copy the dimensions from the source application.

Note: By selecting the dimensions checkbox we are creating anapplication with the same dimensions as the source application andthat's fine when the new application requires the same structure.

a) Select 'GO to STEP 4 of 4' and leave all settings:

Figure 125: Applications

5. Now let's have the system create the new application via 'ADD A NEWAPPLICATION'.

a) Now click ADD A NEW APPLICATION.

6. Now let's see what's involved to change the dimensions in our newapplication via 'MODIFY APPLICATION'

a) On the left hand side of your tree click on D_ACT## and then selectMODIFY APPLICATION from the Action Pane.

Note: Now we want to change an existing application. This isnot a big deal right now since this one does not have any data.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 111

Unit 1: Concepts and Objects in BPC Administration BPC420

7. Select the dimensions (category, entity, inputcurrency, product, p_acct, andtime) and make Entity and Category securable.

a) Use the double arrow left to remove all existing dimensions → Selectthe dimensions by double clicking as shown below → Make Categoryand Entity secure.

Figure 126: Secured Dimensions

8. Now let's have the system remodel the Application via 'MODIFYAPPLICATION'.

a) Then click onMODIFY APPLICATION.

Note: If a warning about journal entries pops up, continue withYES or OK and select OK when complete.

9. Now go back to your BW Application Server.

Within the Data Warehousing Workbench goto your D_ACT## InfoCubeand enter its definition in display mode to see how BW characteristics aregrouped into InfoCube dimensions. Open up navigation attributes to seehow you can use properties in select statements. Then, confirm that there isonly one key figure.

a) In the BW Application Server → Data Warehousing Workbench →Select the Info Area (double green diamond): STUDENT_## → SelectRefresh →Double click on D_ACT## → Open the 'folders' as shownbelow to see the characteristics and key figure in the BW model.

Note: BW dimensions are 'folders' for one for morecharacteristics. BPC Dimensions are equivalent to BWCharacteristics.

Continued on next page

112 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Figure 127: Displaying InfoCubes

b) Open the Navigation Attributes folder and you will see the propertiesfor every characteristic in the InfoCube:

Figure 128: Navigation Attributes

Select F3.

10. Confirm that BPC creates a real time InfoCube for each application andthat they can be either loaded via BW or planned via BPC by viewing theReal-Time InfoProvider icon to the right of the InfoCube. Also, right clickon the InfoCube and view the data mode options via 'change real time loadbehavior'.

a) Verify that the D_ACT## cube is a Real-Time InfoProvider byhovering over the symbol to the right of the InfoCube as shown below.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 113

Unit 1: Concepts and Objects in BPC Administration BPC420

Figure 129: Real-Time InfoProvider

b) Verify that the D_ACT## cube is switched to Plan mode. Right clickon your InfoCube→ Note the option as shown below:

Figure 130: Option to switch the mode for a real time InfoProvider

Figure 131: Switch

Continued on next page

114 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Select cancel. Go back to the Admin Console.

Task 10: Grant Access to new Application and to allTasksObjective: Using the Admin Console, grant access to dimension members ofthe newly created application.

Description: When a new application is created, you must define member accessto the secured dimensions that reside in the application. This is required in orderto use Web, Excel, Word and PowerPoint Interfaces with any newly createdapplication.

1. Allow BPC access to the members of your new application by providing'read and write access' in the AdminMbrAccPrf member access profile forboth secure dimensions for all members. Perform this step for all threeapplications.

Note: This profile was copied over from the ApShell application setwhen your STUDENT_## application set was created.

Caution: Use the system 'drop downs' to do your selections, donot type.

a) From the Admin Console, expand the Security folder on the lower leftand then expand theMember Access Profiles folder.

b) Select the AdminMbrAccPrf profile.

c) Verify that your screen looks similar to the following:

Figure 132: Selecting member access profiles

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 115

Unit 1: Concepts and Objects in BPC Administration BPC420

d) From the Action Pane, selectModify member access profile.

e) Select Next

Select the D_ACT## Application tab on the upper right and verify thatyour screen looks similar to the following:

Figure 133: BPC Access

f) On the first row, select Read & Write from the Access drop down listbox and select Entity from the Dimension drop down list box.

Caution: Use the system 'drop downs' to do your selections,do not type.

g) In the Member field, click on the ellipse button to open themember selector dialog box.

h) Select the All members in dimension checkbox as shown below, thenselect OK.

Continued on next page

116 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Figure 134: Application Sales

i) On the second row, select Read & Write from the Access drop downlist box and select Category from the Dimension drop down list box.

j) In the Member field, click on the ellipse button to open themember selector dialog box.

k) Select the All members in dimension checkbox then select OK.

l) Verify that your screen looks similar to the following:

Caution: Do not type the values, use the system drop downs.

Figure 135: BPC Access for D_ACT##

m) Goto the PLANNING tab and make both dimensions 'read & write'for [ALL] members.

Caution: Do not type the values, use the system drop downs.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 117

Unit 1: Concepts and Objects in BPC Administration BPC420

n) Goto the RATE tab and make both dimensions 'read & write' for [ALL]members.

o) Click Next to continue to step 3.

Leave the defaults as is and then click Next to continue to step 4.

Click on button Apply to process the changes.

When prompted “This task has successfully completed”, select OK.

2. Now we need to give ourselves more 'tasks'. Modify PrimaryAdmindelivered task profile. Activate the system, primary, and secondary taskprofile types. On step 2 include all tasks for each interface in 'selectedinterface tasks'. On step 3, assign this task profile to the ADMIN team.

a) Open 'Task Profiles' and Select PrimaryAdmin and thenModify TaskProfile.

Make sure that the following settings are maintained:

Figure 136: Task Profile Types

b) On step 2, Select each Interface in the “ View Tasks by Interface ”section. If an 'interface' contains tasks on the left hand side in the“Available Interface Tasks list ” use the double arrow right icon to shiftthem on the right into “Selected Interface tasks”.

Continued on next page

118 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Make sure that you have all of the tasks below in your 'SelectedInterface Task' list:

Figure 137: Default Functional Tasks

c) After that click NEXT and in the next screen move the ADMIN Teamin the box called Selected.

Figure 138: ADMIN Team (in Task Profile)

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 119

Unit 1: Concepts and Objects in BPC Administration BPC420

d) Then click NEXT, APPLY and then OK. Now you are authorized forall actions in the system.

3. Make your Appset available for data input.

Note: When we were updating the dimensions, we took the appset'offline' which means it is currently not available for data input.

Select your Student_## application set on the upper left and from the ActionPane select Set Application Set Status. In the next popup select Available.Then click on Update Application Set Status.

a) Select your Student_## application set on the upper left and from theAction Pane select Set Application Set Status. In the next popupselect Available. Then click on Update Application Set Status.

120 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Security

Lesson Summary

You should now be able to:• Understand how the locking concept of Work Status works• Understand which settings in the security concept can cause which conflict

2010 © 2010 SAP AG. All rights reserved. 121

Unit Summary BPC420

Unit SummaryYou should now be able to:• Learn the key terms• Understand the main advantages and ideas of BO PC• Understand the main features and structures of BO PC from a topdown

perspective• Understand the importance and use of properties in BO PC and modeling

of budgeting screnarios in BO PC• Get an overview about the most important BO PC key terms• Discuss the high level differences between Integrated Planning and BPC.• Add and delete an AppSet• Use Application Set Status• Monitor User activity for an AppSet• Describe new AppSet features in SAP BusinessObjects Planning and

Consolidation.• Add a new dimension, modify, or copy an existing dimension and delete

a dimension• Understand how to add dimension properties• Understand dimension member hierarchies• Describe the ways of loading master data.• Describe what is an SAP Business Planning and Consolidation application• Set up Application Administration• Understand some technical features in connection with Applications.• Understand how the locking concept of Work Status works• Understand which settings in the security concept can cause which conflict

122 © 2010 SAP AG. All rights reserved. 2010

Unit 2Navigating in the Interface for Excel

Unit OverviewAfter completing this unit, you will understand how to navigate in the Interface forExcel and to work with delivered BO PC templates.

Unit ObjectivesAfter completing this unit, you will be able to:

• Work with the Interface for Excel.• Learn about the current view features.• Understand how to use delivered templates.• Discover how the memberset keywords can be used to control your

expansions.

Unit ContentsLesson: Navigating in the Interface for Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124

2010 © 2010 SAP AG. All rights reserved. 123

Unit 2: Navigating in the Interface for Excel BPC420

Lesson: Navigating in the Interface for Excel

Lesson OverviewThe customer shall get a brief overview about navigation in the Interface for Excel.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Work with the Interface for Excel.• Learn about the current view features.• Understand how to use delivered templates.• Discover how the memberset keywords can be used to control your

expansions.

Business ExampleThe end user wants to work with predelivered templates and needs someknowledge about how to navigate in the Interface for Excel.

Now that your company or client has implemented SAP BusinessObjects Planningand Consolidation, you need to learn how to work in the Interface for Excel. Youneed to know all about the action pane, the 'E' menu's, the current view, expansionoptions, delivered templates as so forth.

Figure 139: Microsoft Office Integration

Business Planning and Consolidation 7.5, version for Netweaver combinesthe power of BPC with the rich functionality of Microsoft Excel, Word andPowerPoint.

124 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Navigating in the Interface for Excel

With BPC for Office, you have all of the Microsoft functionality you are used to,plus, your worksheets, documents, and slide shows can be linked directly to theBPC database that houses your company's reporting data.

Figure 140: Interface for Excel: Client Options

You can perform the following tasks for client maintenance:

Reset the Current View Bar

You can reset the current view bar so that for each dimension, the top hierarchicallevel member displays, which also clears the list of recently accessed members.You reset the current view bar within Interface for Excel by choosing eTools ClientOptions Clear current view bar.

Clear Local Application Information

You can clear the files associated with an application from your client. Afteryou perform this procedure, the next time you log on to this Interface for Excelapplication, you are prompted to complete the Connection Wizard, which allowsyou to select a server and any authorized application sets. You can clear the filesassociated with an application from your client by choosing within Interface forExcel eTools Client Options Clear Local Application Information.

Refresh Dimension Members

When you log on to an application set whose structure has changed (thereare changes to dimensions and templates stored on the server), the systemautomatically updates your client information. You can also initiate this proceduremanually, which you should do only when instructed by your administrator. You

2010 © 2010 SAP AG. All rights reserved. 125

Unit 2: Navigating in the Interface for Excel BPC420

can refresh the dimension information on your client with the dimension andmember information saved on the server by choosing within Interface for ExceleTools → Refresh dimension members.

Refresh Dynamic Templates

You can update the wizard templates on your client with the templates saved onthe server by choosing within Interface for Excel eTools Client Options RefreshDynamic Templates.

Set Local Folder for Planning and Consolidation (for Clients)

You can set a user-defined working folder on each client machine by choosingwithin Interface for Excel eTools Client Options Set local folder for Planning andConsolidation. The default working folder is the My Documents folder of a user.

Member Lookup Options

You can set options that control behavior on the Member Lookup dialog box.

Figure 141: The Action Pane

Logon:

The logon section shows the active user ID and the application set.

To change the application set, select the link, make your selection, then click OK.

Current View (CV)

This section controls which application within the selected application set is takenand which members, parent members, or top level members are represented in theactive report or input schedule.

126 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Navigating in the Interface for Excel

It allows you to dynamically change the current view by entering variousmembers, or selecting them from the Member Lookup. All the dimensions andmembers to which you have access are available, when the section is expanded.

Figure 142: Session Information

All dimensions in the application appear in the current view.

Every dimension must have a member selected. It could be either a parent orbase level member.

Multiple single values or ranges are not allowed.

2010 © 2010 SAP AG. All rights reserved. 127

Unit 2: Navigating in the Interface for Excel BPC420

Figure 143: The Current View and Access to the Member Lookup

The Current View is user dependent, therefore you will only be able to viewinformation that your member access profile allows.

TheMember Lookup can be accessed if you click at the technical names of therelevant dimension within the Current View.

A further possibility is via: Planning & Consolidation Ribbon → eTools → SelectMembers. Then select your dimension.

A third possibility would be if you are in an open Report Template or InputSchedule and you execute a right mouse click at any place you will find the menupoint “Select Members”.

128 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Navigating in the Interface for Excel

Figure 144: The Member Lookup 1/2

To select a member

• Open the Member Lookup dialog box.• Select Hierarchy to view the members in hierarchical view, or Table to

see the members in a flat list.• Select how you want to view details on members: ID Only, Description

Only, ID and Description.• Search for the desired member. You can select the Show or Hide Filtering

Value button to search on specific properties.• Highlight the member in the list, then click OK. You can select members by

double-clicking them if an option is set in the Member Selection Options.The check mark means that the member has been copied to the clipboard forpasting into a spreadsheet.

2010 © 2010 SAP AG. All rights reserved. 129

Unit 2: Navigating in the Interface for Excel BPC420

Figure 145: The Member Lookup 2/2

You can filter the member list based on member properties.

To filter by properties

1. From the Member Lookup, make sure the Filtering area is displayed.2. Select the Use the Filter check box.3. From the Filter area, select one or more properties on the left, and property

values on the right.4. Click Refresh.

To stop filtering for a dimension, clear the Use the Filter check box.

130 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Navigating in the Interface for Excel

Figure 146: Dynamic Report Templates

The upper slide shows the delivered reports from the Report Wizard perspective.

Each of the delivered templates can be modified changing the Control Panelsettings.

Its possible that the Administrator creates new templates and adds them to theTemplate Wizard.

2010 © 2010 SAP AG. All rights reserved. 131

Unit 2: Navigating in the Interface for Excel BPC420

Figure 147: Input Schedules and Send Data

The upper slide shows one delivered Input Schedules which is a kind of “PlanningLayouts” in BO PC. With the help of Input Schedules you can enter data and saveit to the server by selecting SEND DATA from the Action Pane.

In general 10 Report Templates and 5 Input Schedules are delivered.

The templates are called Dynamic Templates and are all based on the EVDREfunction.

132 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Navigating in the Interface for Excel

Figure 148: Workbook Options

You use this function to set behavior options in an active report or input schedule.

Features

The system determines default workbook option settings depending on whether areport or input schedule is active. You can change any of the following options:Type:Options are Report and Input Schedule.

The refresh options provide default selections to optimize the workbookperformance. After setting the type, you can further customize the refresh optionsto suit your needs.

Refresh and expansion:When you refresh a workbook, the system goes to the server and returns datavalues for the cells whose retrieval formulas are affected.

When you expand a workbook, the expansion functions dynamically expanddimensional data.

All refresh and expansion options for both reports and input schedules are enabledby default except for Refresh by sheet.

Refresh workbook on worksheet update: The system automatically performs arefresh when a change is made to an affected data cell.

Refresh after data send: The system automatically performs a refresh after datais sent to the database. If not selected, you can perform a manual refresh byselecting eTools Refresh .

2010 © 2010 SAP AG. All rights reserved. 133

Unit 2: Navigating in the Interface for Excel BPC420

Expand on workbook open: The system automatically expands the expansionfunctions when the workbook opens. If you do not select it, you can perform amanual expansion by selecting eTools Expand All.

Expand on CurrentView change: The system automatically expands the expansionfunctions when the current view is changed.

If not selected, you can perform a manual expansion by selecting eTools ExpandAll.

Refresh by sheet: When you tab from one worksheet to another in an EvDREreport, select this option to refresh each worksheet individually. Unopenedworksheets are not refreshed.

Allow users to change options:If you select this, users, who are not administrators, can set workbook options on aworkbook. If you leave it blank, only administrators can change these options.By default, this check box is selected.

Drill-down:This option controls member expansion behavior in the active spreadsheet. Youcan use Expand by Overwriting Rows or Expand by Inserting Rows. When youselect Expand by Overwriting Rows, the expanded members display in the rowsbelow the expanded member, clearing existing members. When you select Expandby Inserting Rows, any rows below the expanded member shift down, and newrows are inserted to accommodate the newly displayed members.

Set maximum expansion:For performance purposes, there is a maximum number of rows and columnsto return when the row or column in the report or input schedule dynamicallyexpands.

For Microsoft Excel, the maximum number of rows is 65,535 and the maximumnumber of columns is 255. However, for a file format of Excel 12 (Excel 2007)html, xml workbook or template, the maximum number of rows is 1,048,575 andthe maximum number of columns is 16,383.

Override current view settings:When you open a Planning and Consolidation report or input schedule in Interfacefor Office or Interface for the Web, the data changes based on your current view.If you want an active workbook to always open to specific members, you canoverride one or more of the current view members.

134 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Navigating in the Interface for Excel

To override current view settings, enter some data in two columns (for membernames and values) of an empty cell on the workbook. Enter the names and valuesof the members you want to hard code. Select eTools Workbook Options , thenselect the two-column range of cells that represents the current view settings, andthen choose Add. Choose the Remove button to remove the range.

Note: The Override applies only to non EvDRE templates. It points to thecontrol panel to control non-specified EvGET/EvGTS definitions. If youdefine a row/column, you can override only the dimensions for the pagekeys because the EvGET refers specifically to the row/column member ID.

Save the session CV with the workbook:This option allows you to save the active current view with the workbook whenyou have multiple reports open for which you want to see different current views.Rather than use the active session current view for all three reports, you select,then save the desired current view with each workbook. When you switch betweenthe reports, a unique current view is used for each.

Set worksheet password:You can set a Planning and Consolidation password on the workbook. A Planningand Consolidation password is required when the report or input schedule isdistributed or collected using the Offline Distribution Wizard.

The password is different from native Excel's workbook password. If you use theExcel password to secure a workbook, Planning and Consolidation expansionsmay not work properly. To set the password, select eTools Workbook Optionsfrom the Excel interface.

Lock status:The Workbook Options dialog shows whether the current workbook is locked orunlocked. You can lock the report or input schedule using the Park N Go feature.

Read options for comment:This field is used for cell-based comments. If an EvCOM function returns aspecific comment value, you can have it displayed as text in the cell or in aMicrosoft Excel comment dialog box.

2010 © 2010 SAP AG. All rights reserved. 135

Unit 2: Navigating in the Interface for Excel BPC420

Figure 149: The Control Panel: MemberSet Options

When you create a new Report or Input Schedule using a delivered Templates youcan change some settings. This can be done via Control Panel which is symbolizedby the two “+” icons in the Excel framework.If you open the Control Panel you can see the “EVDRE Ranges and Expansionsection” withe MemberSet selections.

This parameter defines the set of members to expand for the correspondingdimension. The default value is DEP.

You can define one or more of the following for this parameter:

A comma-delimited list of members, for example, Cash,AccRec,Inventory.

A valid keyword that describes the members relative to the correspondingdimension member specified in the PageKeyRange.

A filter that describes the members to return.

Note: Do not add any spaces between the values.

Valid keywords can be used alone, or combined with other keywords andhard-coded members in a comma-delimited list.The default expansion order is children, then parent.

If you combine the keywords MEMBERS or ALL with PARENTAFTER, theparent members appear after the children.

136 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Navigating in the Interface for Excel

Figure 150: Saving Reports and Input Schedules

BPC templates are saved in only two places in general: Your hard drive and on theBPC server.

In the eAnalyze and eSubmit menu you want to save them on your hard drive.

In the eTools menu you can both save on the hard drive (LOCAL) or on theserver (COMPANY).

Figure 151: What is new in BO PC 7.5: User and Role Benefits

2010 © 2010 SAP AG. All rights reserved. 137

Unit 2: Navigating in the Interface for Excel BPC420

Business users of SAP BusinessObjects Planning and Consolidation 7.5, versionfor SAP NetWeaver with experience with Microsoft Office 2007 Excel will benefitfrom:

• The enhanced ease within BPC Excel through the use of the Excel 2007Ribbon (strip of icons and buttons at the top), including access to:

– eAnalyze– eSubmit– ePublish– eTools

Figure 152: What is new in BO PC 7.5: Excel 2007 Ribbon

Lets discuss the new ribbon, first.

Figure 153: What is new in BO PC 7.5: Prerequisites

If you have SAP BusinessObjects Planning and Consolidation 7.5, version forSAP NetWeaver within Excel 2003, the add-in works, but the Ribbon is not used(similar to old design)

If you have SAP BusinessObjects Planning and Consolidation 7.0, version forSAP NetWeaver with Microsoft 2007, the add-in works, but the Ribbon is not used(similar to old design)

138 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Navigating in the Interface for Excel

Figure 154: What is new in BO PC 7.5: Excel Ribbon: Overview

The Excel Ribbon will be displayed when you log onto the BusinessObjectsPlanning and Consolidation 7.5 NetWeaver interface for Excel

The Ribbon is the strip of buttons and icons located above the work area in Excel2007, and replaces the menus and toolbars found in earlier versions of Excel.

Above the Ribbon are a number of tabs, such asHome,Insert, andPage Layout.This provides access to the Excel functionality.

One of the tabs is Planning & Consolidation. By selecting this tab, you will seefurther options such as:

• Ability to Log Off• Access to the eAnalyze, eSubmit, ePublish and eTools menus• Targeted worksheet functions such as Expand all and Refresh Workbook• Access to the About menu

2010 © 2010 SAP AG. All rights reserved. 139

Unit 2: Navigating in the Interface for Excel BPC420

Figure 155: What is new in BO PC 7.5: Excel Ribbon: Menu Access

The Excel Ribbon provides access to the following Planning and Consolidationmenus:

• eAnalyze• eSubmit• ePublish• eTools

Selecting any of these options from the Excel Ribbon will display a contextualmenu that relates specifically to the option chosen

Access to these options are controlled by the users security. If a user does not haveaccess to a specific option in the Planning and Consolidation Excel interface, itwill not be displayed in the Ribbon.

Figure 156: What is new in BO PC 7.5: Excel Ribbon: Workbook Functions

140 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Navigating in the Interface for Excel

The next section of the Excel Ribbon provides targeted workbook navigationoptions such as:

• Expand all• Refresh Workbook• Park N Go• Drill Down

The Send and Refresh Schedules option is only available for Input Schedules.

Figure 157: What is new in BO PC 7.5: Excel Ribbon: Data Manager

The next section of the Excel Ribbon provides quick access to most Data Manageractivities such as Run Package and View Package Status.

Click More for access to the rest of the Data Manager tasks via a contextual menu.

2010 © 2010 SAP AG. All rights reserved. 141

Unit 2: Navigating in the Interface for Excel BPC420

Figure 158: What is new in BO PC 7.5: Excel Ribbon: Log On / Off andAbout Function

The Log On or Log Off icons in the Ribbon provide SAP BusinessObjectsPlanning and Consolidation users the ability to log on or off from Planning andConsolidation Excel in a single step.

The About function provides information regarding the Planning andConsolidation Excel version installed on the client machine.

142 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Navigating in the Interface for Excel

Figure 159: Add-on only without Ribbon: Old Design

If you have SAP BusinessObjects Planning and Consolidation 7.5, version forSAP NetWeaver within Excel 2003, the add-in works, but the Ribbon is not used(similar to old design).

If you have SAP BusinessObjects Planning and Consolidation 7.0, version forSAP NetWeaver with Microsoft 2007, the add-in works, but the Ribbon is notused (similar to old design).

2010 © 2010 SAP AG. All rights reserved. 143

Unit 2: Navigating in the Interface for Excel BPC420

Lesson Summary

You should now be able to:• Work with the Interface for Excel.• Learn about the current view features.• Understand how to use delivered templates.• Discover how the memberset keywords can be used to control your

expansions.

144 © 2010 SAP AG. All rights reserved. 2010

BPC420 Unit Summary

Unit SummaryYou should now be able to:• Work with the Interface for Excel.• Learn about the current view features.• Understand how to use delivered templates.• Discover how the memberset keywords can be used to control your

expansions.

2010 © 2010 SAP AG. All rights reserved. 145

Unit Summary BPC420

146 © 2010 SAP AG. All rights reserved. 2010

Unit 3Data Acquisition, Transformation,MultiProvider and BW Reporting

Unit OverviewAfter completing this unit, you will understand how load master and transactiondata well as hierarchies from BW. You will also understand how to load data viaFlat File. This unit also shows how to create a MultiProvider and Query Scenariobased on plan data from BO PC.

Unit ObjectivesAfter completing this unit, you will be able to:

• Understand the delivered objects related to Data Manager.• See how to load master data and transaction data from BW objects

Unit ContentsLesson: Data Acquisition, Transformations, Packages, and PackageLinks ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148

Exercise 2: Data Acquisition, Transformation, MultiProvider, and BWReporting ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185

2010 © 2010 SAP AG. All rights reserved. 147

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Lesson: Data Acquisition, Transformations, Packages,and Package Links

Lesson OverviewThis unit deals with all kinds of loading aspects concerning the BO PC loadingtechnique. This contains loading of master data from BW and Flat File to BOPC and loading of transaction data from BW and per Flat File. All kinds oftransformations will be shown too. In addition the loaded data shall be reportedusing a BW query on top of a BW MultiProvider.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand the delivered objects related to Data Manager.• See how to load master data and transaction data from BW objects

Business ExampleYour project team wants to get familiar with the BO PC loading techniquesconcerning master data and transaction data.

148 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 160: Data Manager Overview

• The Data Manager is the main back-end mechanism and allows you to docommon data manipulation activities.

• It is implemented as process chains and the Data Manager can handletransactional data and master data.

• Data Management can be found in the Interface for Excel → Manage Data.• With Data Manager Packages you can manipulate master and transaction

data from BW and from Flat File scenarios.• You can make modifications to the packages supplied with Business

Planning and Consolidation (not best practice) or use those packages astemplates to build packages per your requirements.

• As far as possible, please refrain from changing the delivered packages.You can use the delivered packages as templates and copy them to a differentpackage and make changes there.

2010 © 2010 SAP AG. All rights reserved. 149

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 161: Run a Package

The upper slide shows some of the default configuration for Data ManagementPackages.

Underlying you have process chains. Most of them are delivered but you can alsotake a process chain as a template, copy it and modify the configuration.

Figure 162: Run the Import (Transaction Data) Package 1/2

You can preview both the Import and Transformation files using the magnifyingicon on the right.

150 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

When you prompt the system to check work status settings and the data region islocked, the load will fail and the error message is: This cell can not be updated.Submission status must be modified to allow changes. If the data is locked, butyou do not prompt the system to check for work status, the load will be successful.

Figure 163: Run the Import (Transaction Data) Package 2/2

When you run packages, you have the option of scheduling them to run atpredetermined times.

2010 © 2010 SAP AG. All rights reserved. 151

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 164: View Status of Package

The upper slide shows the possibilities you have to analyze if a load was successfulor not and why it was not successful.

Figure 165: Package and Package Type

The upper screenshots show the creation of a Data Manager Package to which aprocess chain is added.

You can use pre-defined process chains as described before or custom builtprocess chains.

152 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

If you create your own process chains its recommended that you take an existingBPC process chain as template and copy it and then make the modifications inthe copy.

Figure 166: New in BO PC 7.5 NW: Reusability BO PC Process Chains

It is now possible to create multiple Data Manager packages using differentinstructions and parameters for the same SAP BusinessObjects Planningand Consolidation Process Chain. This avoids the need to copy the SAPBusinessObjects Planning and Consolidation process chain multiple times

2010 © 2010 SAP AG. All rights reserved. 153

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 167: Delivered Process Chain Templates

There are four broad types of delivered Process Chain Templates which can beused to build packages:

• Standard Data Loading Packages• Financial Packages• Administrative Packages• Example Packages.

• These process chain templates can be displayed and edited in AdvancedBusiness Application Programming (ABAP) transaction RSPC.

• Please note that the delivered process chains need to be activated in order toexecute them. This is a standard NetWeaver BW feature.

• When you activate the process chains, the version changes from Delivered toActive.

154 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 168: Points to Note While Creating Custom Process Types

Customers can implement their own custom process types.

In all of the methods of interface the class is just to call the call.

SET_PC_TYPE and CL_UJD_CUSTOM_TYPE methods with same name , so itis easy to create a process type.

Figure 169: Administration – Process Chains

The above list shows the BW Process Chains contained in the Administrationgroup.

*Updated in release SAP BusinessObjects Planning and Consolidation 7.5,version for SAP NetWeaver.

2010 © 2010 SAP AG. All rights reserved. 155

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 170: Application – Process Chains – 1

The above list shows the BW Process Chains contained in the Application group(Page 1).

Figure 171: Application – Process Chains – 2

The above list shows the BW Process Chains contained in the Application group(Page 2).

Updated in release SAP BusinessObjects Planning and Consolidation 7.5, versionfor SAP NetWeaver.

156 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 172: Create a Transformation File

The upper screenshot shows the structure of a transformation file which consistsof three parts:- *Options- *Mapping- *Conversion.

*Options concludes some parameters executed during executing of the datamanipulation. They are described in the following slide.

*Mapping is the area where the technical name of the dimension on the serverand the technical name of the Field using in the Flat file are assigned.

*Conversion refers to an Excel File which can be configured to map theexernal keys from the flat file to the internal data base format of the key. Sincethe conversion is modeled in an Excel file the transformation file links to theconversion file.

2010 © 2010 SAP AG. All rights reserved. 157

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 173: *Options in the Transformation File 1/7

• The upper slide explains which options can be used within the TransformationFile.

Figure 174: *Options in the Transformation File 2/7

• The upper slide explains which options can be used within the TransformationFile.

158 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 175: *Options in the Transformation File 3/7

• The upper slide explains which options can be used within the TransformationFile.

Figure 176: *Options in the Transformation File 4/7

• The upper slide explains which options can be used within the TransformationFile.

2010 © 2010 SAP AG. All rights reserved. 159

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 177: *Options in the Transformation File 5/7

• The upper slide explains which options can be used within the TransformationFile.

Figure 178: *Options in the Transformation File 6/7

• The upper slide explains which options can be used within the TransformationFile.

160 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 179: *Options in the Transformation File 7/7

• The upper slide explains which options can be used within the TransformationFile.

Figure 180: Create a Conversion File

Conversion files define the mapping by dimensions from external member namesto internal member names.

They also provide the ability to perform arithmetic and rounding on data as itis converted.

You create one conversion file per dimension in a transformation. Each conversionfile can contain one or more sheets for different types of data transformations.

2010 © 2010 SAP AG. All rights reserved. 161

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

As a best practice, conversion files should be named the same as the dimensionfor which they are being used.

• If you want to ignore certain external data, you can place the keyword *skipin the Internal column.For example: External ACCPAY Internal *SKIP.

Figure 181: Using Javascript in Conversion Files

• You can use Javascript for coding.

Figure 182: Load Transaction Data from Netweaver BI – Load InfoProvider

The upper slide gives you an idea of Data Package with which you can transfertransaction data from a BW InfoCube to a BO PC application.The target application is determined by the application set in the current view ofthe Interface for Excel in which you will find the Data Management Packages.

162 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 183: New Transformation Mapping for Multiple Key Figures

Further details

• The dimension must exist in the SAP BusinessObjects Planning andConsolidation application

• The dimension members must be base members in the dimension (CALC= N)

• The key figure must be a field name in the source data (for example,0AMOUNT)

• Users can directly input the dimension members or they can input anyexisting mapping command for the member, such as *newcol, *col or*newcol(cash)+*col(1)

Figure 184: Business Example Using *MVAL for Mapping Multiple KeyFigures

2010 © 2010 SAP AG. All rights reserved. 163

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

This business example shows a transformation file using *MVAL keyword formapping multiple key figures to SAP BusinessObjects Planning and Consolidationdimension members.

Here the intention is to map the 0BALANCE and 0QUANTITY key figures fromthe PCA cube into SAP BusinessObjects Planning and Consolidation dimensionmembers ZBALANCE and ZQUANTITY of a user-defined dimension calledZKEYFIGURE. The syntax to accomplish this mapping is as follows:

ZKEYFIGURE=*MVAL(0BALANCE|*NEWCOL(ZBALANCE)||0QUAN-TITY|*NEWCOL(ZQUANTITY))

• Another commonly found scenario would be to utilize the account dimensionto isolate the multiple key figures, rather than using a separate key figuredimension

• For example, you might elect to use the mapping: ZAC-COUNT=*MVAL(0BALANCE|*NEWCOL(0000800000)||0QUAN-TITY|*NEWCOL(ZQUANTITY))

•Note: Be consistent when handing leading zeros in BW master dataand SAP BusinessObjects Planning and Consolidation dimensionmembers.

– For example, the BW characteristic value 0000800000 on 0ACCOUNTin BW is different than account dimension member 800000 in SAPBusinessObjects Planning and Consolidation.

– Otherwise you may receive a Data Manager error message similarto the following: “0000800000 is not a valid command or column0000800000 does not exist in the source”

164 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 185: Multi Provider Reporting in BW – Reporting of BO PC Data

Its possible to report transaction data from BW and BO PC in a commonMultiProvider and to build up a Query on top of the MultiProvider. Its notrecommended to directly link the BW cube and the BO PC cube because of thedifferent data qualities. Its recommended to first import BW transaction data intoa BO PC cube and to create some data transformations to make the structures fit tothe BO PC data quality. Then take this cube and a further BO PC cube and eithercreate your own MultiProvider or take one of the automatically created BO PCMultiProviders. As you already know each BO PC applications produces a linkedMultiProvider. You could take one of them.

When creating a query on top of the MultiProvider not all query features will work.For example working with offsets for time variables is not possible since the TIMEdimension in BO PC is not equal to any of the delivered Time InfoObjects in BW.

2010 © 2010 SAP AG. All rights reserved. 165

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 186: Import BW InfoObject Master Data and Text 1/2

To import master data and text from a BW characteristic InfoObject, use processchain /CPMB/IMPORT_IOBJ_MASTER.

• Within the Select InfoObject dialogue box, the Refresh button is used tocache the BW InfoObjects in memory; Yet scrolling through the very longlist of InfoObjects may be slow; The Search option can be used to quicklynavigate to a specific InfoObject

166 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 187: Import BW InfoObject Master Data and Text 2/2

2010 © 2010 SAP AG. All rights reserved. 167

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

In the Set Selection dialogue box, SAP BusinessObjects Planning andConsolidation supports two operators: equal (=) and between (BT). All operationson a single attribute or hierarchy are <OR> operations. Any operations betweenmultiple attributes are <AND> operations.

• When using the Set Selection with a master data hierarchy, the user does nothave to import the entire hierarchy, rather a sub-tree can be selected by takingthe member ID as root and specifying the level. For example, if Level =2, thismeans the two levels below the specified member ID will be selected with themember ID itself. The total level number of the sub-tree including the rootnode is 3. If Level=0 is designated, then only the specified member ID willbe returned as a tree which only has one node. If the Level is not specified(blank), then the whole sub-tree is selected by taking the member ID as root.

• There is an option of whether to import hierarchy text nodes as parentdimension members. The user can maintain attribute values for text node inthe transformation/conversion file.

• If the source BW hierarchy contains an external InfoObject, these valueswill not be imported into SAP BusinessObjects Planning and Consolidationconcurrently. The user needs to import master data from such an externalInfoObject using a separate Data Manager package.

• Set the Write Mode: if Overwrite is chosen, the master data in SAPBusinessObjects Planning and Consolidation will be replaced/overwrittenby the new master data. If master data values are occupied by transactiondata/hierarchy, the master data values are not deleted, while other unoccupiedmaster data will be deleted. If Update mode is chosen, the property valueswill be overwritten if the ID is the same, while other master data will be keptand the new master data will be added.

• If Internal format is selected no conversion routine is used during theimport process; If External format is set, then the related ABAP conversionroutine will be used, if one is maintained on the source InfoObject fromBW transaction RSD1

168 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 188: Business Example Import Cost Center Master Data from BW

This business example shows a transformation file and conversion file which couldbe used to import cost center master data from BW into SAP BusinessObjectsPlanning and Consolidation.

In the transformation file, some of the relevant *OPTIONS settings include:FORMAT=DELIMITED, HEADER=YES, DELIMETER=TAB.

In the *MAPPING section, observe the SAP BusinessObjects Planning andConsolidation property name is on the left side of the equal to (=) sign, while theBW InfoObject is to the right of the equals sign.

The last row shows an example for handling compounded InfoObjects likeControlling Area and Cost Center; In this case, the Controlling Area and theCost Center will be concatenated together, while separated by an underscore(_); This design will guarantee unique dimension members are created in SAPBusinessObjects Planning and Consolidation, since the same Cost Center ID couldbe used in multiple Controlling Areas in BW.

In the conversion file, a JavaScript replace method [ js: %external%.replace(“-”,“_”) ] is used to substitute an underscore (_) in the SAP BusinessObjectsPlanning and Consolidation member ID value for any hyphens (-) used in theBW InfoObject characteristic values.

2010 © 2010 SAP AG. All rights reserved. 169

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

The second JavaScript example [ js:%external%.split(' ').join('') ] demonstratesuse of the split and join methods to remove any spaces which may exist in theBW master data values before importing to SAP BusinessObjects Planning andConsolidation dimension member IDs.

Figure 189: Import BW InfoObject Master Data Hierarchy 1/2

To import master data hierarchies from a BW characteristic InfoObject, useprocess chain /CPMB/IMPORT_IOBJ_HIER.

• Within the Select InfoObject dialogue box, the Refresh button is used tocache the BW InfoObjects in memory. Yet scrolling through the very longlist of InfoObjects may be slow. The Search option can be used to quicklynavigate to a specific InfoObject.

170 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 190: Import BW InfoObject Master Data Hierarchy 2/2

In the Set Selection dialogue box, the user does not have to import the entirehierarchy, rather a sub-tree can be selected by taking the member ID as root andspecifying the level.

• For example, if Level =2, this means the two levels below the specifiedmember ID will be selected with the member ID itself.

• The total level number of the sub-tree including the root node is 3.• If Level=0 is designated, then only the specified member ID will be returned

as a tree which only has one node.• If the Level is not specified (blank), then the whole sub-tree is selected by

taking the member ID as root.• If the source BW hierarchy contains an external InfoObject, these values

will not be imported into SAP BusinessObjects Planning and Consolidationconcurrently.

– The user needs to import master data from such an external InfoObject,using a separate Data Manager package.

– If Internal format is selected no conversion routine is used during theimport process.

– If External format is set, then the related ABAP conversion routinewill be used, if one is maintained on the source InfoObject from BWtransaction RSD1.

2010 © 2010 SAP AG. All rights reserved. 171

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 191: Import Master Data Hierarchy from BW

If the user needs to map the BW source hierarchy to SAP BusinessObjectsPlanning and Consolidation differently than expected above, then he/she mustmake sure the structure will not be changed.

The hierarchy name in SAP BusinessObjects Planning and Consolidation mustobey the naming conversion: PARENTH*.

If the source hierarchy name doesnt follow such rule, the user must convert thehierarchy name from, for example, Hierachy1 to PARENTH1.

Figure 192: Business Example Import Cost Center Hierarchy from BW

172 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

This business example shows a transformation file and conversion file whichcould be used to import cost center master data hierarchy from BW into SAPBusinessObjects Planning and Consolidation.

In the transformation file, some of the relevant *OPTIONS settings include:FORMAT=DELIMITED, HEADER=YES, DELIMETER=TAB. In the*MAPPING section, observe the source and target field names are identical onboth sides of the equal to (=) sign since the same structure (UJN_S_HIER_NODE)is used for both.

In the conversion file, the default CONVERSION tab is used to convert one oremore BW hierarchy names to the corresponding SAP BusinessObjects Planningand Consolidation hierarchy – obeying the standard SAP BusinessObjectsPlanning and Consolidation naming convention PARENTH1, PARENTH2,PARENTH* used for hierarchies.

In the second tab, a JavaScript snippet [ js:%external%.split(' ').join('')] demonstrates use of the split and join methods to remove any spaceswhich may exist in the BW hierarchy nodes before importing to SAPBusinessObjects Planning and Consolidation. The second JavaScript example [ js:%external%.replace(“-”, “_”) ] is used to substitute an underscore (_) in the SAPBusinessObjects Planning and Consolidation member ID value for any hyphens(-) used in the BW InfoObject hierarchy nodes.

Note: When loading a master data hierarchy from BW into SAPBusinessObjects Planning and Consolidation, it is also possible to specifyin the NODE_NAME conversion file the following JavaScript [js:%external%.toString().replace(/\s+/g,“”) ] which uses a regular expressionconstruct to remove all unwanted spaces

2010 © 2010 SAP AG. All rights reserved. 173

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 193: Uploading Data into File Service

The followingWeb Admin parameters affect the behavior of file upload:

• ALLOWEXTENSIONS: Defines allowed file extensions for upload• ALLOW_FILE_SIZE: This is the maximum file size a user is allowed to

upload. The default value is 100 MB.• DEFAULT_EXTENSIONS:

This is the list of default extensions that are allowed. This list includes:XLS,XLT,DOC,DOT,PPT,POT,XML,MHT,MHTML,HTM,HTML,XLSX,XLSM,XLSB,ZIP,PDF,PPTX,PPTM,POTX,POTM,DOCX,DOCM,DOTX,DOTM,CDM,TDM,PNG,GIF,JPG,CSS,MRC.

• Size of “upload data file” from Excel defaults to 100MB (can be configuredin Web Admin).

• Microsoft Access data cant be directly uploaded through Data Manager.

174 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 194: Preview Data File

You can preview your data files. This is useful when you want to see the way yourdata is laid out when creating a transformation file.

Figure 195: Import Transaction Data Package & Import Master Data Package– Flat File Upload

The upper slide shows the Import Package for File upload and the Import Packagefor Master Data Upload via Flat File.

2010 © 2010 SAP AG. All rights reserved. 175

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 196: Import Transaction Data: Example

Please note that the merge option does not delete anything from the existing dataset and new records are merged into the existing records.

The replace option however first deletes the original records for matchingdimension members and then replaces them with those from the data set to bereplaced.

Figure 197: Import Transaction Data: Merge

The upper graphics show howMerge works.

176 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 198: Import Transaction Data: Replace & Clear

The upper graphics show how Replace and Clear works.

Figure 199: Import Transaction Data: Append

Please note that the append option adds to the existing values if the dimensionmembers match exactly.

This is different than the merge and replace options that we saw earlier.

2010 © 2010 SAP AG. All rights reserved. 177

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 200: New in BO PC 7.5 NW: Import Append Package

• The Import Append Package has been enhanced to support the loading ofduplicate records

• This process chain imports transactional data from a flat file by clearing thedata beforehand using the master data range of the source

Figure 201: Validate Transformation Files for new Process Chains

178 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

It is possible to validate your Transformation Files for each of the new ProcessChain data types. This is a very helpful tool for the person who sets up any kindof package related activities.

This tool can always be executed from any opened transformation file.

Figure 202: Trigger BW Process Chains

This can be used in a package link to allow an end user to import from ERP toBW and then from BW to SAP BusinessObjects Planning and Consolidation.

Figure 203: Copy Transaction Data

2010 © 2010 SAP AG. All rights reserved. 179

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

The upper slide gives you an idea about the Copy Transaction Data Package.

Note: Its not possible to copy from several senders to one commonreceiver.

You always have to create a 1:1 relation between sender and receiver perCopy Package.

There is a better solution which can be modeled with the help of ScriptLogicand Allocation which we will see later.

Figure 204: Revaluation – Using the Import Package

The upper slide gives you an idea how to model a revaluation function. You cantdo this working with the copy package since so transformation file can be addedto a copy package so if you want to copy and revaluation you need the ImportPackage an need a transformation and conversion file which both include therevalution information.

The transformation file contains the *Option: CONVERTAMOUNTVVDIMparameter and points to the dimension which will get a revaluation and*Conversion refers to the key figure value (AMOUNT) which will be changedby the revaluation.The revaluation factors have to be added by a conversion file.

180 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

If you want to do a detailed revaluation in which the revaluation factor varies permonth and per account for example you will have to create two conversion files(one for the time factor and one for the revaluation of the accounts) and refer toboth of them in the *CONVERSION section of the transformation file.

Figure 205: New Transformation File Start Routine and End Routine for BAdI

Create a BAdI implementation for UJD_ROUTINE as follows:

• The BAdI implementation is done in transaction SE18 in BW

– Enter the filter of the BAdI. The filter is used in the transformationfile to call the BAdI

– Create the transformation logic using ABAP Objects. Working withan include would be preferable.

–Note: All BAdI implementations cannot be executed, if oneis not active.

Create a transformation file in SAP BusinessObjects Planning and Consolidation.

Enter the BAdI filter value in the *OPTIONS section

START_ROUTINE=<BADI_FILTER1>

END_ROUTEINE=<BADI_FILTER2>

Define a Data Manager Package using the transformation file

Run the Data Manager Package

Further notes:

Process type 0-1: Start

2010 © 2010 SAP AG. All rights reserved. 181

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Process type 0-2: Modify

Process type 1: Reader transaction data

Process type 2: Convert

Logic:

BADI_start_routine

Transformation including conversion

BADI_end_routine

Process type 3: Writer

Call BADI_retractor

Process type 4: Clear SAP BusinessObjects Planning and Consolidation Temptable

Figure 206: Business Example Transformation File with Start/End Routines

This business example shows a transformation file using new *OPTIONSkeywords for START_ROUTINE and END_ROUTINE.

The filter name is defined in the BW system within the BAdI implementation.

Note: We are going to refer to the Start/End Routines also in the ScriptLogic Unit in the ABAP integration section.

182 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 207: Package Links

Package Links can be used to bundle together more than one Data Managerpackage.

Historical reference:BW users familiar with earlier SAP planning applications like Integrated Planningor Business Planning and Simulation will equate the Package Link concept to whathave been known as Global Planning Sequences previously.

Figure 208: Updated Application Help

The Application Help documentation for Data Manager has been updated forbetter clarity and completeness.

2010 © 2010 SAP AG. All rights reserved. 183

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

184 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Exercise 2: Data Acquisition,Transformation, MultiProvider, andBW Reporting

Exercise ObjectivesAfter completing this exercise, you will be able to:• Work with conversion files and transformation files.• Perform InfoProvider imports as well as flat file imports.• Use a multiprovider in a BW reporting scenario.

Business ExampleYou have data in the form of flat files as well as in existing InfoCubes that youneed to load into your planning application. You also want do some actual vs. planexpense reporting using a BW query.

Task 1: Import from a BW Key Figure based InfoCubeto a BPC InfoCube (account based)Objective: In BW a source cube with multiple key figures with actual data existsand we want to transfer its data into your D_ACT## application.

Description: When transferring data from BW InfoProviders to BPC Applicationswe have to take into account that sometimes the source will be a key figure basedmodel. The BPC application however is always an account based model. Hereyou learn how to do the data transfer via mappings in the transformation file.

1. Let's investigate the structure via the 'display model' option ;and data via the'display data' option for the source InfoCube S_ACT00 in RSA1.

Hint: To search, use the binoculars. There are two of them, usethe lower one.

2. Go back to the Admin Console and access the Interface for Excel forD_ACT##.

3. Create the first conversion file for your scenario and name the first sheet“Category”. Use the sheet to convert 000 to ACTUAL.

4. Copy the CATEGORY sheet in the same conversion file and name it“FISCALYEARPERIOD”. Set up the sheet to convert 2010001 to 2010.001etc.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 185

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

5. Add a third sheet for Entity to convert ST01 to STORE1 for 1 through 24.

Note: I_NON is skipped via *SKIP (this refers to the three emptyrecords with some blank fields in the sender cube).

6. Save your conversion file on the server which means the “Company” Folderand name it Conversion File “CONVERSION_CATEGORY_FYP_EN-TITY.XLS”

Note: The Conversion File must not be stored in the Examplesfolder!

7. The next step is to access the provided Transformation file:TRANSFORMATION_KEYFIGURE_ACCOUNT_MODEL.XLS. Take alook at the mapping section to see the transformation of the key figures toaccounts.

8. Save and simulate your transformation file as TRANSFORMATION_KEY-FIGURE_ACCOUNT_MODEL on the server using the company folder.

9. Use the 'loadinfoprovider' data manager import package to load the data fromthe S_ACT00 infoprovider to your application. Run it merge mode, withoutusing default logic, and do not check work status.

10. Navigate to the BW Application Server and within the Data WarehousingWorkbench look for your InfoProvider D_ACT##. Use the 'display data'option to view the data.

11. Create a BPC Report from the nested row template to have a look atthe loaded Data for D_ACT##. Use the Evdre builder filter and theSELECTION property with a value of 'Y' for the P_ACCT dimensionmemberset, Enter EUR,GBP,CHF in the input currency memberset, and enterSTORE1,STORE10,STORE16 into the Entity memberset.

12. Save your report as 'reports_actuals_2010' on the server in a new sub foldercalled BPC420.

Task 2: Create the D_PLAN## ApplicationCreate a new application to store plan data

Objective: Since we want to keep actual data and plan data in two differentapplications we have to create an additional application.

Description: Create a new application to store plan data.

1. In the Admin Console, create an application called D_PLAN## as a copyof D_PLAN##.

Continued on next page

186 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

2. After the creation of your application D_PLAN## maintain the memberaccess profile to allow read/write on both dimensions for all members.

Task 3: Manual Input Planning in D_PLAN## withreference to data in another ApplicationCreate some Plan Data with reference to actuals.

Objective: Although we have a different Application for Actual Data we wantto input data into the planning aplication with reference to the actual data in oneinput schedule. Therefore we use a preconfigured Input Schedule which refers toboth applications in one sheet.We want to plan Revenues in in D_PLAN## in comparison to the actual datastored in D_ACT##. We only plan values for January of 2011 and only forDOGDRYPUPPY. Fixed costs will be transferred from Cost Center planning laterContribution Margins will be calculated later with Script Logic.

1. First make sure you are logged on to your new application “D_PLAN##”within the Interface for Excel.

2. Input GBP for Stores 10 - 15.

3. Input EUR for Stores 16 - 24.

Task 4: Optional: Adapting a MultiProvider For CrossApplication ReportingObjective: You now want to add a second application to the BPC generatedMultiProvider in your STUDENT_## info area in the Data WarehousingWorkbench.

Description: The BPC generated MultiProvider for application D_ACT## will beenhanced by adding D_PLAN## This will later allow you to create a BW queryfor an actual – plan comparison on this MultiProvider.

Note: When you use BW queries on BPC data, the ACCTYPE propertyis not used to interpret balance sheet vs. income statement aggregationrules and sign display. In this case, we are only reporting EXP data sothat is not an issue.

Note: If you change the dimensions of the planning application in thisscenario, the following steps will need to be repeated since BW willreplace the technical name of the InfoCube.

1. If you haven't already, log on to the BW Application Server and then to theBW Data Warehousing workbench.

2. Modify the D_ACT multiprovider.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 187

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Task 5: Optional: Creation of a Cross 'Application'Query for a Actual-Plan comparisonObjective: Creation of a query on top of the MultiProvider you created in theprevious Lab.

Description: We want to report on actual and plan data in one query.

This will be your finished query definition:

Figure 209: BW query designer result - rows & columns

1. Create a BW Query on the D_ACT## MultiProvider.

2. Drag and drop Input Currency, Product, P_ACCT and Entity into the Rows.

3. Set up a hard coded filter for P_ACCT, Input Currency, Category, andProduct.

4. Create two time variables that will be used in the actual and budget datacolumns.

5. Create the ACTUAL DATA 'column'.

6. Create the Budget Data column.

7. Run your query into the BEx Web Analyzer.

Continued on next page

188 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Task 6: Modeling of Cost Center Planning – CreateCOSTC (cost center) DimensionObjective: For your cost center planning scenario you want to maintain masterdata.

Description: Master data is manually created for some cost center planningrelated dimensions.

Note: We will create another Application called CC_PLAN## which shallcontain the following dimensions: Costc, Time, Inputcurrency, Category,and P_acct.

1. Now lets create the Entity type dimension: COSTC

Task 7: Create a Cost Center Accounting ApplicationCC_PLAN##Objective: Create a cost center application and add it to the member access profile.

Description: We need a another application to plan fix costs.

1. Create a new application called CC_PLAN##. These dimensions will thesame as in the “Planning ” application. You should select application type“Financial” when creating this application and include the dimensionsdescribed in the table below.

2. Maintain data access authorization for CC_PLAN## in the Member AccessProfile.

3. Logon to the Interface for Excel and select Application CC_PLAN## viathe connection wizard.

Task 8: Text and Attribute Import into COSTC froma BW CharacteristicObjective: set up a Master data upload from a BW characteristic.

Description: Cost Center Master Data is loaded from BW.

1. First of all we must get familiar with the BW InfoObject 0costcenter.

2. Now we have to configure the Master Data Upload from 0costcenter toCOSTC.

Note: Compounding is used when non unique master data exists.In this case, a cost center is unique by controlling area which issimilar to weather.com when the system requires a zip code to getthe weather for a city. (one city id can be used in multiple statesor provinces.)

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 189

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

In order to do this, here is what we need to do: The Compounded controllingarea is required in the key for costc which means that member costc1 will be1000_costc1 after the upload.The Properties Country, Region, owner, and reviewerwill be derivedwhen loading master data since the source doesn't contain them.Looking at themaster data for 0Costcenter a conversion file is will be usedto skip cost center 1110 and AC30.Nodes of Hierarchies have to be created as members in the COSTCdimension.Currency and Compcode also have to be derived for the text node members.

Task 9: Optional: Hierarchy Upload for COSTC fromBWObjective: modeling of a Hierachy upload from a BW InfoObject.

Description: Cost Center Text Hierarchy is loaded from BW into the COSTCdimension in BPC.

1. Open the provided conversion file and let's make sure we understand whatthe 3 sheets are doing:

2. Open the provided transformation file and save it to your application.

Task 10: Optional: Loading of Flat File Master Datainto the Category DimensionObjective: In this Lab, you will load master data the Category Dimension usingFlat File Technique.

Description: We want to load two further members for the Category Dimensionjust so you can see how to do a master data flat file import.

First load the category Flat File on to the Server.

1. Within the “Interface for Excel” make sure that your Application SetSTUDENT_## and your application CC_PLAN## are set and then uploadyour file on the “Server”.

After that have a look at the Preview. As you can see no conversions andtransformations will be necessary. Then, import the new master data.

Continued on next page

190 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Task 11: Loading, copying and revaluation oftransaction data for CC_PLAN## applicationObjective: Our starting point is the plan data for January, March, and April of2011. Our scenario calls for us to use the data manager to copy the data in thesubsequent months along with an adjusting factor (revaluation) that varies bymonth. This will require conversion files that are month specific. January will becopied to February as is. The march and april files will be imported with markups.January will be imported into May through december with markups that varyby month by cost elements (accounts).

Description: Loading, Copying and Revaluation of Transaction data is configuredin this Lab.

1. Within the “Interface for Excel” make sure that your Application SetSTUDENT_## and your application CC_PLAN## are set and then uploadyour file on the “Server”.

After that have a look at the Preview. As you can see no conversions andtransformations will be necessary. Then, import the January 2011 data.

2. As our next goal we will copy our uploaded data from January to February2011. Use your Copy Package to execute the copy process.

Again create a report of type Nested Rows to see the new data.You will save your file on the BPC420 folder for Reporting asREPORT_CCPLAN_2011_MONTH_DATA and leave this report openand after each load you will press Refresh Workbook to see the results.

3. Import March data with a markup.

4. Import April data with a markup.

5. For May to December we copy from January to the relevant month butthis time with a cost element specific revaluation for each month.

Note: Due to technical restrictions it́s not possible to construct onetransformation file in which both Time and Amount for the relevantmonth can be marked up.Consequence: you will have to create 8 transformation files, eachcarrying two conversions, one conversion will be for Time andone conversion for the related Amount.For both Conversion Files we are going to need 8 sheets, one sheetfor each month.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 191

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Task 12: Creation of a Package LinkObjective: We want to create a PACKAGE LINK to import and revalue May toDecember in one step.

Description: Since we don't want to execute 8 revaluation packages individuallywe want to bundle them together in a package link.

1. Create a package link for all 8 sets of files.

2. Run the package link, check the data.

Task 13: Optional: Flat File imports into D_PLAN##with Package LinksObjective: Back to Sales application D_PLAN## we first want to give you thebig picture in which direction we now want to go:It́s our goal to calculate contribution margin I using script logicContribution Margin Scheme:Revenue = Quantity *Price- Discount= Net Revenue- Quantity * Variable Cost per unit (= Var_Costs)= Contribution Margin I- FIX_ENER- FIX_RENT- FIX_ADS (advertising)- FIX_DEP= Contribution Margin IITo calculate this scheme using script logic we will use the accounts: quantity,price and cogs.Then we have to plan data for quantity, price and cogs: for all months of 2011, forall Stores and Products.Revenue will later be calculated via script logic.Calculation of the contribution margin scheme will be done in the ForecastCategory so that the manually planned Budget values in for the MultiProviderscenario will not be overwritten.

1. Upload the data files.

2. Create a package link for the 12 files.

3. Run the package link, check the data.

192 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Solution 2: Data Acquisition,Transformation, MultiProvider, andBW ReportingTask 1: Import from a BW Key Figure based InfoCubeto a BPC InfoCube (account based)Objective: In BW a source cube with multiple key figures with actual data existsand we want to transfer its data into your D_ACT## application.

Description: When transferring data from BW InfoProviders to BPC Applicationswe have to take into account that sometimes the source will be a key figure basedmodel. The BPC application however is always an account based model. Hereyou learn how to do the data transfer via mappings in the transformation file.

1. Let's investigate the structure via the 'display model' option ;and data via the'display data' option for the source InfoCube S_ACT00 in RSA1.

Hint: To search, use the binoculars. There are two of them, usethe lower one.

a) Return to your Data Warehousing Workbench session in the BWApplication Server and search (use the binoculars) for InfoProviderS_ACT00 which is the BW source InfoCube.

b) Have a look at the InfoObjects (fields) within this cube and itscharacteristic: Right click on the S_ACT00 InfoCube → Display datamodel → Open up the folders to see the fields.The following list shows which fields of the source cube are related towhich destination fields in BPC and if a mapping will be needed withina BPC transformation file:

S_ACT00 D_ACT## Mapping in Transformation Filein BPC

VERSION Category Version will be mapped to category

SALESOFFICE

ENTITY Sales office will be mapped to Entity

BPCPROD-UCT

PRODUCT no Mapping (these id's will comeover as is)

Fiscal YearPeriod

TIME Fiscal yr period will be mapped toTime

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 193

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Fiscal YearVariant

BLANK no Mapping (these id's will comeover as is)

0CUR-RENCY

InputCurrency:

no Mapping (these id's will comeover as is)

c) Select F3 then Open the Listviewer for this InfoCube: Right click onthe S_ACT00 InfoCube → Display data → Fld selectn for output' →Select all characteristics → Deselect 'change run id', 'record type',and 'request id', and Execute (F8) twice → The key figures on theupper right.

Note: This is the same as using the LISTCUBE transactioncode (shortcut).

You should see the following data:

Figure 210: S_ACT00 Data

As you can see we have 3 records with some blank values and whenworking with the DataManager to load data that is not allowed. So,coming up we will exclude the 3 record from being loaded. Wehave to take this into account when modeling the transformation andconversion files for this scenario.

Select F3 twice.

Continued on next page

194 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

2. Go back to the Admin Console and access the Interface for Excel forD_ACT##.

a) Open up 'Available Interfaces' → Interface for Excel → ConnectionWizard → Next → Use a different user id and password → Enter apassword if necessary → Next → Select the STUDENT_## appset →Next → Finish →Select the STUDENT_## APPSET AND D_ACT##application (which will be the target of this data load) → Ok.

3. Create the first conversion file for your scenario and name the first sheet“Category”. Use the sheet to convert 000 to ACTUAL.

a) Select 'Planning & Consolidation' → eData → More → NewConversion File → Enter the data as follows:

Figure 211: Conversion sheet for category

Name the sheet CATEGORY

Hint: To copy sheets, single left click on the 1st sheet, pressthe Ctrl key and drag the 1st sheet to the right and drop it, anew sheet with the same name and (1) will appear. Then justdouble click it and change the name.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 195

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

4. Copy the CATEGORY sheet in the same conversion file and name it“FISCALYEARPERIOD”. Set up the sheet to convert 2010001 to 2010.001etc.

a) Follow the next screenshot for the mapping details:

Note: Set the internal value for 2010.010 to numeric with twodecimals (the system stores it as such).

Figure 212: Conversion sheet for time

Continued on next page

196 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

5. Add a third sheet for Entity to convert ST01 to STORE1 for 1 through 24.

Note: I_NON is skipped via *SKIP (this refers to the three emptyrecords with some blank fields in the sender cube).

a) Create a third sheet called ENTITY and configure as given below:

Figure 213: Conversion sheet for entity

6. Save your conversion file on the server which means the “Company” Folderand name it Conversion File “CONVERSION_CATEGORY_FYP_EN-TITY.XLS”

Note: The Conversion File must not be stored in the Examplesfolder!

a) eData → More → Validate & Process Conversion File... → Enter'CONVERSION_CATEGORY_FYP_ENTITY.XLS' → Save → OK.

7. The next step is to access the provided Transformation file:TRANSFORMATION_KEYFIGURE_ACCOUNT_MODEL.XLS. Take alook at the mapping section to see the transformation of the key figures toaccounts.

a) Lets access this file from your folder and save it to yourapplication: Goto the 'Office buton' → Open → My computer→ G Drive → BPC 7.5 → BPC420 → BPC420_## →TRANSFORMATION_KEYFIGURE_ACCOUNT_MODEL.XLS →Open:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 197

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 214: D_ACCT transformation file

Note: According to line 19 of the screenshot, KeyFigures aremapped into Accounts of P_ACCT

Note: Remember the datasets in S_ACT00 with three emptylines. Here we learn how to handle this in BPC since BPCcannot work with any blanks in a record. So we have to excludethe 3 records with blanks from being loaded. This is done vialine 15 of the screenshot in the *Mapping section.To do this we'll use I_NON and skip I_NON in the conversionfile we define. The coding of the transformation file then says:if 0sales_off is empty (*str() then set *str(I_NON).

Note: Look at the Selection Parameter in the *Options sectionof your transformation file. It can be used to filter the datafrom the source.Syntax: SELECTION = InfoObject1_techname,InfoOb-ject1_value;InfoObject2_techname,InfoObject2_valueExample: selection = 0SX_ACCS=US and 0SX_CSLC= 1The Selection Parameter can only be used for extraction oftransaction data from an InfoProvider.In the exercise, all data shall be selected from the source. Soif you leave the parameter “Selection= “ unfilled then all datais taken when loading.

Continued on next page

198 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Below you can see the conversion of the key figures into the individualaccounts in row 19.

Figure 215: D_ACCT transformation file for P_ACCT

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 199

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

8. Save and simulate your transformation file as TRANSFORMATION_KEY-FIGURE_ACCOUNT_MODEL on the server using the company folder.

a) While in the Transformation sheet → Go to eData →More→ 'Validate and Process Transformation file' → Select DataType 'transaction data from NW BW Infoprovider' → EnterS_ACT00 (capital letters are required) →Save as → EnterTRANSFORMATION_KEYFIGURE_ACCOUNT_MODEL →Save →You should see the following record counts:

Figure 216: D_ACT Transformation simulation result

Select 'output file' to see the converted data. Close the dialog boxes.(We'll discuss the record counts in a moment)

9. Use the 'loadinfoprovider' data manager import package to load the data fromthe S_ACT00 infoprovider to your application. Run it merge mode, withoutusing default logic, and do not check work status.

a) Select the 'Home' icon → Manage Data → 'Run a package'

Open the system administrative folder → Loadinfoprovider→ Run→ Enter S_ACT00 as the infoprovider → For the transormation fileselect TRANSFORMATION_KEYFIGURE_ACCOUNT_MODEL →Confirm the 'merge' option → Select to not use default logic since wedon't have any yet'.

Continued on next page

200 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 217: InfoProvider Package - Run

Select Next → Do not check work status settings (since we are notusing it yet)

Figure 218: InfoProvider Package – Work Status

Finish → Ok → View status → Refresh until you see a 'blue' indicator(this could take a minute) → Double click to see the log.

Note: If no log appears (service pack issue), run the packageagain however use the 'replace and clear' option.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 201

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 219: D_ACCT Import Log

Note: Interpretation of the result: 6627 records were inS_ACT00 (key figure model) and after transferring 66240records result in the D_ACT## (Account model). The Keyfigure model had 10 key figures. So one record in the keyfigure model results in 10 records in the account model. For allrecords in the source this would make 66270 in the accountmodel. Since we skipped the 3 empty records (times 10) thismakes minus 30 and so we get 66240 in the account model!

Close all of the dialog boxes.

10. Navigate to the BW Application Server and within the Data WarehousingWorkbench look for your InfoProvider D_ACT##. Use the 'display data'option to view the data.

a) Open the Listviewer for this InfoCube: Right click on the D_ACT##InfoCube → Display data → Select the green check mark to continue→ Select characteristics (see the screen shot) below:

Note: This is the same as using the LISTCUBE transactioncode (shortcut).

Continued on next page

202 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 220: Select fields in LISTCUBE

De-select: 'Change run id','Record Type', and 'Request ID' → Enter tocontinue → Select the button at the top left 'Field select for Output' →Select all → F8 to adopt your selections → F8 on the data selectionscreen→ And Voila!

Figure 221: D_ACCT Listcube

Go back to the Data Warehousing Workbench by selecting F3 twice.

11. Create a BPC Report from the nested row template to have a look atthe loaded Data for D_ACT##. Use the Evdre builder filter and theSELECTION property with a value of 'Y' for the P_ACCT dimensionmemberset, Enter EUR,GBP,CHF in the input currency memberset, and enterSTORE1,STORE10,STORE16 into the Entity memberset.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 203

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

a) Within the Interface for Excel first set your current view as given in thefollowing screenshot: Expand the current view via the '+' → Left clickeach dimension name to use the hypertext.

Note: The drop down only shows a users history of previouslyselected members.

Figure 222: D_ACCT current view (your app will be d_act##)

Note: If CE0000000 does not appear in your drop down, checkthe member sheet to see if the parents of members in rows31 and down exists. If not, copy them in from the dimensionmembers 7.5 file on your G drive.

b) Then select HOME in the Action Pane Reporting & Analysis -> Builda Report using a Dynamic Template → Scroll down → Nested Rows →Open → Ok → open the Control Panel via the + sign above cell J1 →Unhide any hidden rows → Make your settings the same as below →Delete the keywords in C52 so the member id's will be displayed → Putp_acct and input currency in the rows and entity in the column → Rightclick in F48 → Evdre builder filter → Use the drop down to selectthe SELECTION property → Select property value 'Y' → Ok → EnterEUR,GBP,CHF in G48 → Enter STORE1,STORE10,STORE16 in H48

Caution: Look for error messages in B45.

Continued on next page

204 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 223: D_ACCT control panel

c) Select Planning & Consolidation → Expand All:

Figure 224: D_ACCT Nested Row Result

12. Save your report as 'reports_actuals_2010' on the server in a new sub foldercalled BPC420.

a) Goto eTools → Save Dynamic Templates → Company → Reports →Right click → create a new subfolder called → BPC420→ Enter thereport name → Reports_ Actuals_2010 → Save → Close the Interfacefor Excel.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 205

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Task 2: Create the D_PLAN## ApplicationCreate a new application to store plan data

Objective: Since we want to keep actual data and plan data in two differentapplications we have to create an additional application.

Description: Create a new application to store plan data.

1. In the Admin Console, create an application called D_PLAN## as a copyof D_PLAN##.

a) Select Application on the left → Select 'Add a new Application' onthe right → Enter a Name and Description of 'D_PLAN##' → Go toStep 2 of 4.

Select the Finance application type → Go to Step 3 of 4 → Confirmthat the D_ACT## application is selected as the source (mainly todetermine the proposed dimensions) → Go to Step 4 of 4 → 'Add aNew Application' → Ok.

2. After the creation of your application D_PLAN## maintain the memberaccess profile to allow read/write on both dimensions for all members.

a) On the lower left, open up Security and then Member Access Profiles.

b) Select the existing 'AdminMbr' profile → Select 'Modify member accessprofile'.

c) Select Next.

d) Goto the tab for D_PLAN##: Create two rows with 'Read and Write'access → One for Entity and One for Category → Give them bothacess to ALL members → Next → Next → Apply → Ok.

Caution: Use the system drop downs to make your selections,do not type them in because if you use the wrong case or enterALL instead of [ALL] you will get an error message aboutmember access)

Task 3: Manual Input Planning in D_PLAN## withreference to data in another ApplicationCreate some Plan Data with reference to actuals.

Objective: Although we have a different Application for Actual Data we wantto input data into the planning aplication with reference to the actual data in oneinput schedule. Therefore we use a preconfigured Input Schedule which refers toboth applications in one sheet.

Continued on next page

206 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

We want to plan Revenues in in D_PLAN## in comparison to the actual datastored in D_ACT##. We only plan values for January of 2011 and only forDOGDRYPUPPY. Fixed costs will be transferred from Cost Center planning laterContribution Margins will be calculated later with Script Logic.

1. First make sure you are logged on to your new application “D_PLAN##”within the Interface for Excel.

a) From the Admin Console, Open up available interfaces and Log on tothe Interface for Excel by using the connection wizard. Set your currentview as follows:

Figure 225: D_PLAN CV CHF(your app will be d_plan##)

Note: As you open the xls files from the G drive, enter throughthe format warnings.

b) On the upper left, select the Office Button Open → My computer→ Data Base (G:) → BPC 7.5 → BPC420 → BPC420 → SelectInput_Schedule_ACTUAL_PLAN_SWISS_STORES.XLS → Ifprompted, answer YES regarding format differences → In A3 enteryour application ID: D_ACT## → Planning & Consolidation →Expand all → Clear input.

c) Enter the data as shown below for stores 1 to 9 in cells D13 to D21

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 207

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 226: CHF Data

Save the data to the server: Send data → Send active worksheet →Yes → Close.

d) Save the Input Schedule on the Company Folder in your subfolder “BPC420”. Use the same technical name for the file: Goto eTools →Save dynamic templates → Company → Input Schedules → Right click→ Create folder → BPC420 → Save.

Note: This input schedule is using EVGTS and EVSND toget and send data. Below you can see the function in C13 forEVGTS.

If you want to see the functions being used, select F13 and usethe excel 'insert function' button to see view it.

Continued on next page

208 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 227: D_PLAN EVGTS (you will have a value of 1000)

Note: Below you can see the EVSND function in F13 whichreads data from D13 and sends it to the InfoCube.

Figure 228: D_PLAN EVSND

2. Input GBP for Stores 10 - 15.

a) Set your current view as follows:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 209

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 229: D_PLAN CV GBP (your app will be d_plan##)

b) On the upper left, select the Office Button Open → Data Base (G:)→ My computer → BPC 7.5 → BPC420 → BPC420_## → SelectInput_Schedule_ACTUAL_PLAN_GBP_STORES.XLS → In A3 enteryour application ID: D_ACT## → Planning & Consolidation →Expand all → Clear existing data.

c) Enter the data as shown below for stores 10 to 15 in cells D13 to D18and save the data to the server: Send data → Send active worksheet→ Yes → Close.

Continued on next page

210 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 230: GBP Data

d) Save the Input Schedule on the Company Folder in your subfolder “BPC420”. Use the same technical name for the file: Goto eTools →Save dynamic templates → Company → Input Schedules → BPC420→ Save.

3. Input EUR for Stores 16 - 24.

a) Set your current view as follows:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 211

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 231: D_PLAN CV EUR (your app will be d_plan##)

b) On the upper left, select the Office Button Open → Data Base (G:)→ My Computer → BPC 7.5 → BPC420 → BPC420_## → SelectInput_Schedule_ACTUAL_PLAN_GERMAN_STORES.XLS → In A3enter your application ID: D_ACT## → Planning & Consolidation →Expand all → Clear existing data.

c) Enter the data as shown below for stores 16 to 24 in cells D13 to D21and save the data to the server: Send data → Send active worksheet→ Yes → Close.

Figure 232: EUR Data

d) Save the Input Schedule on the Company Folder in your subfolder “BPC420”. Use the same technical name for the file: Goto eTools →Save dynamic templates → Company → Input Schedules → BPC420→ Save.

Task 4: Optional: Adapting a MultiProvider For CrossApplication ReportingObjective: You now want to add a second application to the BPC generatedMultiProvider in your STUDENT_## info area in the Data WarehousingWorkbench.

Continued on next page

212 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Description: The BPC generated MultiProvider for application D_ACT## will beenhanced by adding D_PLAN## This will later allow you to create a BW queryfor an actual – plan comparison on this MultiProvider.

Note: When you use BW queries on BPC data, the ACCTYPE propertyis not used to interpret balance sheet vs. income statement aggregationrules and sign display. In this case, we are only reporting EXP data sothat is not an issue.

Note: If you change the dimensions of the planning application in thisscenario, the following steps will need to be repeated since BW willreplace the technical name of the InfoCube.

1. If you haven't already, log on to the BW Application Server and then to theBW Data Warehousing workbench.

a) Log on: In your remote desktop → Start → Programs → SAP FrontEnd → SAP Logon → User: CPM-## → Password: training → Enter.

Figure 233: BW Server - Easy Access screen

b) Double click Data Warehousing Workbench: modeling → Within theWorkbench click on InfoProvider in the modeling Area on the upperleft hand side.

c) Now select the InfoArea (these are folders, the icon is a double greendiamond) Business Planning and Consolidation→Goto the Student_##→ Locate the D_ACT multiprovider:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 213

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 234: D_ACT Multiprovider - Before

2. Modify the D_ACT multiprovider.

a) Goto the D_ACT## MultiProvider which contains the D_ACT##InfoCube → Select 'Change' → .Select InfoProvider 'D_PLAN##' asthe second InfoCube:

Figure 235: D_ACT Multiprovider - Select the D_PLAN## InfoCube

b) Select the green check on the lower left → Select the 'Show/HideNavigator' button to hide the two panes on the left → Note that the twoInfoCubes appear on the upper left → Also note the icons that we willneed to use in the coming steps.

Continued on next page

214 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 236: D_ACT Multiprovider - the identify / select / activeicons.

Note: The BW310 class covers modeling of Multiproviders.

c) Open the Navigation Attributes Section of your MultiProvider andde-select all Navigation Attributes in the ON/OFF column (only the'O' may appear initially until you expand the column) since we don'tneed them in the query.

d) Since we have added an InfoCube to the MultiProvider, we need toupdate the selection parameters to include both InfoCubes for thecharacteristics and key figures: Select Identify Characteristics → All →Enter (twice) → Left click 'Select key figures → Select 'ALL' → Enter(twice) → Activate → F3 → Refresh:

Figure 237: D_ACT Multiprovider - After

Now we can create a query!

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 215

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Task 5: Optional: Creation of a Cross 'Application'Query for a Actual-Plan comparisonObjective: Creation of a query on top of the MultiProvider you created in theprevious Lab.

Description: We want to report on actual and plan data in one query.

This will be your finished query definition:

Figure 238: BW query designer result - rows & columns

1. Create a BW Query on the D_ACT## MultiProvider.

a) Make sure that the Interface for Excel is closed. Navigate to the QueryDesigner: Start → Programs → Business Explorer → Query Designer→ Ok → Log into client 801 → User: CPM-## → Password: training→ Ok → In the Query Desginger → Select Query (on the upper left)→ New → Find → Enter D_ACT## → Find → You should see twoInfoProviders → Select the one with the MultiProvider icon as basisfor your Query:

Continued on next page

216 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 239: Query: Find the multiprovider

2. Drag and drop Input Currency, Product, P_ACCT and Entity into the Rows.

a) Select the Rows/Columns tab → Open up the dimensions for InputCurrency, Product, P_ACCT and Entity → Drag those same fourcharacteristics into the rows in that order:

Figure 240: BW query - rows

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 217

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

3. Set up a hard coded filter for P_ACCT, Input Currency, Category, andProduct.

a) Select the Filter tab →Drag Input Currency Product, and P_ACCTfrom 'Default Values' into Characteristic Restrictions (this will resultin a copy ie these characteristics will still appear in default values aswell) → Right click on P_ACCT → Restrict → Scroll down to findREVENUE (this is the textual value) → Drag it to the right into 'chosenselection' → Ok → Right click on Product → Restrict → Locate'Natural blend puppy food' (this is the textual value) → Drag it to theright into 'chosen selection' → Ok → Use the 'Wrench' icon to switchyour view to 'key/text' → Right click on Input Currency → Filter →Drag CHF, GBP, and EUR.to the right under 'chosen selections' → Ok→ Use the wrench icon to set your view to 'text'..

b) Drag Category into Characteristic Restrictions and filter it to ACTUALFROM GL and CURRENT BUDGET: Open the Category dimension→ Drag Category to Characteristic Restrictions → Right → Filter→ Drag ACTUAL FROM GL and CURRENT BUDGET to the rightunder 'chosen selections' → OK:

Figure 241: BW query designer filter

Goto Query and Save your query as STU-DENT_##_QUERY_ACT_BUD for the technical name anddescription in your Favorites

4. Create two time variables that will be used in the actual and budget datacolumns.

a) Open the Time dimension → Open up the Time characteristic →Characteristic value variables → Right click → New variable → Rightclick on the 'new variable' → Edit → Enter Description and technicalname: BPC420_YEAR_##

Continued on next page

218 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 242: BW query 1st variable general

Goto default values → Change default values → 2010 JAN

Figure 243: BW 1st variable default

Select Ok → Right click on Characteristic value variables→ Newvariable → Right click on 'new variable'→ Edit → Enter Descriptionand technical name: BPC420_YEAR_PLUS_ONE_##:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 219

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 244: BW query 2nd variable - general

Goto default values → Change default values →Show single values →2011 JAN:

Figure 245: BW query 2nd variable - default

Select Ok.

5. Create the ACTUAL DATA 'column'.

Continued on next page

220 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

a) Select the Rows/Columns tab: On the upper left → Drag 'signdata'into the columns → Right click on signdata in the column → Edit →Set the description to 'ACTUAL DATA' → Open up the dimensionsfor Time, Category, and Data Package and drag Time, Category, andInfoProvider into 'Details of the selections' → Right click on Time →Restrict → Show: Variables → Drag BPC420_YEAR_## to the rightunder 'chosen selection' → Ok → Right click on Category → Restrict→ Drag 'Actual from GL' to the right under 'chosen selection' → Ok →Right click on InfoProvider → Restrict → Drag D_ACT## to the rightunder 'chosen selection' → Ok → OK → Save.

b) Add a text variable for the Actual column header: Double clickon ACTUAL DATA → To the right of 'Description' → Select thevariable icon down arrow → New Variable → Enter a description andtechnical name of → BPC420_TEXTVAR_YEAR_## → Processing by'replacement path' → Reference characteristic: YEAR:

Figure 246: Query - text variable general

Goto the 'replacement path' tab → Confirm 'Replace variable' withInfoObject is set→ Replace with 'key' → From Value

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 221

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 247: Query text variable replacement (the screen shotshould show 'Infoobject' not variable.)

→ Ok:

Figure 248: Query actual data column

Select OK.

Continued on next page

222 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

6. Create the Budget Data column.

a) Select the ACTUAL DATA column → Ctrl-C → Ctrl-V → Double clickon the 2nd (new) column→ Change description to BUDGET insteadof ACTUAL → Use the 'wrench' to select the 'key/text' view → Doubleclick on Category (lower right) → Show single values → ReplaceACTUAL with BUDGET → Ok → Double click on InfoProvider (lowerright) → Show single values → Replace D_ACT## with D_PLAN## →Ok → Double click on Time → Show variables → Replace the variableBPC420_YEAR_## with BPC420_YEAR_PLUS ONE_## → Ok

Figure 249: Query budget data column

Select Ok → Save.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 223

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

7. Run your query into the BEx Web Analyzer.

a) Query → Execute → Enter User: CPM-## (select log on if you can'tenter your id) → Password: training → Log on → You will see aprompt for the two time variables:

Figure 250: Query - variable prompt

Select Ok to see the results. Notice that the column headers have thecorrect month and year via the text variable replacement!

Figure 251: Query - BEx Web Analyzer results

Continued on next page

224 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Task 6: Modeling of Cost Center Planning – CreateCOSTC (cost center) DimensionObjective: For your cost center planning scenario you want to maintain masterdata.

Description: Master data is manually created for some cost center planningrelated dimensions.

Note: We will create another Application called CC_PLAN## which shallcontain the following dimensions: Costc, Time, Inputcurrency, Category,and P_acct.

1. Now lets create the Entity type dimension: COSTC

a) Select 'dimension library'→ 'Add a new dimension' → Enter a nameand description of → COSTC → Goto step 2 of 3 → Entity type →Reference dimension: InputCurrency → Goto step 3 of 3 → Add theseproperties:

Property Length

COMPCODE 20

OWNER 50

REVIEWER 50

COUNTRY 5

REGION 5

Select 'add a new dimension'→ Ok → Select COSTC on the left →Maintain dimension members → Enter the ID and Description of'NONE' → Process dimension → Don't take the system offline → Ok→ Ok.

Note: We need to add one member called 'NONE'. We'llneed this in the dimension later and since it does not exist in0Costcenter, we will add it manually now.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 225

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Task 7: Create a Cost Center Accounting ApplicationCC_PLAN##Objective: Create a cost center application and add it to the member access profile.

Description: We need a another application to plan fix costs.

1. Create a new application called CC_PLAN##. These dimensions will thesame as in the “Planning ” application. You should select application type“Financial” when creating this application and include the dimensionsdescribed in the table below.

a) In the Admin console → Select → Application→ Add a new application→ Enter a name and description of CC_PLAN## → Goto to step 2of 4 → Financial → Goto step 3 of 4 → Use a source application ofPLANNING → Use a rate application of: RATE → Goto step 4 of 4 →Deselect dimensions → Add a new application → Remove all existingdimensions → Add these dimensions and make Entity and Category'secure':

Dimension Secure

Category Yes

Time

Inputcurrency

Costc Yes

P_ACCT

Select 'add a new application'→ Ok.

2. Maintain data access authorization for CC_PLAN## in the Member AccessProfile.

a) Open up 'security' → Member access profiles → SelectAdminMbrAccPrf → Modify member access profile → Next → Gotothe CC_PLAN## tab → Using the system drop downs → Add two rowswith 'read and write' access → One row for Category and one for Costc→ Select All members for each one → Next → Next → Apply → Ok.

3. Logon to the Interface for Excel and select Application CC_PLAN## viathe connection wizard.

a) If you had the Excel Interface open while you created your newapplication, close it and then open it back up by using the connectionwizard. Set your application to CC_PLAN##.

Continued on next page

226 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Task 8: Text and Attribute Import into COSTC froma BW CharacteristicObjective: set up a Master data upload from a BW characteristic.

Description: Cost Center Master Data is loaded from BW.

1. First of all we must get familiar with the BW InfoObject 0costcenter.

a) Goto the BW Application Server: Log on to the BW Application serverif you aren't already.

Figure 252: BW Main Menu

b) Enter RSA1 into the command field → Enter:

Note: 0Costcenter has been added to the BPC420 InfoArea(folder).

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 227

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 253: RSA1

c) Use the lower set of binoculars to find: 0costcenter.

Figure 254: 0Costcenter in RSA1

d) Select 'Change' → General tab → Note the field length of 10:

Continued on next page

228 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 255: Costcenter general tab

e) Select the master data/texts tab → Note that the texts are time andlanguage dependent:

Figure 256: Cost center master data tab

f) Select the hierarchy tab → It is set up for time independent hierarchies:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 229

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 257: Cost center hierarchy tab

g) Lets take a look at the hierarchy data while we are here: Select the'Maintain Hierarchies' button → You'll see two hierarchies → Doubleclick the BPC420... hierarchy → Expand a few nodes:

Note: Hierarchies can be loaded into BW or they can becreated manually.

Figure 258: Cost center BPC420 Hierarchy

Continued on next page

230 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

The group called 'GERMANY' is referred to as a 'text' node becauseit only exists in the context of this hierarchy.

h) Green arrow back twice to the hierarchy tab → Select the attributetab → Note that some attributes (related fields) are time dependent→ and that some are merely for 'DIS' display while some are 'NAV'navigational (can be used in select statements ie you can drill down onthem):

Figure 259: Cost center attribute tab

i) View the attribute and text data: Select the 'Maintain' button → F8twice:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 231

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 260: Cost center master data

Characteristic values 1110 and AC30 will be excluded from the uploadlater. The source master data for this scenario was built following therule that for each store one cost center was created.

2. Now we have to configure the Master Data Upload from 0costcenter toCOSTC.

Note: Compounding is used when non unique master data exists.In this case, a cost center is unique by controlling area which issimilar to weather.com when the system requires a zip code to getthe weather for a city. (one city id can be used in multiple statesor provinces.)

In order to do this, here is what we need to do: The Compounded controllingarea is required in the key for costc which means that member costc1 will be1000_costc1 after the upload.The Properties Country, Region, owner, and reviewerwill be derivedwhen loading master data since the source doesn't contain them.Looking at themaster data for 0Costcenter a conversion file is will be usedto skip cost center 1110 and AC30.Nodes of Hierarchies have to be created as members in the COSTCdimension.Currency and Compcode also have to be derived for the text node members.

a) Goto the Interface for Excel in the CCPLAN## application.

b) Set up a conversion sheet to convert the hierarchy text nodes to id's:Select Planning & Consolidation → eData → More → New conversionfile → Fill in as shown:

Figure 261: Cost center conv file for hier nodes

Continued on next page

232 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Caution: Do not save conversion files to the example folder.Please use the files name exactly as specified.

c) Save the file: eData → Validate and process conversion file →ID_MD_CONVERSION → Save → Ok.

d) Derive country with a provided conversion file, save it to yourapplication: Start → Documents → My documents → G Drive → BPC7.5 → BPC420 → BPC420_## → ID_CONVERSION_COUNTRY→ Open → eData → Validate and process conversion file →ID_CONVERSION_COUNTRY → Save → Ok.

e) Derive region with a provided conversion file: Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420_##→ ID_CONVERSION_REGION → Open → eData → Validate andprocess conversion file → ID_CONVERSION_REGION→ Save → Ok.

f) Use a provided transformation file and simulate the load: Start →Documents → My documents → G Drive → BPC 7.5 → BPC420 →BPC420_## → TRANSFORMATIONFILE_MD_CCA → Open →What is it doing?:

This section designates the file as tab delimited.

Figure 262: Cost center trans option

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 233

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 263: Cost center trans file - comp code

Figure 264: Cost center trans file - cur

Figure 265: Cost center trans file - users / con area

Continued on next page

234 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 266: Cost center trans file - reference to conv files

Replace BPCADMIN with CPM-## → eData → Validate andprocess transformation file → Master data texts from NW BWInfoobject → To select an info object use the drop down → Enter0costcenter → search → Ok → Select COSTC dimension → Save as→ TRANSFORMATIONFILE_MD_CCA→ Save → Ok:

Figure 267: Cost center simulation

If you select output file you can see the conversions! (company codewill be in the first position for example)

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 235

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

g) Add the BW IOBJ master data load package to your application:eData → Organize package list → System Administrative → Rightclick in the yellow area → Add Package → Use the drop down toview all process chains → Select the 3rd app group → Left clickon /CPMB/IMPORT_IOBJ_MASTER → 'Select' → Enter name anddescription: Import Master Data from BI InfoObject → select bothtask types

Figure 268: Cost center md create package

→ Add → Save → Ok.

h) Import the data: eData → System Administrative → Import MasterData from BI InfoObject → Run → Select 0costcenter via the dropdown → Ok:

Continued on next page

236 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 269: Run import

i) → Set selection → On the attribute tab set the key date to 01/01/2010for the time dependent master data selection → Set filter by attributesor hierarchies:

Figure 270: Attribute tab

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 237

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

j) Set the hierarchy selection as follows:

Figure 271: Hierarchy tab

k) Set the language tab as follows:

Continued on next page

238 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 272: Language tab

l) Set the attribute tab as follows:

Figure 273: Select attributes

m) Select Ok → Next → Update mode → Internal format → Use thedrop down to select TRANSFORMATIONFILE_MD_CCA → Set thedimension to COSTC → Finish → Ok → View status → Close thepop ups.

Note: If no log appears, run the load again.

n) Goto the admin console and display the new master data: Select theCOSTC dimension → Maintain dimension members → Voila!:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 239

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 274: COSTC member sheet

Task 9: Optional: Hierarchy Upload for COSTC fromBWObjective: modeling of a Hierachy upload from a BW InfoObject.

Description: Cost Center Text Hierarchy is loaded from BW into the COSTCdimension in BPC.

1. Open the provided conversion file and let's make sure we understand whatthe 3 sheets are doing:

a) Open the provided conversion file, save it to your application:Start → Documents → My documents → G Drive → BPC 7.5→ BPC420 → BPC420_## → ID_CONVERSION_HIERARCHY→ Open → eData → Validate and process conversion file →ID_CONVERSION_HIERARCHY → Save → Ok.

b) Goto the conversion sheet. This is mapping the BW hierarchy id to theParentH1 column in the costc member sheet.

c) Goto the Node_Names sheet, this is mapping node names to memberid's.

d) Goto the Parents sheet, this is mapping parent id's in BW to parentid's in BPC.

2. Open the provided transformation file and save it to your application.

Continued on next page

240 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

a) Start → Documents → My documents → G Drive → BPC 7.5 →BPC420 → BPC420_## → TRANSFORMATIONFILE_CCA_HIER→ Open → Note the mapping section, that's where the action is inthis case:

Figure 275: Hierarchy trans mapping

→ eData → Validate and process transformation file → Data Type:Master data hierarchy from NW BW Infoobject → To select an infoobject use the drop down → Enter 0costcenter → search → Ok → Setselection to the BPC420... hierarchy → Version: 'empty' → MemberID: 'ROOT' → Ok → Select COSTC dimension

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 241

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 276: Hier simulation

→ Save as → TRANSFORMATIONFILE_MD_CCA→ Save → Ok →Was your simulation successful?

Figure 277: Simulation result

Continued on next page

242 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

b) Add the BW Hierarchy package to your application: eData → Organizepackage list → System Administrative → Right click in the yellow area→ Add Package → Use the drop down to view all process chains →Select the 3rd app group → Left click on /CPMB/IMPORT_IOBJ_HIER→ 'Select' → Enter name and description: Import Hierarchy from BIInfoObject → select both task types

Figure 278: Hier add package

→ Add → Save → Ok.

c) Import the data: eData → System Administrative → Run package→Import Hierarchy from BI InfoObject → Run → Select 0costcentervia the drop down → Select your transformation file:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 243

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 279: Hier run import

→ Set selection → Make your settings as shown:

Figure 280: Hier set selection

d) Next → Select COSTC → Finish → Ok → View status.

Continued on next page

244 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

e) Let's go view the data in the Admin Console: Select the COSTCdimension → Maintain dimension members → Note the new →PARENTH1 column → In the action pane → View member report →Select ok → Click once to magnify the results:

Figure 281: Hier view member report

Task 10: Optional: Loading of Flat File Master Datainto the Category DimensionObjective: In this Lab, you will load master data the Category Dimension usingFlat File Technique.

Description: We want to load two further members for the Category Dimensionjust so you can see how to do a master data flat file import.

First load the category Flat File on to the Server.

1. Within the “Interface for Excel” make sure that your Application SetSTUDENT_## and your application CC_PLAN## are set and then uploadyour file on the “Server”.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 245

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

After that have a look at the Preview. As you can see no conversions andtransformations will be necessary. Then, import the new master data.

a) Upload the flat file on to the Server: Goto eData → More → Dataupload → Select the 1st drop down → My computer→ Database (G)→ BPC7.5→ BPC420 -> BPC420-## → CATEGORY.TXT → Open →Select the 2nd drop down → Save → Ok. → Ok.

b) Create a transformation file: eData → More → New transformation file→ eData → More → Validate and process transformation file → Selectthe data type: 'master data from flat file' → Select the CATEGORY flatfile → Select the dimension CATEGORY → Save as → Enter name'TRANSFORMATIONFILE_CATEGORY' → Save → You should havean accepted record count of 2 records for your simulation.

c) Run the import package: eData → Run Package → Systemadministrative → ImportMasterData → Run → Select the import file:CATEGORY → Select the TRANSFORMATIONFILE_CATEGORY →Select the CATEGORY dimension → Update Hierarchy → Finish →Ok → View status → Close your dialog boxes.

d) eTools → Refresh dimension members → In the current view → Selectthe CATEGORY dimension hypertext → You should see the 2 newmembers PLAN1 AND PLAN2.

Task 11: Loading, copying and revaluation oftransaction data for CC_PLAN## applicationObjective: Our starting point is the plan data for January, March, and April of2011. Our scenario calls for us to use the data manager to copy the data in thesubsequent months along with an adjusting factor (revaluation) that varies bymonth. This will require conversion files that are month specific. January will becopied to February as is. The march and april files will be imported with markups.January will be imported into May through december with markups that varyby month by cost elements (accounts).

Description: Loading, Copying and Revaluation of Transaction data is configuredin this Lab.

1. Within the “Interface for Excel” make sure that your Application SetSTUDENT_## and your application CC_PLAN## are set and then uploadyour file on the “Server”.

After that have a look at the Preview. As you can see no conversions andtransformations will be necessary. Then, import the January 2011 data.

Continued on next page

246 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

a) Upload the flat file on to the Server: Goto eData → More →Data upload → Select the 1st drop down → My computer→Database (G) → BPC7.5→ BPC420 -> BPC420-## →Flat_File_for_TD_CC_PLAN_JAN2011.TXT → Open → Select the2nd drop down → Save → Ok → Ok → Preview the data.

b) Create a transformation file: eData → More → New transformationfile → eData → More → Validate and process transformation file →Select the data type: 'Transaction Data from flat file' → Select theFlat_File_for_TD_CC_PLAN_JAN2011.TXT flat file → Save as →Enter name 'Transformationfile_CCA_TD_2011_JAN' → Save → Youshould have an accepted count of 120 records for your simulation →Cancel.

c) Run the import package: eData → Run Package → Import → Run →Select the import file: Flat_File_for_TD_CC_PLAN_JAN2011.TXT →Select the 'Transformationfile_CCA_TD_2011_JAN' → Next → Finish→ Ok → View status → Close your dialog boxes.

d) Set your current view as follows:

APPLICATION CC_PLAN##

CATEGORY BUDGET

COSTC 1000COSTC1

INPUTCURRENCY EUR

P_ACCT CE0001000

TIME 2011.001

MEASURES PERIODIC

e) Let's run a report to view the data: Select Home → Reporting andanalysis → Build a report using a dynamic template → Page down →Nested row → Open → Ok → Open the column group in column J →Unhide hidden rows → Set your expansions as shown:

Figure 282: Reval jan control panel

f) Expand all:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 247

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 283: Reval jan 2011 report

g) Save the template: eTools → Save dynamic template → Company →Reports → Right click → Create folder → 'BPC420' → OK → Enterreport name: REPORT_CCPLAN_2011_DATA → Save.

2. As our next goal we will copy our uploaded data from January to February2011. Use your Copy Package to execute the copy process.

Again create a report of type Nested Rows to see the new data.You will save your file on the BPC420 folder for Reporting asREPORT_CCPLAN_2011_MONTH_DATA and leave this report openand after each load you will press Refresh Workbook to see the results.

a) Run the copy package: eData → Run package → Copy → Run →Select 'merge...'→ Do not use default logic → Do not check work status→ Next → Select the time from and to members as shown:

Continued on next page

248 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 284: Copy package

b) Next → Finish → Ok → View status → Close the dialog boxes.

c) Set your current view as follows:

APPLICATION CC_PLAN##

CATEGORY BUDGET

COSTC 1000COSTC1

INPUTCURRENCY CHF

P_ACCT CE0001000

TIME 2011.TOTAL

MEASURES PERIODIC

d) Let's run a report to view the data: Select Home → Reporting andanalysis → Build a report using a dynamic template → Page down →Nested row → Open → Ok → Open the column group in column J →Unhide hidden rows → Set your expansions as shown:

Figure 285: Control panel for monthly data

e) Expand all:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 249

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 286: Feb data

f) Save the template: eTools → Save dynamic template →Company → Reports → BPC420 → Enter report name:REPORT_CC_PLAN_2011_MONTH_DATA → Save.

3. Import March data with a markup.

a) Upload the flat file on to the Server: Goto eData → More →Data upload → Select the 1st drop down → My computer→Database (G) → BPC7.5→ BPC420 → BPC420-## →Flat_File_for_TD_CC_PLAN_MAR2011→ Open → Select the 2nddrop down → Save → Ok. → Ok.

b) Create the conversion file: eData → New conversion file → Fill inas shown below:

Figure 287: Reval mar conversion file

c) Save the conversion file:eData → Validate and process conversion file→ P_ACCT_MAR → Ok → Close the file.

d) Create the Mar transformation file: eData → New transformation file→ Fill in as shown:

Continued on next page

250 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 288: Reval mar transformation file

e) eData → More → Validate and process transformation file → Selectthe data type: 'Transaction Data from flat file' → Select the flat fileFlat_File_for_TD_CC_PLAN_MAR2011→ Save as → Enter name''Transformationfile_CCA_TD_2011_MAR'' → Save → You shouldhave an accepted count of 120 records for your simulation → Cancel.

f) Run the import package: eData → Run Package → Import → Run→ Select the import file: Flat_File_for_TD_CC_PLAN_MAR2011→Select the 'Transformationfile_CCA_TD_2011_MAR' → Finish → Ok→ View status → Close your dialog boxes.

g) Refresh your report: Set the data cells format to numeric → 1 decimal→ Refresh workbook → Life is good!:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 251

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Figure 289: Mar report

4. Import April data with a markup.

a) Upload the flat file on to the Server: Goto eData → More →Data upload → Select the 1st drop down → My computer→Database (G) → BPC7.5→ BPC420 -> BPC420-## →Flat_File_for_TD_CC_PLAN_APR2011→ Open → Select the 2nddrop down → Save → Ok. → Ok.

b) Create the conversion file: eData → New conversion file → Fill inas shown below:

Figure 290: Apr conversion file

c) Save the conversion file:eData → Validate and process conversion file→ P_ACCT_APR → Ok.

d) Create the transformation file: eData → New transformation file →Fill in as shown:

Continued on next page

252 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 291: April transformation file

e) eData → More → Validate and process transformation file →Select the data type: 'Transaction Data from flat file' → Select theFlat_File_for_TD_CC_PLAN_APR2011→ Save as → Enter name''Transformationfile_CCA_TD_2011_APR'' → Save → You should havean accepted count of 120 records for your simulation → Cancel.

f) Run the import package: eData → Run Package → Import → Run→ Select the import file: Flat_File_for_TD_CC_PLAN_APR2011→Select the 'Transformationfile_CCA_TD_2011_APR' → Finish → Ok→ View status → Close your dialog boxes.

g) Refresh your report: Set the data cells format to numeric → 1 decimal→ Refresh workbook → Life is still good!:

Figure 292: April report

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 253

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

5. For May to December we copy from January to the relevant month butthis time with a cost element specific revaluation for each month.

Note: Due to technical restrictions it́s not possible to construct onetransformation file in which both Time and Amount for the relevantmonth can be marked up.Consequence: you will have to create 8 transformation files, eachcarrying two conversions, one conversion will be for Time andone conversion for the related Amount.For both Conversion Files we are going to need 8 sheets, one sheetfor each month.

a) Access the conversion file for theMay - Dec Timeframe: In the Interfacefor Excel → Office button → Open → My computer → G Drive →BPC7.5→ BPC420 → BPC420-## → P_ACCT_MAY_TO_DEC →Open → Notice how the %'s vary by month:

Figure 293: P_acct conversion for May

→ eData → Validate and process conversion file→P_ACCT_MAY_TO_DEC → Ok → Close file.

b) Access the conversion file for P_ACT: In the Interface forExcel → Office button → Open → My computer → G Drive →BPC7.5→ BPC420 -> BPC420-## → TIME_MAY_UNTIL_DEC→ Open → eData → Validate and process conversion file →P_ACCT_MAY_TO_DEC → Ok → Below you can see the timemapping for May and June → Close file:

Continued on next page

254 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 294: May / June conversion sheets

c) Access the transformation file for May: In the Interfacefor Excel → Office button → Open → My computer→ G Drive → BPC7.5→ BPC420 → BPC420-## →TRANSFORMATIONFILE_CCA_COPY_JAN_TO_MAY_2011→ Open→ Notice the option to convert p_acct and in 'conversion' section thereference to the two May conversion files:

Figure 295: May transformation file

d) eData → More → Validate and process transformation file →Select the data type: 'Transaction Data from flat file' → Select theFlat_File_for_TD_CC_PLAN_JAN2011→ Save as → Enter name:TRANSFORMATIONFILE_CCA_COPY_JAN_TO_MAY_2011 →Save → You should have an accepted count of 120 records for yoursimulation → Cancel → Close file.

Caution: We aren't going to manually load 8 files. In the nexttask we will bundle them together in a package link and runall 8 at once.

e) Repeat the two steps above for Jun to Dec.

Task 12: Creation of a Package LinkObjective: We want to create a PACKAGE LINK to import and revalue May toDecember in one step.

Description: Since we don't want to execute 8 revaluation packages individuallywe want to bundle them together in a package link.

1. Create a package link for all 8 sets of files.Continued on next page

2010 © 2010 SAP AG. All rights reserved. 255

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

a) eData → More → Organize package link → Right click → Addpackage link list → Enter name and description of 'IMPORT REVALMAY TO DEC' → Add task → Import → Next → Enter 'MAY' as nameand description → Ok

Note: Your 'prompt' will = 'N' at this point.

b) Add the Jun task: Add task → Select 'import' → Next → Enter 'JUN'as name and description → Ok

c) Add the Jul - Dec tasks with the same technique:

Figure 296: Package link w/o prompts

d) Save the link: Select save → Right click → Modify package link.

e) Add the 'prompts': Select MAY → Set prompt → Select theFlat_File_for_TD_CC_PLAN_JAN2011 import file → Select theTRANSFORMATIONFILE_CCA_COPY_JAN_TO_MAY_2011transformation file → Use the 'merge' option → Use default logic →Next → Do check for workstatus → Finish → May now has a 'Y' forthe 'prompts are set' column.

f) Add the prompts for Jun to Dec with the same technique:

Continued on next page

256 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

Figure 297: Package link with prompts

g) Save it and close.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 257

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

2. Run the package link, check the data.

a) Run the link: eData → More → Run package link → Select your link→ Run → Finish → Ok → View status → Double click the log:

Figure 298: Package link - Log

b) Double click on May to see the details → Close the pop-ups.

c) Goto the monthly report→ Refresh workbook:

Figure 299: May to Aug data

Task 13: Optional: Flat File imports into D_PLAN##with Package LinksObjective: Back to Sales application D_PLAN## we first want to give you thebig picture in which direction we now want to go:It́s our goal to calculate contribution margin I using script logicContribution Margin Scheme:Revenue = Quantity *Price- Discount

Continued on next page

258 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

= Net Revenue- Quantity * Variable Cost per unit (= Var_Costs)= Contribution Margin I- FIX_ENER- FIX_RENT- FIX_ADS (advertising)- FIX_DEP= Contribution Margin IITo calculate this scheme using script logic we will use the accounts: quantity,price and cogs.Then we have to plan data for quantity, price and cogs: for all months of 2011, forall Stores and Products.Revenue will later be calculated via script logic.Calculation of the contribution margin scheme will be done in the ForecastCategory so that the manually planned Budget values in for the MultiProviderscenario will not be overwritten.

1. Upload the data files.

a) In the Interface for Excel for the D_PLAN## application, Upload theSWISSSTORES CATS flat file on to the Server: Set your applicationto D_PLAN## with the dropdown in the current view → GotoeData → More → Data upload → Select the 1st drop down → Mycomputer→ Database (G) → BPC7.5→ BPC420 → BPC420-##→Flat_File_SWISSTORES_CATS_x_p_cogs_2011.txt → Open →Select the 2nd drop down → Save → Ok. → Ok.

b) Repeat this same process for the files listed below: (you are in theD_PLAN## application correct?)Flat_File_SWISSTORES_DOGS_x_p_cogs_2011.txtFlat_File_SWISSTORES_FISH_x_p_cogs_2011.txtFlat_File_SWISSTORES_BIRDS_x_p_cogs_2011.txtFlat_File_UKSTORES_CATS_x_p_cogs_2011.txtFlat_File_UKSTORES_DOGS_x_p_cogs_2011.txtFlat_File_UKSTORES_FISH_x_p_cogs_2011.txtFlat_File_UKSTORES_BIRS_x_p_cogs_2011.txtFlat_File_GERMANSTORES_CATS_x_p_cogs_2011.txtFlat_File_GERMANSTORES_DOGS_x_p_cogs_2011.txtFlat_File_GERMANSTORES_FISH_x_p_cogs_2011.txtFlat_File_GERMANSTORES_BIRDS_x_p_cogs_2011.txt

c) Create a transformation file: eData → More → New transformationfile → eData → More → Validate and process transformation file →Select the data type: 'Transaction Data from flat file' → Select theFlat_File_SWISSTORES_CATS_x_p_cogs_2011.txt flat file → Save as

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 259

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

→ Enter name 'TRANSFORMATION_S_P_COGS' → Save → Youshould have an accepted count of 2,592 records for your simulation→ Cancel.

2. Create a package link for the 12 files.

a) eData → More → Organize package link list → Right click → Addpackage link → Enter name and description of 'LOAD X P COGS'→ Add task → Import → Next → Enter 'SWISSCATS' as name anddescription → Ok

Note: Your 'prompt' will = 'N' at this point.

b) Add the SWISSDOGS task: Add task → Select 'import' → Next →Enter 'SWISSDOGS' as name and description → Ok

c) Add the remaining 10 tasks using the same technique.

d) Save the link: Select save → Right click → Modify package link.

e) Add the 'prompts': Select SWISSCATS→ Set prompt → Select theimport file → Select the transformation file S P COGS→ Use the'merge' option → Use default logic → Next → Do check for workstatus→ Finish → SWISSCATS now has a 'Y' for the 'prompts are set' column.

f) Add the prompts for the remaining 11 tasks using the same technique:

Figure 300: Load x p cogs package link

g) Save it and close.

Continued on next page

260 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links

3. Run the package link, check the data.

a) Run the link: eData → More → Run package link → Select LOAD X PCOSGS link → Run → Finish → Ok → View status → It may still berunning → Double click the log: LOAD X P COGS Package link - Log

Note: If you get an error, check the log for rejected records,if none were rejected, you can move on.

b) Double click on SWISSCATS to see the details → Close the pop-ups.

c) Let's review our data: Set your current view as shown:

APPLICATION D_PLAN##

CATEGORY FORECAST

COSTC STORE17

INPUTCURRENCY EUR

P_ACCT TOP_PER_UNIT

PRODUCT DOGPUPPYDRY

TIME 2011.TOTAL

MEASURES PERIODIC

d) Goto Home → Reporting and analysis → Build a report using adynamic template → Account trend → OK:

Figure 301: Forecast data report

2010 © 2010 SAP AG. All rights reserved. 261

Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting BPC420

Lesson Summary

You should now be able to:• Understand the delivered objects related to Data Manager.• See how to load master data and transaction data from BW objects

262 © 2010 SAP AG. All rights reserved. 2010

BPC420 Unit Summary

Unit SummaryYou should now be able to:• Understand the delivered objects related to Data Manager.• See how to load master data and transaction data from BW objects

2010 © 2010 SAP AG. All rights reserved. 263

Unit Summary BPC420

264 © 2010 SAP AG. All rights reserved. 2010

Unit 4Working with Logic

Unit OverviewAfter completing this unit, you will understand how to configure Script Logic andon the fly calculations.

Unit ObjectivesAfter completing this unit, you will be able to:

• understand the different types of Logic• see the different commands in Script Logic• learn how Script Logic can be executed by the end user• Understand how to customize central execution of Script Logic• The access concept for central execution• Understand the concept of allocations• Set up allocations• Understand the integration between the Script Logic Editor and ABAP• How to work with Start Routines within transformation files using ABAP• Understand the concept and set up of Dimension Member Formulas

Unit ContentsLesson: Script Logic and Online Execution ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266Lesson: Script Logic and Central Execution ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . .301Lesson: Script Logic and Allocation ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307Lesson: Script Logic and ABAP Integration ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324Lesson: Dimension Member Formulas ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330

Exercise 3: Logic .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .339

2010 © 2010 SAP AG. All rights reserved. 265

Unit 4: Working with Logic BPC420

Lesson: Script Logic and Online Execution

Lesson OverviewThis Lesson will give you a short overview about Logic Types in BO PC and willthen focus on Script Logic. The goal is to execute the logic online which meansthat the end user shall execute it by themselves.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• understand the different types of Logic• see the different commands in Script Logic• learn how Script Logic can be executed by the end user

Business ExampleYou need formulas to carry out some calculations in planning and so you needto know about the options that script logic provides.

266 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Figure 302: Types of Logic

• Worksheet Based Logic exists in worksheets only.

– Dimension member formulas (use sparingly) give you the abilityto define very powerful formulas for calculating Account dimensionmembers mostly.

– Dimension member formulas are defined at the Application Set level,thus they are valid across all applications which use the dimension.

– Within the definition of a dimension using Microsoft MDX language(Multidimensional Expressions Language).

– Script logic is defined within each application and is used to calculatedata but only for base level data in the application.

– Calculations can cross applications within one application set.

– Business Rules are a table based logic that provides the flexibility tocustomize certain delivered functions to meet specific business needs,without having to understand scripting/programming. BPC's businessrules can only be used for management and legal consolidation.

– The following Business Rule Tables exist:

– Account Transformation– Currency Conversion– Intercompany Booking– Carry-Forward Rules– US Eliminations– Validations– Automatic Adjustments

2010 © 2010 SAP AG. All rights reserved. 267

Unit 4: Working with Logic BPC420

Figure 303: Planning logic worksheet example

Figure 304: Planning logic dimension example

268 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Figure 305: Planning logic dimension results

You can perform script logic calculations on base level members only. In addition,logic is application-specific. Planning and Consolidation provides a library ofMDX formulas, and the ApShell application set is pre-configured with a numberof logic functions.

Figure 306: Planning script logic example

2010 © 2010 SAP AG. All rights reserved. 269

Unit 4: Working with Logic BPC420

Figure 307: What are Business Rules?

SAP Business Planning and Consolidation delivers certain pre-defined functionsdesigned to calculate and post amounts required to support common accountingactivities such as:

• Currency translation• Matching and elimination of inter-unit balances.

In order to allow a customer the flexibility to customize (configure) these functionsto meet their specific requirements “table-based” logic is applied.

For each pre-defined function, one or more “Business Rule tables” exist in whichthe business user can configure rules such as:

• What balances should be read in order to calculate an amount to be posted.• What are the posting rules for the calculated amount (i.e. what account and

data source does one wish to post the calculated amount under).

Table based logic (Business Rules) provides the flexibility for a customer tocustomize certain delivered functions (logic), to meet their specific business needs,without having to understand scripting/programming.

Figure 308: Script Logic

270 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Script Logic allows you to create files containing instructions for performingcalculations with special requirements on Planning and Consolidation data.

You can perform logic calculations on base level members only. In addition,logic is application-specific.

Planning and Consolidation provides a library of MDX formulas, and the ApShellapplication set is pre-configured with a number of logic functions.

Script logic statements are case-insensitive.

However, all application set, application, and dimension and member names inK2 are case-sensitive.

Figure 309: Script Logic

You access logic files from the Script Logic subdirectory within the hierarchyof an application.

Figure 310: Types of Script Logic

Default logic is a special logic statement that is executed on every write backto an application.

2010 © 2010 SAP AG. All rights reserved. 271

Unit 4: Working with Logic BPC420

All logic in Default.LGF is run after data sends. Data is first committed to cubeand then, Default.LGF is run on cube data.

All other Logic is not executed during Send Data!

Figure 311: Script Logic Files

You have the following two files for each piece of script logic you create:

An .LGF file, which is an ASCII file you create and edit when setting up logiccalculations. You access the .LGF file through the Script Logic editor in theAdmin Console.

An .LGX file, which is the compiled logic file created by the system when youvalidate and save your logic. This is an executable version of the .LGF file that isnot stored in Planning and Consolidation.

Figure 312: Default Script Logic

Default logic is a special logic statement that is executed on every writebackto an application. All logic in Default.LGF is run after data sends. Data is firstcommitted to cube and then, Default.LGF is run on cube data.

272 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Having all of your logic in the Default.LGF logic file might become unmanageable.

Therefore you can create other logic files, such as FXTrans.LGF for foreigncurrency translation and ICElim.LGF for intercompany eliminations.

Your default logic can contain an INCLUDE statement to execute specific logicin real-time, such as currency translation if desired, rather than having to run aseparate batch process.

You access logic files from the Script Logic subdirectory within the hierarchyof an application.

Figure 313: Structure of Script Logic

Here is how modeling logic works:

SAP Business Planning and Consolidation loads in memory a specific selection ofdata (known as Scoping), applies to it a set of user-defined formulas and derivesan appropriate set of calculated amounts (Body/Code).

These amounts are then written back into the fact table as if they were additionalinput data (Commit).

Test/Execute function module BAPI_MDPROVIDER_GET_FUNCTIONS for alist of SAP NetWeaver BI supported keywords.

2010 © 2010 SAP AG. All rights reserved. 273

Unit 4: Working with Logic BPC420

Figure 314: *INCLUDE

*INCLUDE

Multiple files can be combined into one logic file by the use of the instructionINCLUDE. During the LGX generation of the script logic execution step, thestatements in INCLUDE file are combined with main file.

Working with *INCLUDE will facilitate debugging since you can debug eachInclude separately.

Figure 315: Other Script Logic

Running script logic

Script logic can be automatically invoked each time the system sends data tothe database.

Logic contained in the default logic file is executed immediately after data issent and you can see the results immediately. If other Script Logic Includes areintegrated in the Default Include then the calculation of “other Script Logic” isexecuted when sending data.

If this is not wanted the “other Script Logic” Include must not be integrated inthe Default Include. In this case Script logic can be run from Data Manager forbatch processing of formulas.

274 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Using Data Manager to execute Logic module formulas is useful for calculationsthat do not need to be executed immediately. For example, you may decide towait until all data has been entered in the local currency before generating thetranslated amounts in reporting currencies.

We will focus on central execution later.

Figure 316: Logic Library

Logic library

Planning and Consolidation has a library of standard logic functions availablefor your use.

The file has the extension .LGF, which can be called at validation by using theINCLUDE function in your logic file.

The logic module scans the library file for the appropriate formulas to use basedon the information in the .LGF file.

The following are examples of logic delivered with Planning and Consolidation:

Alloca-tion.lgf:

runs an allocation

Calcac-count.lgf:

used to prepare Cash Flow; runs a Account Calculation BusinessRule

Consolida-tion.lgf:

used to run a Legal Consolidation Business Rule

2010 © 2010 SAP AG. All rights reserved. 275

Unit 4: Working with Logic BPC420

Copy_Open-ing.lgf:

used to run a Balance Carry Forward business rule

FX_Trans.lgf: used to run currency conversion

ICBook-ing.lgf:

used for running Intercompany reconciliation and differenceposting

ICData.lgf: used to run Intercompany reconciliation

ICElim.lgf: used for running Intercompany reconciliation

MDXlib.lgf: library of MDX financial functions

Sys-tem_Con-stants.lgf:

stores constant values for use within script logic. See the Systemconstants file section that follows for more information.

System_Li-brary.lgf:

includes basic examples of a set of keywords

Valida-tion.lgf

used for running a Validation rule

Figure 317: Running Script Logic

We will focus on central execution of Script Logic later in this unit.

276 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Figure 318: Script Logic ABAP Program Tester

For testing your Script Logic its possible to debug using programUJK_SCRIPT_LOGIC_TESTER which is run from transaction SA38 in SAPNetWeaver BW.

Input the application set and application you wish to test.

lab

In the Data Region section input the Dimension and Member IDs (similar toinputting your current view).

Then specify your script location or copy/paste or input the logic directly in thelower-left editor box.

There are three run options:

Validate

Execute

Execute (simulate)

You can check the log in the lower right section.

2010 © 2010 SAP AG. All rights reserved. 277

Unit 4: Working with Logic BPC420

Figure 319: *WHEN

Note: There should be no space between the two characters of the unequalsign operator (<>).

You can insert one or more blanks between the operators and the value.

If an unequal sign (<>) is used, you can pass only one value.

Therefore, the syntax *IS <> 2,3,4 is invalid.

Other relational operators like AND, OR and NOT are not currently supported.

Not supported:

*IS dimension.property

WHEN / ENDWHEN structures can be nested by as many levels as desired andin any sequence:*WHEN xxx

*IS “A”

*REC()

*REC()

*IS “B”

*REC()

*WHEN yyy

*IS “C”,“D”,“E”

*REC()

278 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

*ELSE

*REC()

*ENDWHEN

*ENDWHEN

Figure 320: *REC

The *REC( ) instruction tells the program what to do once the specified criteriahas been met.

Each REC instruction generates one new record to post to the database.

Each source record can generate as many records as desired, even pointing to thesame destination cell.

The parameters of the REC( ) function specify what to modify of the originalrecord.

Restrictions For Using the REC Instruction

You cannot use MDX keywords in *REC.

The only permitted operations are addition (+), subtraction (-), multiplication(*), and division (/), combinations of these operators, and parenthesis for tupleand priorities of the operations.

Dynamic properties such as HLEVEL, PARENTHn are not supported in the RECstatement.

REC always needs to be accompanied by WHEN / IS / ENDWHEN. Stand-aloneREC statements do not have any effect.

You cannot use SIGNEDDATA or any measure name in a WHEN statement towrite a condition on a measure value.

WHEN / IS / REC / ENDWHEN cannot be used in SELECTCASE / ENDSELECT.

2010 © 2010 SAP AG. All rights reserved. 279

Unit 4: Working with Logic BPC420

Figure 321: *REC – Using Multiple REC Statements

Within the upper coding example refer to the bold colding and dont focus on*XDIM_MEMBERSET. This will be explained separately.

Figure 322: Referring To Another Source Value Within A FACTOR/EXPRES-SION Instruction

Note: You have the ability to use implicit Account members in directMDX statements within script logic.

280 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Figure 323: *COMMIT

*COMMIT

A logic file can contain formulas that depend on the result of calculationsperformed by the cube, and these calculations in turn depend on the results ofsome other formulas in the same logic.

[P_ACCT].[#CE0004030] = ( [P_ACCT].[CE0004010] +[P_ACCT].[CE0004020] ) * 0.15

[P_ACCT].[#CE0661000] =

( [P_ACCT].[CE0004010] + [P_ACCT].[CE0004020] +[P_ACCT].[#CE0004030] ) / [P_ACCT].[CE0652000]

In this example, CE0661000 depends on the first calculation, and this calculationin turn depends on the calculation of CE0004030.

The logic, if written in the above format, does not work correctly, becauseCE0004030 cannot be retrieved from the cube until its result has been posted tothe cube.

To get the right results, CE0004030 must be calculated AND stored in the cube.

THEN, the calculated result can be retrieved from the cube and be used tocalculate CE0661000.

To force a write back of the result of the calculation of CE0004030 into the cubebefore the calculation of CE0661000, you can insert the instruction *COMMITbetween the two calculations.

The logic then works when written as follows:

[P_ACCT].[#CE0004030] = ( [P_ACCT].[CE0004010] +[P_ACCT].[CE0004020] ) * 0.15

*COMMIT

[P_ACCT].[#CE0661000] =

( [P_ACCT].[CE0004010] + [P_ACCT].[CE0004020] + [P_ACCT].[CE0004030]) / [P_ACCT].[CE0652000]

2010 © 2010 SAP AG. All rights reserved. 281

Unit 4: Working with Logic BPC420

In this case CE0004030 in the second formula does not have the pound sign (#),because it is a stored amount read from the cube.

Figure 324: SQL Script Logic: Components

Behind the scenes of Script Logic:

The Logic module loads a selection of data into memory (scope of the query).

The user defined formulas are applied to the selected data and a result set ofrecords is generated.

The result set is written back to the database.

Figure 325: Scope of the Query: *XDIM_MEMBERSET

*XDIM_MEMBERSET defines the scope of the data in which subsequentbusiness logic will be applied.

Syntax

*XDIM_MEMBERSET {Dimension name} = {Members Set}

• XDIM_MEMBERSET {Dimension}<>{MemberSet}•

Note: XDIM_MEMBERSET does not allow the use of Properties.To scope on Properties two commands exist which will be explainedlater: XDIM_FILTER or *SELECT.

282 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Figure 326: Syntax for XDIM_MEMBERSET and XDIM_ADDMEMBERSET

With the keyword XDIM_ADDMEMBERSET, the logic can merge a specific setof members with the members passed in the region for which the logic shouldbe executed.This instruction is similar to the instruction *XDIM_MEMBERSET.

The difference is that, while XDIM_MEMBERSET redefines the region passed bythe user, XDIM_ADDMEMBERSET adds the defined set to the passed region.

Figure 327: Expanding the Scope: *XDIM_ADDMEMBERSET

With the keyword XDIM_ADDMEMBERSET, the logic can merge a specific setof members with the members passed in the region for which the logic shouldbe executed.

2010 © 2010 SAP AG. All rights reserved. 283

Unit 4: Working with Logic BPC420

Figure 328: *XDIM_MAXMEMBERS

When the number of records being processed is too big, the performance candeteriorate significantly. Also, processing too much data in the memory will slowdown the system for other uses and eventually run out of memory and an ABAPdump can occur even with high Roll memory settings. In this case, you can breakthe action into multiple packets and execute them sequentially

Figure 329: Scope of the Query: Data Send

The upper slide gives you an idea about the scope of the Query when sending data.

284 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Figure 330: *FOR/*NEXT

*FOR / *NEXT

*FOR / *NEXT is used to repeat certain scripts written between a FOR and animmediate NEXT for a set of members.

Sets of members can be provided either directly in the FOR statement or throughvariable.

The Logic Module supports any number of FORNEXT loops in the body of thelogic files.

The *FOR Statement has to be accompanied by a variable. In the Example%KPI% is the user defined variable which was used for the Loop.

Figure 331: Filtering the Scope: *XDIM_FILTER

*XDIM_FILTER

2010 © 2010 SAP AG. All rights reserved. 285

Unit 4: Working with Logic BPC420

XDIM_FILTER brings all members when the specified condition is met.This keyword can return only base members and can be used to scope viaproperties which was not able for the *XDIM_MEMBERSET syntax.

Example

*XDIM_MEMBERSET Category = PLAN

*XDIM_MEMBERSET Entity = C3000

*XDIM_MEMBERSET P_DataSrc = MANUAL

*XDIM_MEMBERSET RptCurrency = LC

*XDIM_MEMBERSET P_Activity = EMPL1

*XDIM_MEMBERSET P_ACCT = CE0004220

*XDIM_FILTER Time = [Time].properties(“MONTHNUM”) = “2”

*WHEN P_ACCT

*IS CE0004220

*REC (EXPRESSION = 888)

*ENDWHEN

*COMMIT

Figure 332: Dynamic Variables: *SELECT

*SELECT

The special instruction *SELECT allows the user to retrieve a list of elementsfrom a dimension and save it in a user-defined variable for later use anywhereelse in the logic.

The SELECT instruction is not specific to a given logic section, but it can bewritten once anywhere in the logic and used across multiple commit sections.

286 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

The SELECT statement is fairly limited, as it only supports the equal sign (=) ,not equal to (<>) and cannot be used to combine multiple filter criteria with ANDor OR keywords.

Figure 333: *SELECTCASE

For the coding line *SELECTCASE [ACCOUNT].CURRENTMEMBER.PROP-ERTIES(“CALC”)

the MDX output generated would be:=IIF([ACCOUNT].CURRENTMEMBER.PROPERTIES(“CALC”)=Y,1,IIF([AC-COUNT].CURRENTMEMBER.PROPERTIES(“CALC”)=N,1,null))

Note: SELECTCASE structures currently CANNOT be nested.

Note: WHEN/ENDWHEN which has a much better performance then*SELECTCASE.

2010 © 2010 SAP AG. All rights reserved. 287

Unit 4: Working with Logic BPC420

Figure 334: *ADD

*ADD can only carry one formula and it must be an MDX formula.

Working with *ADD has a much better impact on performance then using theappropriate MDX language.

Figure 335: *FUNCTION – Single Line Function

A user-defined function is the name of a placeholder that a user can insert informulas in place of a corresponding MDX statement or part of one. This cangreatly improve the readability of a logic statement.

288 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

The definitions of the logic functions can be inserted anywhere in a logic fileor in an included file.

Note: If your function executes a division you do not have to check thedenominator for Zero to avoid divide-by-zero error. The Script Logicengine automatically replaces the divide by zero error with zero.

Figure 336: *FUNCTION – Multi Line Function

A user-defined function is the name of a placeholder that a user can insert informulas in place of a corresponding MDX statement or part of one. This cangreatly improve the readability of a logic statement.

The definitions of the logic functions can be inserted anywhere in a logic fileor in an included file.

2010 © 2010 SAP AG. All rights reserved. 289

Unit 4: Working with Logic BPC420

Figure 337: *TMVL

You can use TMVL:

In FACTOR/EXPRESSION within REC

Inside FOR/NEXT loops

In IS conditions inside WHEN/ENDWHEN.

If TMVL is used with variables, like %TIME_SET% the first period of the timeset is used as base period for negative offset and last period of the time set isused as base period for positive offset.

Multiple separate (not nested) TMVLs can be used in one scoping statement.

When 0 is used as offset, no offset will be done for the provided time member.

Figure 338: *TMVL – Where can TMVL be set?

The upper slide gives you some ideas where in coding and how TMVL can be used.

290 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Figure 339: Logic Keywords – Special Keywords SET

“SET”.An implied keyword is available for each dimension. This keyword holds the setof members passed to the logic engine for a given dimension. This keyword canbe used as a replacement string anywhere in the logic.

Figure 340: Logic Keywords – Special Keywords DIM

“DIM”:Another type of implied keywords is available for each non-user-defineddimension.

This keyword holds the actual name of a dimension of a given type, and can beused as a replacement string to use anywhere in the logic.

2010 © 2010 SAP AG. All rights reserved. 291

Unit 4: Working with Logic BPC420

Figure 341: Query Scope Considerations

The upper graphic gives you an idea of how BO PC can reach data which is out ofthe data region one is currently planning in.

Figure 342: *LOOKUP – READ VALUES (1 of 2)

Lookup and Destination_App are appropriate for multi-application scripting.

Lookup is only for reading values and Lookup is positioned in the application thatwants to read a value from a further cube.

Its also possible to read values from the same application which are not in thescope!

292 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Since we are only interested in the value itself no mapping or skipping or addingof dimensions is needed.

Note: Reading multiple Measures within one LOOKUP for multiplelookup id is not supported

Within a script, reads from the same Application needs to be writtenwithin one LOOKUP block.

Multiple LOOKUP blocks for same Application is not supported.

Note: RATEEUR in coding line “*DIM RATEEUR:INPUTCUR-RENCY=”EUR“ ” is a placeholder or variable not a dimension, not amember, not a property.

Figure 343: LOOKUP – READ VALUES (2 of 2)

The upper slide gives an example of how to refer to property values in *LOOKUP.

2010 © 2010 SAP AG. All rights reserved. 293

Unit 4: Working with Logic BPC420

Figure 344: *DESTINATION_APP

Destination_App copies/writes data sets from the source cube to the destinationcube and is so created from the Source Application!

Doing so we need functionality which tells us how to handle dimensions whichcan only be found in the source and those ones which you only find in thedestination and how to map dimensions.

Explanation to the upper coding example:

DETAIL_PLAN is the target application, which has all dimensions of PLANNINGexcept for P_ACCT.This dimension is replaced with P_ACCTDETAIL.Also, DETAIL_PLAN has two additional dimensions, namely PRODUCT, andMARKET.

The above script logic moves the data into DETAIL_PLAN with:

Blank data in the PRODUCT and MARKET dimensions.

P_DATASRC defined by the keyword INPUT.

Corresponding values of P_ACCT copied to P_ACCTDETAIL.

294 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Figure 345: The System_library.lgf Library file

• When maintaining SAP Business Planning and Consolidation Script Logic,you can reference formulas from the library file from the System librarydirectory using the File Service (transaction UJFS) in SAP NetWeaver BW.

Figure 346: The System Constants “System_constants.lgf” File

The System (dimension) Constants File:

2010 © 2010 SAP AG. All rights reserved. 295

Unit 4: Working with Logic BPC420

This is a logic file which maps your dimension names for the application to thestandard SAP Business Planning and Consolidation dynamic logic.

By updating the dimension constants file with your dimensions, you avoid havingto change or rewrite any of the standard functions that are included with SAPBusiness Planning and Consolidation.

Figure 347: Benefits of Script Logic

Benefits related to Script Logic include:

• Real-time – allows for real-time calculations.• Option to run in batch from Data Manager.• Flexible – enables you to apply different formulas to different applications

within an application set (dimension member formulas are applied to allapplications using the dimension).

• Powerful and effective tool to perform calculations, delivering the desiredresults efficiently and accurately.

Figure 348: Rule 1: Stay away from MDX logic

Golden Rule 1: Stay away from MDX logic

296 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Figure 349: Rule 2: Load in memory only the required data

Golden Rule 2: Load in memory only the required data

Figure 350: Rule 3: Keep the logic structure as compact as possible

Golden Rule 3: Keep the logic structure as compact as possible

2010 © 2010 SAP AG. All rights reserved. 297

Unit 4: Working with Logic BPC420

Figure 351: Rule 4: Minimize the number of COMMITs

Golden Rule 4: Minimize the number of COMMITs

Figure 352: Rule 4: Minimize COMMITs: Example 1

Golden Rule: Minimize COMMITs: Example 1

Figure 353: Rule 4: Minimize COMMITs Note

Golden Rule 4: Minimize COMMITs Note

298 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Online Execution

Figure 354: Rule 5: Keep in default logic only the calculations that areabsolutely required to be performed in real time

Golden Rule 5: Keep in default logic only the calculations that are absolutelyrequired to be performed in real time

Figure 355: Rule 6: Avoid refresh-after-send in Exce

Golden Rule 6: Avoid refresh-after-send in Excel

2010 © 2010 SAP AG. All rights reserved. 299

Unit 4: Working with Logic BPC420

Lesson Summary

You should now be able to:• understand the different types of Logic• see the different commands in Script Logic• learn how Script Logic can be executed by the end user

300 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Central Execution

Lesson: Script Logic and Central Execution

Lesson OverviewIt́s possible to execute Script Logic as an administrator, which means centrallyafter the end user finished their activities.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand how to customize central execution of Script Logic• The access concept for central execution

Business ExampleThe project team which introduces BO PC is interested in central execution ofScript Logic.

Figure 356: Execution of Script Logic using Data Management Packages& Delivered Process Chains

2010 © 2010 SAP AG. All rights reserved. 301

Unit 4: Working with Logic BPC420

The upper slide shows the necessary steps when you don't want to execute thescript logic while saving data.

If you want to execute it after saving data by a business user centrally executing it,you will have to

• Refer to a process chain with the process types mentioned above• Build up a script logic which is not active in the Default Logic• Create Data Management Package which refers to the Process Chain• Define the parameters the business user has to fill in when executing the

package

Here you will have to use Dynamic Script Logic as given in the upper slide.

The business user can run the package immediately or schedule it.

Enter a title and the conceptual information about this lesson in this section. Youcan also include additional sections, graphics, demonstrations, procedures, and/orsimulations.

Figure 357: Manage Team User Package Access (1 of 2)

A special authorization concept exists for Data Management Packages.

For Data Mangement Packages the Administrator does not have to maintainanything in the Task Profiles of the BPC Security concept.

302 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Central Execution

Instead they create the new package and first generally decide if user groups canwork with the package or only the administrator group. Therefore you will findthe selection “User Package” and “Admin Package”.

Note: User and Admin refer to Teams.

After this first step the administrator who has maintained teams earlier and addedusers to teams can fine tune the usage of package for the different user groupsentering the “Manage Team User Package Access” as second step.

Figure 358: Manage Team User Package Access (2 of 2)

Within the “Manage Team User Package Access” the Administrator can see perTeam the selected packages.

Here they can select which packages the Team members shall really see.

Note: If you select the wished Package the Teams members can see andselect it.

If you de-select the wished Package the Team members cant see it nor ofcourse select it.

2010 © 2010 SAP AG. All rights reserved. 303

Unit 4: Working with Logic BPC420

Figure 359: Dynamic Script Logic Editor: Logic Keywords – Systemvariables

In the dynamic script logic editor in which to configure your datamanagement pop-ups you refer to system variables.

Take a look at the preconfigured process chains and here in the processtype “Run Logic”. To refer to the system variables within the dynamicscripting section, doing a mapping.

Figure 360: Logic Keywords – Special Keywords Data ManagerPrompts

During execution of data manager via excel client a user will be askedto fill in the prompted value. The prompted values serves as a variablefor the end user.

304 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Central Execution

Figure 361: Logic Keywords – Special Keywords Data Manager Prompts(Continued)

• The upper slide shows how to configure dynamic script logic to be promptedfor a “Variable” during execution of the Data Management Package.

2010 © 2010 SAP AG. All rights reserved. 305

Unit 4: Working with Logic BPC420

Lesson Summary

You should now be able to:• Understand how to customize central execution of Script Logic• The access concept for central execution

306 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Allocation

Lesson: Script Logic and Allocation

Lesson OverviewWith Script Logic you can also define Allocations

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand the concept of allocations• Set up allocations

Business ExampleThe project team is interested in how to configure Allocations.

Figure 362: Allocation Engine: Overview

With the help of the allocation engine we want to distribute data from one senderto several receivers. This feature is very often used in Planning as a top-downscenario.

The upper slide gives you an idea about the Allocation configuration in BO PC.The Script Logic Editor is used to configure a distribution by working with specialcommands as WHAT, WHERE, FACTOR,COUNT.We now want to explain how you have to set up an allocation in BO PC.

2010 © 2010 SAP AG. All rights reserved. 307

Unit 4: Working with Logic BPC420

Figure 363: Allocation Engine: Key Elements

The upper slide gives you an overview about all commands for the AllocationEngine.

Figure 364: Identify Key Elements in a simple Allocation Scenario

• The upper slide gives you a Business Scenario for Allocation and a referenceto the BO PC commands which are necessary to construct the distribution.

308 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Allocation

Figure 365: Coding Example for the simple Allocation Scenario

Note: You have to read the Allocation Coding in the Script Editorvertically. Each vertical line represents the relevant data set Selections.

Allocation should be run separately for each month, thats why the TIMEdimension ist not mentioned in the WHAT

Lines! You refer to TIME when executing the Allocation via a DataManagementPackage.

An exception is when you want to allocate one years data and refer to the data ofthe last year.

Then the *DIM TIME row would be necessary to refer to several years.

Each further dimension of the related Application must be included in theallocation coding. Create one row per

Dimension starting with *DIM DIMNAME.

2010 © 2010 SAP AG. All rights reserved. 309

Unit 4: Working with Logic BPC420

Figure 366: How to Read an Allocation Table

The upper slide gives you an idea of how to read the commands of the AllocationEngine.

Figure 367: Logic Keywords: WHAT – Source

With the help of the upper table one can see details for the logic keyword WHAT.

310 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Allocation

Figure 368: Logic Keywords: WHERE – Target

With the help of the upper table one can see details for the logic keyword WHERE.

2010 © 2010 SAP AG. All rights reserved. 311

Unit 4: Working with Logic BPC420

Figure 369: Logic Keywords: FACTOR – How to calculate the DistributionKey

• This instruction can be used to define any arithmetic expression (writtenin the {expression} parameter) and may contain operands, parentheses,constants and one or both of the keywords USING and TOTAL, representingrespectively the amount coming from the “USING” region (for example, theamount of the driver) and the amount coming from the “TOTAL” region(for example, the sum of the drivers).

• If factor omitted, the factor will always default to 1.• If the arithmetic expression is omitted, the default is multiplication.

312 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Allocation

Figure 370: Logic Keywords: USING & TOTAL –Selections for DistributionKey

• Do not use “>0” (For example, USING=Amount >0 is not supported)• USING and TOTAL must have the same definition• Do not use non-base members with <>• Do not use parent member directly in USING• As described in the previous table, BAS(parent) is still allowed• Do not use non-base members with <>

2010 © 2010 SAP AG. All rights reserved. 313

Unit 4: Working with Logic BPC420

Figure 371: Example 1: Allocate working with percentages:*FACTOR=USING/100

The upper slide connects the Business side and the technical side for a specialexample with a special variant of the *Factor keyword.

314 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Allocation

Figure 372: Example 2: Allocate working with *FACTOR=USING/TOTAL

In the upper scenario the budget of 50000 Units for Account RENT is entered intothe data base by the *REC statement in the second section of the coding example.The budget is planned for the leaf member ASA with description Planning Asiafor 2009.JAN in Category PLAN.

The allocation shall distribute this budget to the leaves China, Japan, India, Restof Asia (BAS(RASA)) in Category Budget in January 2009.

The distribution shall take place according to the Actual Rent data of theBAS(RASA) leaves in January 2008.

Doing so the the key to debit the receivers is *FACTOR=USING/TOTAL.

Since the Allocation Function does not delete the orginal budget after allocationautomatically the Script Logic coding has to be enriched by a *REC statementwhich sets the original budget to zero after the allocation took place.

2010 © 2010 SAP AG. All rights reserved. 315

Unit 4: Working with Logic BPC420

Figure 373: Example 2: Allocate working with Data Manager Prompts

The upper coding includes Data Manager Prompts into the Allocation codingand allows this way to enter the source value as well as the sender and receiverentity of the distribution.

These values are asked for when executing the Allocation via Data ManagementPackage.

316 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Allocation

Figure 374: Example 3: Allocate working with *FACTOR=USING/TOTAL (1of 3)

In this example the Advertising costs in January 2009 for Entity ASA/DatasourceManual shall be distributed to all BAS(RASA) entities according to the ExternalSales in January 2008/Manual for these entities.

Figure 375: Example 3: Allocate working with *FACTOR=USING/TOTAL (2of 3)

2010 © 2010 SAP AG. All rights reserved. 317

Unit 4: Working with Logic BPC420

As you can see during allocation the Datasource changes from Manual toAllocated. This is why in the upper coding there is no need to set the source valueto zero writing a special coding line.

Figure 376: Example 3: Allocate working with *FACTOR=USING/TOTAL (3of 3)

As you can see its always possible to work with system variables.

Figure 377: Example 4: Using the Allocation to copy data from severalsources to one common goal

Here the allocation is used not to distribute data but to sum up data and copy thesum to a receiver. This is helpful since the Copy Data Managemenet Package is notable to do this. Here copying is always a 1:1 relation between sender and receiver.

318 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Allocation

In the upper example all accounts in the profit and loss statement of categoryACTUAL, for the three entities ITALY, FRANCE and UK, are copied into thecorresponding accounts of the entity GLOBALOPS and category BUDGET.

Figure 378: Example 4: Allocation with *FACTOR=

This allocation is basically an example of a simple copy action which does notuse any FACTOR at all.

In this example the engine performs a one-to-one copy (ACTUAL into BUDGET)and a many-to-one copy (ITALY, FRANCE and UK are added up and copiedinto GLOBALOPS).

Property not supported in ALLOCATION replaces property with variable usingselect statement.

Ensure *SELECT statement selects only base members.

Note the *DIM DOT(R) row. Its possible to identify the dimensions per type!

2010 © 2010 SAP AG. All rights reserved. 319

Unit 4: Working with Logic BPC420

Figure 379: Example 5: Allocation according to reference data – Keeporiginal Cost Element

In this allocation example we want to distribute 120000 Units from Entity C9000to Entity C1000 and C2000. The Account before and after allocation shall be theoriginal account CE0004030.Note: Lines marked red with continuous line describe sender and receiver ofallocation.

Als Distribution Factor we refer to Account CE0652000 of both receiving entitiesC1000 and C2000.

Note: See the blue dotted lines in graphic for Distribution Factors.

Note: In the upper example you would have to set the sender value tozero by a special coding line after the Allocation Run. This has beenomitted in the upper coding example.

320 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Allocation

Figure 380: Example 6: Allocation according to reference data – Credit withAllocation Cost Element

Note: Lines marked red with continuous line describe sender and receiverof allocation.

See the blue dotted lines in graphic for Distribution Factors.

In this example the source values have different accounts. These values shall besummed up and distributed according to the key to one common cost element.

Figure 381: Example 7: Allocation with equal distribution – Keep OriginalCost Element

The upper slide shows the set up for an equal distribution of source data.

2010 © 2010 SAP AG. All rights reserved. 321

Unit 4: Working with Logic BPC420

Figure 382: Example 8: Allocation keeping the orginal cost element foreach sender cost element (1/2)

Note: The continuous lines in red, blue and green on the right and left arerelated to the sender and receivers.

The dotted lines in yellow describe the distribution key.

In comparison to Example 8 we dont want to sum up the sender valuesand distribute into one commun account but we want to keep the originalcost element for each sender cost element.

Figure 383: Example 8: Allocation keeping the orginal cost element foreach sender cost element (2/2)

322 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and Allocation

Lesson Summary

You should now be able to:• Understand the concept of allocations• Set up allocations

2010 © 2010 SAP AG. All rights reserved. 323

Unit 4: Working with Logic BPC420

Lesson: Script Logic and ABAP Integration

Lesson OverviewThe Project Team is interested in the ABAP Interface within BO PC.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand the integration between the Script Logic Editor and ABAP• How to work with Start Routines within transformation files using ABAP

Business ExampleThe technical project team is interested in ABAP integration within BO PC.

Figure 384: Script Logic and Badis

The upper slide shows the syntax within Script Logic if you want to includeBADIS.

BADI is an acronym for Business Add-in. It is an SAP enhancement techniquebased on ABAP Objects.

Important is that the script logic refers to the filter value of the BADI not to thetechnical name of the Badi.

For instructions about implementing an SAP Business Add-In, seethe ABAP online help at: http://help.sap.com/saphelp_nw70/help-data/en/32/a83942424dac04e10000000a1550b0/content.htm.

324 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and ABAP Integration

For instructions on how to pass parameters to Custom Logic BADI usingSTART_BADI: https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/li-brary/uuid/20f4252d-98ca-2b10-e689-f85085ae2d12

[Enter a title and the conceptual information about this lesson in this section.You can also include additional sections, graphics, demonstrations, procedures,and/or simulations.

Figure 385: Logic Keywords – START_BADI/END_BADI

Custom logic inside a BADI (Business Add-In) is a very effective way to handlevery specific use cases that would not be covered by the standard producteffectively.

Note: ABAP stands for Advanced Business Application Programming.

2010 © 2010 SAP AG. All rights reserved. 325

Unit 4: Working with Logic BPC420

Figure 386: Create Custom Logic for Input Schedule

The upper slide gives a schematic view to the steps necessary for BADI integrationif you want to execute the BADI calculation while saving data.

Figure 387: Create Custom Logic for Data Package

The upper slide gives a schematic view to the steps necessary for BADI integrationif you want to execute the BADI calculation centrally using a Data ManagementPackage.

326 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and ABAP Integration

Figure 388: New Transformation File Start Routine and End Routine for BAdI

Create a BAdI implementation for UJD_ROUTINE as follows:

• The BAdI implementation is done in transaction SE18 in BW

• Enter the filter of the BAdI. The filter is used in the transformation file tocall the BAdI

• Create the transformation logic using ABAP Objects. Working with aninclude would be preferable

•Note: All BAdI implementations cannot be executed, if one is notactive

Create a transformation file in SAP BusinessObjects Planning and Consolidation.

• Enter the BAdI filter value in the *OPTIONS section

START_ROUTINE=<BADI_FILTER1>

END_ROUTEINE=<BADI_FILTER2>

Define a Data Manager Package using the transformation file

Run the Data Manager Package

Further notes:

Process type 0-1: Start

Process type 0-2: Modify

Process type 1: Reader transaction data

Process type 2: Convert

Logic:

BADI_start_routine

Transformation including conversion

BADI_end_routine

Process type 3: Writer

2010 © 2010 SAP AG. All rights reserved. 327

Unit 4: Working with Logic BPC420

Call BADI_retractor

Process type 4: Clear SAP BusinessObjects Planning and Consolidation Temptable

Figure 389: Business Example Transformation File with Start/End Routines

This business example shows a transformation file using new *OPTIONSkeywords for START_ROUTINE and END_ROUTINE.

The filter name is defined in the BW system within the BAdI implementation.

328 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Script Logic and ABAP Integration

Lesson Summary

You should now be able to:• Understand the integration between the Script Logic Editor and ABAP• How to work with Start Routines within transformation files using ABAP

2010 © 2010 SAP AG. All rights reserved. 329

Unit 4: Working with Logic BPC420

Lesson: Dimension Member Formulas

Lesson OverviewIn this lesson we will identify how and when to use dimension logic.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand the concept and set up of Dimension Member Formulas

Business ExampleThe Project Team wants to be informed about Calculations on the Fly.

Figure 390: Overview of Dimension Member Formulas

Dimension Logic will have a negative impact on retrieval times when system is inuse by multiple users!

Don't get fooled by the development environment performance.

The list of supported MDX functions is available from function moduleBAPI_MDPROVIDER_GET_FUNCTIONS.

For more information on MDX language, in general, visit the MicrosoftDeveloper Network site located at URL http://msdn.microsoft.com/en-us/library/ms145506.aspx

330 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 391: Prerequisite to Using Dimension Member Formulas 1/2

Suggest the Formula length be defined as 255 characters or greater.

Higher lengths are fine because any property with length greater than 60 is storedas a string in SAP NetWeaver BW.

Microsoft Excel 2003 (and subsequent releases) limits the length of cell contents(text) equal to 32,767 characters. Only 1,024 display in a cell; but all 32,767display in the formula bar.

Earlier versions of Excel may have had a substantially lower limit for the numberof characters in the length of cell contents. This was said to have been an issuefor long formulas at some customers.

2010 © 2010 SAP AG. All rights reserved. 331

Unit 4: Working with Logic BPC420

Figure 392: Prerequisite to Using Dimension Member Formulas 2/2

In order to use formulas in an Application Set it́s necessary to maintain one specialdimension member for the Dimensions of Type R (Rate Type).This member has to be called LC with description Local Currency. The propertyCURRENCYTYPE is required by all CURRENCY type dimensions.

Figure 393: Maintaining Dimension Member Formulas

You assign dimension formulas in the Formula column of the dimension membersheet.

The formulas can either be self-created or taken from a library.

332 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Growth(%ACCOUNT%) – compare screenshot – is a library dimension formula.It calculates account growth rate. This result is used in sales growth, expensegrowth, and other functions.

Library dimension formulas are explained later.

Figure 394: Syntax of Dimension Member Formulas

The syntax for dimension member formulas requires a square bracket around thedimension and the member and separated by a period.

The only exception is with the account dimension, where only the dimensionmember is needed.

Standard arithmetic functions are available, such as addition (+), subtraction (-),multiplication (*) and division (/), as are the MDX keywords supported by SAPNetWeaver BW.

New with SAP Business Planning and Consolidation, upper and lower caseletter sensitivity becomes important for dimensions and dimension members, sobe careful in your formulas!

After saving your dimension members to the server, you should process thedimension. This step will validate the syntax of the formulas.

2010 © 2010 SAP AG. All rights reserved. 333

Unit 4: Working with Logic BPC420

Figure 395: Solve Order and Formula Collision 1/2

Solve Order determines the order in which dimensions, members, calculatedmembers, custom rollups, and calculated cells are evaluated, and the order inwhich they are calculated. Zero is the highest priority.

The SAP Business Planning and Consolidation default Solve_Order is equal to 3for measures and 5 for members.

• Solve Order is similar to some reporting systems “Formula Collision” settingwhen there are formulas in both the rows and columns of a report.

• Solve Order determines the order in which dimensions, members, calculatedmembers, custom rollups, and calculated cells are evaluated, and the order inwhich they are calculated.

• Zero is the highest priority.

334 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 396: Solve Order and Formula Collision 2/2

The upper slide shows the effects of solve order if the order is converted comparedto the example from the last slide.

Figure 397: The Library File

You can type MDX syntax expressions directly into the Formula cell for eachmember, or you can reference MDX functions from a library file.

A library file is used to store multiple formulas that are referenced by dimensionformulas.

This makes maintenance of formulas used in multiple dimensions easier becausethey are stored in one file.

2010 © 2010 SAP AG. All rights reserved. 335

Unit 4: Working with Logic BPC420

SAP Business Planning and Consolidation is shipped with many useful MDXfunctions that help standardize your calculated members.

Figure 398: Mdxlib.lgf Example

You can view the library file contents from the Systemlibrary directory using theFile Service (transaction UJFS) in SAP NetWeaver BW.

The following standard functions are available in SAP Business Planning andConsolidation:

• Basic Financial Formulas – Account Average and Growth Rate.• Liquidity Analysis Ratios – Current Ratio, Quick Ratio, Networking

Capital Ratio.

336 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 399: Assigning the Library File into the Account Member Sheet

You can include library files on the Options sheet of the account dimension usingthe *syslib command.

You then have a reference for building your own formulas.

ApShell includes the system functions in file Mdxlib.lgf.

Figure 400: Benefits of Dimension Member Formulas

Benefits related to dimension member formulas include:

• Speed – just like Excel formulas in worksheets, formulas defined in adimension are usually calculated fast.

• Consistency – the same logic is applied to a given member in any applicationwhich uses the dimension.

2010 © 2010 SAP AG. All rights reserved. 337

Unit 4: Working with Logic BPC420

Considerations:

• Formulas in a dimension are not flexible because they apply to levels in thedimension and in all applications using the dimension.

• If you want to apply a formula only to base level members or want a formulato be used in only one application you should use Script Logic.

• Consideration must be given to the impact of any dimension formulas to allapplications sharing this dimension or all member combinations within anapplication.

• These formulas can affect retrieval performance if not used properly.

338 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Exercise 3: Logic

Exercise ObjectivesAfter completing this exercise, you will be able to:• Do basic script logic programming.

Business ExampleUsing formulas is a very important feature in any planning solution. Script logicoffers quite a few options that you can use in planning scenarios.

Task 1: Calculation of Revenue, Net Revenue, COGS,and Contribution Margin I using MDX.Here are some of the calculations we will perform in this lab:Revenue = Quantity* Price; Net Revenue - Revenue - Discount; Var COGS = Var Cost * Quantity;Contribution margin = Revenue - COGS

1. Create a script logic file and test it in Excel in the D_PLAN## Application.We need to calculate revenue from quantity and price.

2. In case you need to debug your script logic, you can use the script logic testprogram on the BW Server. Use the shortcut 'UJKT' to access the scriptdebugger. Try the validate and execute (simulate) options. If you enterincorrect code such as removing the '*' from a line, what happens?

3. Let's do some more testing on the logic 1 file.

Task 2: Introduction of Script Logic Commands:Online ExecutionIn this task we have a variety of script logic scenarios to test.

1. Let's use the script logic 'when' statement. Take the value for kpi1, multiplyit by 2 and book the result to kpi5.

2. Let's use the script logic 'when' statement for multiple source members.

3. Optional: Let's use the script logic 'when' statement for a property value.

4. Let's use the script logic expression with a local variable.

5. Optional: Let's use the script logic expression to calculate a ratio.

6. Let's use the XDIM_MEMBERSET for more robust processing.

7. Optional: We need to copy Jan's values to February but with a 10% markup.

8. We need to do the above plus add jan and feb for kpi1 and book it to kpi1 inmarch for another category.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 339

Unit 4: Working with Logic BPC420

9. Now we need to do the same as before except we want to write to 5 kpi'sat once.

10. Optional: Now we need to do the same as before except we want to write tomultiple months at once by using two record statements in the same commit.

11. Optional: Now we need to use a filter in the code so that only members withspecific property values are written to.

12. Create a variable for the *SELECT statement that can be used anywherein the logic.

13. Create a variable for the *SELECT statement that can be used anywherein the logic.

14. Optional: KPI1 to KPI4 shall be summed up and the sum shall automaticallybe written to KIP5.

15. Optional: With the help of the next logic we want to calculate Revenuein a user-defined function/formula.

16. We want to create an Include called “Function_Definition” which is aplaceholder that will allow us to simplify our code by referring to scriptin a separate file.

17. Copy data from 2011.Jan to 2012.Jan by using the TMVL function and do arevaluation of 10% at the same time.

18. Now you want to accumulate/sum up the data from January and Februaryusing the TMVL function. The sum shall be written to February. This shallbe done for KPI1 to KPI5 in parallel.

19. Optional: The same thing is possible to sum up the January and Februaryvalue and to write this value into March of 2011.

20. Optional: Here is a simplification of the coding when you want to add twomonths, for example January and February and you want to write the sum toFebruary. Since you don't explicitly mention the destination month the samemonth is taken that was given in the *IS statement.

21. Optional: We are now going to plan for three months: Jan to Mar and thenwe want to sum up the Jan + Feb value to Feb and then to take this resultfrom Feb and add the Mar value and write this sum to Mar.The coding is interesting because with TMVL it́s possible to use sub results(FEB) which are calculated in the buffer (temporary memory) for the nextbuffer calculation (MAR).

Idea:plan JAN, FEB, MAR manuallyJan + FEB = FEBFEB + MAR = MAR

Continued on next page

340 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

22. Optional: Now we want to include variables into the coding.%DIMNAME_SET% is a variable which inherits the dimension memberfrom the current view.

This variable can be included not only in the X_DIM Membersetcommand but anywhere in the coding.SET is a special logic keyword here!

Task 3: Cross Application LogicObjective: Nowwe want to get familiar with LOOKUP and DESTINATION_APPwhich allow an integration between two applications.

Description: Lookup and Destination_App are appropriate for multi-applicationscripting.Destination_App writes record from the source cube.Lookup is only for reading values and Lookup is positioned in the application thatwants to read a value from another Infocube.It́s also possible to read values from the same application.

1. We are going to build up an integration between the Planning Applicationfor and the D_PLAN## Application.

2. Now we want to input a value into the PLANNING application and read it inthe D_PLAN## application. Our scenario is as follows: We plan valuesfor the Planning Application in February for the CE0004510 accountand this value is needed for the calculation of KPI1*Value of CE0004510= KPI5 in February in the D_PLAN## application.

3. We need to reference data in PLANNING again. In application D_PLAN##we now want to calculate (KPI1*Value of the 1st account + KPI2*VALUEof the second account +KPI3*Value of the 3rd account + KPI4*Value of the4th account) = KPI5 whereby we refer to Values of the 4 accounts from theplanning application.

Task 4: Planner Execution of Script LogicObjective: With the help of this lab we want to show how to configure a centralexecution of Script Logic.

Description: Now we want to execute the script logic via a data manager package.This will allow the planner to do the calculation when they are ready.

1. Since we no longer want logic to run as data is sent the application, we needto turn off the default logic by inserting '//' in front of the code.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 341

Unit 4: Working with Logic BPC420

2. Create a new package which allows you to enter the desired Script Logic.You can use another package as a template.

Note: It́s not necessary to create a process chain! You can use eachof the following packages as template for your centrally executedscript logic:

• The default formula packages which is specifically designedfor pure Script Logic execution.

• Table Driven Logic packages such as ICDATA, US_ELIM,CONSOLIDATION and CURRENCY CONVERSION areable to run your logic scripts too.

Task 5: Execute a Script Logic from an Excel buttonObjective: An end user often wants to execute a script logic with the click of abutton. We want to show how to configure this.

Description: Using a Package and linking it to a BO PC macro allows the enduser to execute script logic per an Excel button.

1. A few Excel related activities are necessary to allow the creation of a anExcel button. Some Security related activities are also necessary.

2. In the account trend input schedule, insert a button in cell O45 Use thiscurrent view:

APPLICATION D_PLAN##

CATEGORY FORECAST

ENTITY STORE17

INPUTCURRENCY EUR

PRODUCT DOGDRYPUPPY

P_ACCT KPI_NODE

TIME 2011.TOTAL

MEASURES PERIODIC

3. Now we want the button to execute a specific package instead of lettingthe user pick one.

Continued on next page

342 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Task 6: AllocationsObjective: The goal is to show how the allocation function works and how itcan be installed.

Description: You have some data on a sender entity and you want to distributethis data to 2 receivers. As distribution key use the square meters of both receivers.

1. Navigate to the Admin Console and define some new members for severaldimensions.Create the following members for dimension ENTITY and then ProcessDimension de-selecting “Take System Offline ” and processing “membersfrom sheet”

ID EVDE-SCRIP-TION

PAR-ENTH1

CUR-RENCY

OWNER

SENDER SENDERFOR AL-LOCA-TION

NODE_SENDEREUR ADTWD-FVM2001\CPM-##

RE-CEIVER_1

RE-CEIVERNO 1 FORALLO-CATION

NODE_RE-CEIVER

EUR ADTWD-FVM2001\CPM-##

RE-CEIVER_2

RE-CEIVERNO 2 FORALLO-CATION

NODE_RE-CEIVER

EUR ADTWD-FVM2001\CPM-##

NODE_SENDERNODESENDERFOR AL-LOCA-TION

NODE_AL-LOCA-TION

EUR ADTWD-FVM2001\CPM-##

NODE_RE-CEIVER

NODERE-CEIVERFOR AL-LOCA-TION

NODE_AL-LOCA-TION

EUR ADTWD-FVM2001\CPM-##

NODE_AL-LOCATION

NODEALLO-CATION

EUR ADTWD-FVM2001\CPM-##

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 343

Unit 4: Working with Logic BPC420

2. Now select the D_PLAN## application and open its “Script Logic” node.There should be an existing file called ALLOCATION.LGF. If not, createa new one with the same name and open it. Copy the code from theallocation.txt file in your logic folder on the hard drive.

Validate and Save and afterwards.

Note: Since the allocation shall be executed by a user you willlater use a data management package for it and won't refer to theallocation logic file in the Default Script Logic.

3. Goto the Interface for Excel for your application set STUDENT_## andyour application D_PLAN##.First make sure that all new members are available by refreshing thedimension members. If the members still do not show up, try the ConnectionWizard and if that does not work shut excel down via the task manager andlaunch it again.

Change the current view settings so that they match the following:

Dimension Member

Application D_PLAN##

CATEGORY FORECAST

ENTITY NODE_ALLOCATION

PRODUCT NONE

P_ACCT ALLOCATION_NODE

RPTCURRENCY EUR

TIME 2011.001

MEASURES PERIODIC

4. Open the delivered input template Nested Rows, open the control panel anduse the membersets as shown below, then send the values as shown.

Save your input schedule as INPUT_SCHEDULE_ALLOCATION.XLT.

Figure 401: Control Panel

Continued on next page

344 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 402: Allocation input schedule

5. To execute the allocation we have to add the data management package forallocation into your STUDENT_## package group. In the Excel Interface,goto 'organize package list' and add a new package called PACKAGE TOEXECUTE ALLOCATIONS and link it to the allocation process chain.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 345

Unit 4: Working with Logic BPC420

Modify the dynamic script by copying the code from the 'allocationparameter.txt' file in your logic file on the G drive.

Note: In the last coding line you can see the script logicAllocation.LGF is hard coded.

Note: We need to use Allocation_Logic_WDT since in therelevant process chain /CPMB/Allocation the 'Run Logic' ProcessType has the technical name Allocation_Logic_WDT and not“Allocation_Logic”. We have provided the process chain and typethe next two screenshots for you to see (you do not need to go thereyourself):

Figure 403: Process chain in BW (RSPC)

Figure 404: Process type parameters

Continued on next page

346 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

6. Run a package and select your new allocation package. Run it for thefollowing members:

Dimension Member

CATEGORY FORECAST

ENTITY ALL

PRODUCT NONE

P_ACCT ALL

RPTCURRENCY EUR

TIME 2011.001

Note: The Allocation should be run monthly!

7. Now the sender value has to be set to zero! Navigate to your allocationscript logic coding and enhance it as follows: after *ENDALLOCATIONand before *COMMIT, enter:

*WHEN ENTITY

*IS SENDER

*REC(EXPRESSION=0,P_ACCT=ORIGINAL_ACCOUNT)

*ENDWHEN

Select Validate and Save afterwards.Re-execute your Allocation package.

Note: You don't have to enter new data before re-executing yourpacking since in the Allocation coding we used the X_DIMMEMBERSET command for Entity and consequently this commandrefers to all data not only to delta values saved after the last executionof the Management Package.

Go back to your Input Schedule in BPC for Excel and press the “RefreshWorkbook” Button to see the results.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 347

Unit 4: Working with Logic BPC420

Task 7: Prompts in Data Manager PackagesObjective: During execution of a Data Manager package in a revaluation scenarioa User shall be asked to fill in the prompted value as a user selection. This will addflexibility and could be used for 'what if' scenarios.

Description: We want to show how to integrate these variables and then how toadapt the dynamic script logic with which you design your package popup.

Business scenario: We want to increase the data for KPI1 to KPI5 by xpercent whereby the percentage is given by the end user.

Let's use script logic and a custom package to prompt the user for revaluation %'s.

1. First add the Logic_33 logic file into your D_PLAN## application. Onlysave the file do not validate it (there is an issue on prompts at the moment,but saving it will be sufficient) Do not reference in the default logic file.

Note: This the relevant SAP Note 1334695.

In the Excel interface, change your current view as follows:

Figure 405: Current view

Enter 100 for each kpi in 2011.001.

2. To execute the package with prompts, we have to add the data managementpackage for prompts into your STUDENT_## package group. In theExcel Interface, goto 'organize package list' and add a new package calledPACKAGE TO EXECUTE PROMPTS and link it to the ICDATA processchain.

Modify the dynamic script by copying the code from the 'DYN SCRIPTPACKAGE PROMPTS.txt' file in your logic file on the G drive.

3. In edata: Run a package and select your new package with prompts. Use amarkup of 10 for kpi1, 20 for kpi2 etc. Confirm your results in the workbook.Run it for the following members:

Continued on next page

348 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Dimension Member

CATEGORY FORECAST

ENTITY STORE17

PRODUCT DOGDRY PUPPY

P_ACCT ALL

RPTCURRENCY EUR

TIME 2011.001

Task 8: Optional: Create a BADI and call via ScriptLogicCreate a business add in and call it via a script logic file and have it execute on areal time basis by including it in the default logic file.

We now want to show how to calculate a value using ABAP instead of ScriptLogic.

Since many developers are not familiar with Script Logic Coding we want to showhow they can refer to an ABAP program from a Script Logic Editor.

1. Create a business add in from the BW Application Server.

2. Create a logic file to call the BADI in D_PLAN##.

3. In the interface for excel in D_PLAN##, send in data to confirm the abapcalculation.

Task 9: Optional: Using a Start Routine in a DataImportCreate a business add in and call it via a script logic file and have it executeduring a data import.

Here we want to work with a start routine which will check if the Amount forKPI1 is bigger than 2000 or not. If this condition is fulfilled the system shall sendan error message and not load the relevant transaction data.

1. Create a business add in from the BW Application Server.

2. In the interface for excel for PLANNING, simulate a data import to confirmthe abap if statement.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 349

Unit 4: Working with Logic BPC420

Task 10: Optional: Dimension Logic and Solve OrderObjective: Using Dimension Formulas and the Solve Order Feature to showDimension Formulas work and how the order of dimension formulas can beinfluenced.

Description: Working with Dimension Formulas and Solve Order will allow youto execute formulas on the fly as data is refreshed. The results are not stored inthe database.

Return to the Admin Console..

We now want to install two Dimension Formulas, one for an Account and onefor a Product. Since both Formulas can collide if they are included in a reportwe have to decide in which order the formulas should be executed.Case #1: ACCOUNT3 shall be calculated before PRODUCT3

Note: Account3 will be calculated as a ratio of 1 and 2 and representsan account like gross margin %. Product3 will be the sum of 1 and 2and therefore represents a 'group'.

1. Add a new P_ACCT formula.

Now go back to the P_ACCT member sheet via 'maintain dimensionmembers' and fill in the Property Formula for member Account 3 as yousee below:IIF([P_ACCT].[ACCOUNT2]=0,NULL,[P_ACCT].[AC-COUNT1]/[P_ACCT].[ACCOUNT2]);SOLVE_ORDER=1

Select Process Dimension ok and then ok.

What does this formula do: If account2 is zero, don't do anything (since wedon't want to divide by zero), otherwise divide account by account2. and ifthere is a formula collision use a solve order tie breaker value of 1. (Lowervalues calculate first.)

Select the product dimension and 'maintain dimension property'. Nowinput the FORMULA property with a length of 500 and selectModifyDimension Property afterwards.

Now go back to the PRODUCT member sheet and fill in the PropertyFormula for member PRODUCT3 as given below:[PRODUCT].[PRODUCT1]+[PRODUCT].[PRODUCT2];SOLVE_OR-DER=100

Select 'Process Dimension' ok → ok.

Select the appset and then 'set application set status' on the right to available,then 'update application set status'.

Continued on next page

350 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Now move to the“ Interface for Excel” and select the D_PLAN##application.

Then select Planning & Consolidation → eTools → Refresh DimensionMembers.

Set the Current View as follows:

Dimension Member

ENTITY STORE 17

CATEGORY FORECAST

MEASURES PERIODIC

TIME 2011.001

P_ACCT TOTAL

INPUTCURRENCY LC

PRODUCT CON_PET_TYPE

Via 'data input', create an Input Schedule based on the Account-Trendtemplate.

Open the Control Panel using the “+” signs in the left corner and configureas follows:

Figure 406: Dim logic control panel

Save your four data records as shown below: SEND DATA → Send activeworksheet in the Action Pane. If you get any information concerning howmany record are saved, confirm with YES.

You should get the following results: .

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 351

Unit 4: Working with Logic BPC420

Figure 407: Results Product Last

Leave BPC for Excel open.

2. Case 2: PRODUCT3 shall be calculated before ACCOUNT3

We will reach this goal by just changing the solve order number inboth formulas.

In the Admin Console goto 'Maintain Dimension Members' for the P_ACCTDimension and for the Product Dimension.For ACCOUNT3 change the formula to SOLVE_ORDER=100. SelectSave to Server.For PRODUCT3 change the formula to SOLVE_ORDER=1. Select Saveto Server.Now select Process Dimension for the P_ACCT and PRODUCTDimension. Don't forget to de-select “Take the system offline and to Processfrom Member Sheet”.

Return to the Interface for Excel .

After that click on Refresh Workbook and you should see:.

Continued on next page

352 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 408: Results Account Formula is Last

Here you can see that PRODUCT3 is now calculated before ACCOUNT3according to the new solve order. Close your Excel Sheet and the Interfacefor Excel.

2010 © 2010 SAP AG. All rights reserved. 353

Unit 4: Working with Logic BPC420

Solution 3: LogicTask 1: Calculation of Revenue, Net Revenue, COGS,and Contribution Margin I using MDX.Here are some of the calculations we will perform in this lab:Revenue = Quantity* Price; Net Revenue - Revenue - Discount; Var COGS = Var Cost * Quantity;Contribution margin = Revenue - COGS

1. Create a script logic file and test it in Excel in the D_PLAN## Application.We need to calculate revenue from quantity and price.

a) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_1 → Ok→ Enter the code as shown below:

Figure 409: Logic 1 Script

b) Validate and Save → Ok.

c) Add the logic file to the default logic file: Select the default logic file →Enter: *INCLUDE LOGIC_1.LGF → Validate and save → Ok.

d) Set your current view: Goto the Interface for Excel → Set the followingcurrent view:

APPLICATION D_PLAN##

CATEGORY FORECAST

ENTITY STORE17

INPUTCURRENCY EUR

PRODUCT DOGDRYPUPPY

P_ACCT TOP_PER_UNIT

TIME 2011.001

MEASURES PERIODIC

Continued on next page

354 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

e) Open the provided Logic input schedule: In the Interface for Excel forD_PLAN## → Select the office button on the upper left → Open → Mycomputer → G drive → BPC 7.5 → BPC420→ BPC420-##→ Logicfolder→ Logic → Open → Planning & Consolidation → Expand all:

Figure 410: Logic report

f) Test the logic in the Excel Interface: Enter 100 for price → Send data:

Figure 411: Logic 1 result

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 355

Unit 4: Working with Logic BPC420

g) Save your input schedule on the server: eTools → Save dynamictemplates → Company →Input Schedules → BPC420 → Enter:'LOGIC' → Save.

2. In case you need to debug your script logic, you can use the script logic testprogram on the BW Server. Use the shortcut 'UJKT' to access the scriptdebugger. Try the validate and execute (simulate) options. If you enterincorrect code such as removing the '*' from a line, what happens?

a) Log on to BWFrom your remote computer → Start → Programs → SAP frontend→ SAP Logon → Log on → User: cpm-## → Password: 'training'→ Enter:

Figure 412: BW Application Server - main menu

b) Go to the Script Debugger:→ Enter UJKT in the white 'command field' on the upper left → Enter→ Select your student_## appset, d_plan## application, and CPM-##user id → Copy the logic from the Logic_1 file → Paste the code inthe lower left → Select Validate:

Continued on next page

356 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 413: Logic validated

When you 'Validate', the compiled code will appear on the lower right.

Caution: If you are an ABAPer and you are interested in howto launch the ABAP debugger Enter '/H' in the command field→ Enter → Select the 'Execute' icon → You should now be inthe ABAP Debugger Control screen.

c) Let's try running the script in simulate mode: Enter the data regionas shown below:

Figure 414: Logic data region

d) Select 'execute (simulate)' → Look at the log on the lower right:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 357

Unit 4: Working with Logic BPC420

Figure 415: Simulation log

3. Let's do some more testing on the logic 1 file.

a) Go back to the admin console: Enter the rest of the code as shownbelow → Validate and save → Ok.

Continued on next page

358 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 416: Logic 1 revised

b) Test the logic in the Excel Interface: Enter a discount of 2 and var cogsof 50 → Send data → You will notice that contribution margin did notcalculate because no value for var cogs was in the database:

Figure 417: Revised result - no CM

c) To make our code more 'dynamic', let's add a commit statement for varcogs and we should do the same for revenue since that is also beingusing as a source of the calculations: In the admin console → SelectLogic_1 → Add the two commit statements as shown:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 359

Unit 4: Working with Logic BPC420

Figure 418: Logic 1 with commits

d) In Excel → Enter 0 for cogs per unit → Send data → Enter 50 again→ Send data → That's better:

Figure 419: Result with commits and CM

e) Save this template: eTools → Save dynamic template → Company →Input Schedules → Enter: LOGIC1 → Save.

Continued on next page

360 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Task 2: Introduction of Script Logic Commands:Online ExecutionIn this task we have a variety of script logic scenarios to test.

1. Let's use the script logic 'when' statement. Take the value for kpi1, multiplyit by 2 and book the result to kpi5.

a) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_2 → OK→ Enter the code as shown below:

Figure 420: Logic 2 script

b) Validate and Save → Ok.

c) Add the logic file to the default logic file: Select the default logic file →Enter: *INCLUDE LOGIC_2.LGF → Validate and save → Ok.

d) Refresh your dimensions and set your current view: Goto the Interfacefor Excel → eTools → Refresh dimension members → Set the followingcurrent view:

APPLICATION D_PLAN##

CATEGORY FLASH

ENTITY STORE17

INPUTCURRENCY EUR

PRODUCT DOGDRYPUPPY

P_ACCT KPI_NODE

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 361

Unit 4: Working with Logic BPC420

TIME 2011.001

MEASURES PERIODIC

e) Change the Logic input template: Open the column group in column Hfor the logic template → In F52 → Enter BAS,SELF → Expand all →Clear input → OK → Enter 100 in kpi1 → Send data:

Figure 421: Logic 2 report

f) Input zero for your base level members 1 & 5 → Send data.

g) Save this template: eTools → Save dynamic template → Company →Input Schedules → BPC420 → INPUT SCHEDULE TEST SCRIPTLOGIC → Save.

2. Let's use the script logic 'when' statement for multiple source members.

a) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_3 → OK→ Enter the code as shown below:

This logic will add kpi1 and 2 multiply the sum by 1.5 and book itto kpi5.

Continued on next page

362 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 422: Logic 3 script

b) Validate and Save → Ok.

c) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_3.LGF → Validate and save → Ok.

d) Enter 100 for kpi1 and kpi2 → Send data:

Figure 423: Logic 3 report

e) Input zero for your base level members → Send data.

3. Optional: Let's use the script logic 'when' statement for a property value.

a) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_4 → ok →Enter the code as shown below:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 363

Unit 4: Working with Logic BPC420

This logic will add the values for accounts with the SELECTIONproperty value of 'B', multiply the sum by 3 and book it to kpi5.

Figure 424: Logic 4 script

b) Validate and Save → Ok.

c) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_4.LGF → Validate and save → Ok.

d) Enter 100 for kpi1 200 for kpi2 and 300 for kpi3 → Send data:

Continued on next page

364 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 425: Logic 4 report

Note: KPI1-4 all have a 'selection' property value of 'B'.

e) Input zero for your base level members → Send data.

4. Let's use the script logic expression with a local variable.

a) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_5 → Ok→ Enter the code as shown below:

Figure 426: Logic 5 script

This code will sum the values for accounts with the 'B' property into thelocal variable multiply it by 3 and book it to kpi5.

b) Validate and Save → Ok.

c) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_5.LGF → Validate and save → Ok.

Note: Expressions are used in more complex scenarios.%VALUE% is a local variable and it is used to temporarilystore results. Local variables can be called multiple times inone file.

d) Enter 100 for kpi1-4 → Send data:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 365

Unit 4: Working with Logic BPC420

Figure 427: Logic 5 report

e) Input zero for your base level members → Send data.

Continued on next page

366 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

5. Optional: Let's use the script logic expression to calculate a ratio.

a) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_6 → Ok→ Enter the code as shown below:

This code will sum the values for accounts with the 'B' property into thelocal variable divide it by the kpi1 value and book the result to kpi5.

Figure 428: Logic 6 script

b) Validate and Save → Ok.

c) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_6.LGF → Validate and save → Ok.

d) Enter 100 for kpi1-4 → Send data:

Figure 429: Logic 6 report

e) Input zero for your base level members → Send data.

6. Let's use the XDIM_MEMBERSET for more robust processing.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 367

Unit 4: Working with Logic BPC420

a) Let's go back to Logic_3, that logic only performs calculations ondata changes, let's prove that out: In the default logic file → Enter:*INCLUDE LOGIC_3.LGF → Validate and save → Ok.

b) In Excel: Enter 100 for kpi1-2 → Send data → Enter 10 for kpi1 →Send data → Do you see the issue:

Figure 430: Logic 3 issue

c) Create a new logic file with XDIM_MEMBERSET keyword: In theadmin console → Open the D_PLAN## Application → Script Logic→ Create new logic → LOGIC_7 → Ok → Enter the code as shownbelow:

Continued on next page

368 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 431: Logic 7 script

Note: XDIM_MEMBERSET reads all data into memorywhether it has changed or not.

d) Validate and Save → Ok.

e) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_7.LGF → Validate and save → Ok.

f) Enter 110 for kpi1 and 100 for kpi2 → Send data → That's better!

Figure 432: Logic 7 report

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 369

Unit 4: Working with Logic BPC420

g) Input zero for your base level members → Send data.

7. Optional: We need to copy Jan's values to February but with a 10% markup.

a) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_8 → Ok→ Enter the code as shown below:

Figure 433: Logic 8 script

Note: This code will read values for Jan 2011 for category'flash', multiply it by 1.1 and book it to 2011.002.

b) Validate and Save → Ok.

c) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_8.LGF → Validate and save → Ok.

d) Change the current view to 2011.Q1.

e) Enter 100 for kpi1-5 for Jan → Send data:

Continued on next page

370 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 434: Logic 8 report

f) Input zero for your base level members → Send data.

8. We need to do the above plus add jan and feb for kpi1 and book it to kpi1 inmarch for another category.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_9 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_9 → Ok→ Enter the code as shown below:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 371

Unit 4: Working with Logic BPC420

Figure 435: Logic 9 script

Note: This code will read values for Jan 2011 for category'flash', multiply it by 1.1 and book it to 2011.002. Then it willadd the 'flash' values of kpi1 for jan and kpi2 for feb and bookthe sum to mar for kpi1 in the 'actbud' category.

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_9.LGF → Validate and save → Ok.

e) Enter 100 for kpi1-5 for Jan → Send data:

Figure 436: Logic 9 report flash

f) Switch to ACTBUD category:

Figure 437: Logic 9 ACTBUD

Continued on next page

372 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

g) Input zero for your base level members → Send data → Set yourcurrent view to category: flash → Input zero for your base levelmembers → Send data.

9. Now we need to do the same as before except we want to write to 5 kpi'sat once.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_10 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_10 → Ok→ Paste the code as shown below:

Figure 438: Logic 10 script

Note: We had to create a *FOR loop repeat the calculationfor March in ACTBUD for all relevant members and *FORworks with a variable which was called %KPI% in this codingexample.*IS can't be accompanied by a variable!*IS * means that you operate on the entire selection havinga starting value together with *XDIM_MEMBERSETP_ACCT=KPI1.The *REC command is always accompanied by a *WHENstatement.

Note: This code will read values for Jan 2011 for category'flash', multiply it by 1.1 and book it to 2011.002. Then it willadd the 'flash' values of each kpi for jan plus feb and book thesum to mar for kpi1-5 in the 'actbud' category.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 373

Unit 4: Working with Logic BPC420

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_10.LGF → Validate and save → Ok.

e) Enter 100 for kpi1-5 for Jan → Send data:

Figure 439: Logic 10 report flash

f) Switch to ACTBUD category:

Figure 440: Logic 10 Report ACTBUD

Note: If you validate the code in UJKT, the compiled logiclooks like this:

Continued on next page

374 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 441: Logic 10 compiled code

g) Set your current view to category: flash → Input zero for your baselevel members → Send data.

10. Optional: Now we need to do the same as before except we want to write tomultiple months at once by using two record statements in the same commit.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_11 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_11 → Ok→ Paste the code as shown below:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 375

Unit 4: Working with Logic BPC420

Figure 442: Logic 11 script

Note: This code will read values for Jan 2011 for category'flash', multiply it by 1.1 and book it to 2011.002. Then it willadd the 'flash' values of each kpi for jan plus feb and book thesum to mar and apr for kpi1-5 in the 'actbud' category.

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_11.LGF → Validate and save → Ok.

e) Enter 100, 200, 300, 400, 500 for kpi1-5 for Jan → Send data:

Continued on next page

376 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 443: Logic 11 report flash

f) Switch to ACTBUD category and 2011.TOTAL:

Figure 444: Logic 11 ACTBUD

g) Set your current view to category: flash → Input zero for your baselevel members → Send data.

11. Optional: Now we need to use a filter in the code so that only members withspecific property values are written to.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 377

Unit 4: Working with Logic BPC420

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_12 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_12 → Ok→ Paste the code as shown below:

Figure 445: Logic 12 script

In the next script logic we want the following: Remember the masterdata maintenance for the 5 KPIs. We had selected “C” for KPI5and Property “SELECTION”.Now we want to refer to this Property and although we plandata for all 5 KPIs in January we filter the data before the logicis executed so that the logic shall only be executed when therelevant KPIs carry property B! We do this working with theXDIM_FILTER statement which only returns base members andthus filters the source data using Properties. .

*XDIM_MEMBERSET doesńt allow Properties.

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_12.LGF → Validate and save → Ok.

e) Enter 100 for kpi1-5 for Jan → Send data:

Continued on next page

378 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 446: Logic 12 report flash

f) Input zero for your base level members → Send data

12. Create a variable for the *SELECT statement that can be used anywherein the logic.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_13 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_13 → Ok→ Paste the code as shown below:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 379

Unit 4: Working with Logic BPC420

Figure 447: Logic 13 script

Note: *XDIM_MEMBERSET doesńt allowProperties.*SELECT is a second possibility to refer toproperties needed in connection with the XDIM_MEMBERSETstatement.

*XDIM_MEMBERSET doesńt allow Properties.*XDIM_FILTER is one possibility to reference propertieswithin the scope.

Further ideas to our business logic: We plan 100,200,300 andso on in January for all 5 KPIs and only for the KPÍs withthe property “Selection” = “B” the values shall be multipliedwith 1.1 and written into February. Then the sum of Januaryand February is written into March but for ACTBUD. To getthe correct KPÍs we in general define how to find a list of IDsusing the property SELECTION with B. This list found by thesystem by our *SELECT coding line and is saved in a userdefined variable called %SELVAR%. In our case we refer inthe *FOR statement to this list of variables.

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_13.LGF → Validate and save → Ok.

e) Enter 100,200,300,400,500 for kpi1-5 for Jan → Send data → Checkyour values → Switch to 'actbud → Ok?

Continued on next page

380 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 448: Logic 13 report

f) Switch your current view to FLASH → Input zero for your base levelmembers → Send data.

13. Create a variable for the *SELECT statement that can be used anywherein the logic.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_14 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_14 → Ok→ Paste the code as shown below:

Figure 449: Logic 14 script

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 381

Unit 4: Working with Logic BPC420

KPI 5 has Property Selection = C and thus calculates for April whereasKPI1 to KPI4 have Selection = B and thus will calculate for March.

We now work with *SELECTCASE which is an alternative to theIIF MDX statements and expands as MDX IIF statements! IIFstatements perform an 'if then else' operation.*SELECTCASE is a shorter statement compared to IIF but bothproduce the same performance.Concerning performance the *WHEN/*ENDWHEN statement hasa better performance than *SELECTCASE or IIF.Our goal is to select accounts according to their Property“Selection”.If the Property Selection is 'B' then a calculation for March will bedone for the relevant accounts.If the Property Selection is 'C' then a calculation for April will bedone for the relevant accounts. .

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_14.LGF → Validate and save → Ok.

e) Enter 100 for kpi1-5 for Jan and Feb → Send data:

Figure 450: Logic 14 report

f) Input zero for your base level members → Send data

Note: If you validate the code in UJKT, the compiled logiclooks like this:

Continued on next page

382 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 451: Logic 14 compiled code

14. Optional: KPI1 to KPI4 shall be summed up and the sum shall automaticallybe written to KIP5.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_15 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_15 → Ok→ Paste the code as shown below:

Figure 452: Logic 15 script

c) Validate and Save → Ok.

We can do this with the *ADD/*ENDADD command which canonly use one formula and it must be a MDX formula.Working with *ADD has a better performance than working withthe appropriate MDX formula.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 383

Unit 4: Working with Logic BPC420

As a second step we want the sum of the members to be divided bythe value of KPI1.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_15.LGF → Validate and save → Ok.

e) Enter 100 for kpi1-4 for Jan → Send data:

Figure 453: Logic 15 report

f) Input zero for your base level members → Send data

Note: If you validate the code in UJKT, the compiled logiclooks like this:

Figure 454: Logic 15 compiled code

15. Optional: With the help of the next logic we want to calculate Revenuein a user-defined function/formula.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_16 → Open → Copy the code.

Continued on next page

384 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_16 → Ok→ Paste the code as shown below:

Figure 455: Logic 16 script

CE0002100 is revenue, CE0008000 is quantity, and CE0008500 isprice.

This function is referred to by a placeholder name and the functionplaceholder replaces a corresponding MDX formula. Doingso you can increase the readability of a statement and set theplaceholder/function wherever you want to which will decrease thenumber of coding lines

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_16.LGF → Validate and save → Ok.

e) Modify your input template: In the Interface for Excel → First, set yourcurrent view to 2011.Q1 → Open the column group in H → In F52 →Enter: CE0008000,CE0008500,CE0002100 → Expand all → Enter aquantity of 100 Jan to Mar and a price of 5 for Jan to Mar→ Send data:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 385

Unit 4: Working with Logic BPC420

Figure 456: Logic 16 report

Save your template: eTools → Save dynamic templates → Company→ Input schedules → INPUT SCHEDULE TEST SCRIPT LOGIC 2→ Save.

f) Input zero for your base level members → Send data

Note: If you validate the code in UJKT, the compiled logiclooks like this:

Figure 457: Logic 16 compiled code

16. We want to create an Include called “Function_Definition” which is aplaceholder that will allow us to simplify our code by referring to scriptin a separate file.

a) Create a new script file for the function: In the admin console → Openthe D_PLAN## Application → Script Logic → Create new logic →FUNCTION_DEFINITION → Enter code as shown below:

Continued on next page

386 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 458: Logic 17 function definition

b) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_17 → Open → Copy the code.

c) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_17 → Ok→ Paste the code as shown below:

Figure 459: Logic 17 script

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 387

Unit 4: Working with Logic BPC420

The 'function definition' file is referenced in logic 17 which keeps itmuch smaller. This concept is application specific.

d) Validate and Save → Ok.

e) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_17.LGF → Validate and save → Ok.

f) In the Interface for Excel → Enter a quantity of 100 Jan to Mar and aprice of 5 for Jan to Mar → Send data:

Figure 460: Logic 17 report

g) Input zero for your base level members → Send data

17. Copy data from 2011.Jan to 2012.Jan by using the TMVL function and do arevaluation of 10% at the same time.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_18 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_18 → Ok→ Paste the code as shown below:

Continued on next page

388 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 461: Logic 18 script

Note: This code is operating on the base level members of kpinode. The tmvl function is looking 16 periods ahead of jan2011 which will be jan 2012. Remember, our time dimensionhas 16 periods just like a lot of ECC customers.

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_18.LGF → Validate and save → Ok.

e) In the Interface for Excel → eTools → Open dynamic template→ Company → Input schedules → BPC420 → Open your INPUTSCHEDULE TEST SCRIPT LOGIC → Enter 100 for kpi1-5 for JAN →Send data → Switch to 2012.Q1:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 389

Unit 4: Working with Logic BPC420

Figure 462: Logic 18 report

f) Set your current view back to 2011.Q1 → Input zero for your baselevel members → Send data

18. Now you want to accumulate/sum up the data from January and Februaryusing the TMVL function. The sum shall be written to February. This shallbe done for KPI1 to KPI5 in parallel.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_19 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_19 → Ok→ Paste the code as shown below:

Continued on next page

390 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 463: Logic 19 script

Note: The tmvl(-1... is an offset for one month prior. By usingthe offset the code is adding the input values for jan and febtogether and writing the total to the database in feb.

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_19.LGF → Validate and save → Ok.

e) In the Interface for Excel → Enter 100 for kpi1-5 in Jan and 200 inFeb → Send data:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 391

Unit 4: Working with Logic BPC420

Figure 464: Logic 19 report

f) Input zero for your base level members → Send data

19. Optional: The same thing is possible to sum up the January and Februaryvalue and to write this value into March of 2011.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_20 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_20 → Ok→ Paste the code as shown below:

Figure 465: Logic 20 script

Note: The tmvl(+1... is an offset for one month in the future.By using the offset the code is adding the input values for janand feb together and writing the total to the database in mar.

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_20.LGF → Validate and save → Ok.

e) In the Interface for Excel → Enter 100 for kpi1-5 in Jan and 200 inFeb → Send data:

Continued on next page

392 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 466: Logic 20 report

f) Input zero for your base level members → Send data

20. Optional: Here is a simplification of the coding when you want to add twomonths, for example January and February and you want to write the sum toFebruary. Since you don't explicitly mention the destination month the samemonth is taken that was given in the *IS statement.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_21 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_21 → Ok→ Paste the code as shown below:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 393

Unit 4: Working with Logic BPC420

Figure 467: Logic 21 script

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_21.LGF → Validate and save → Ok.

e) In the Interface for Excel → Enter 100 for kpi1-5 in Jan and 200 inFeb → Send data:

Figure 468: Logic 21 report

f) Input zero for your base level members → Send data

21. Optional: We are now going to plan for three months: Jan to Mar and thenwe want to sum up the Jan + Feb value to Feb and then to take this resultfrom Feb and add the Mar value and write this sum to Mar.The coding is interesting because with TMVL it́s possible to use sub results(FEB) which are calculated in the buffer (temporary memory) for the nextbuffer calculation (MAR).

Idea:plan JAN, FEB, MAR manuallyJan + FEB = FEBFEB + MAR = MAR

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_22 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_22 → Ok→ Paste the code as shown below:

Continued on next page

394 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 469: Logic 22 script

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_22.LGF → Validate and save → Ok.

e) In the Interface for Excel → Open your INPUT SCHEDULE TESTSCRIPT LOGIC → Enter 100 for kpi1-5 in Jan and 200 in Feb and300 in Mar → Send data:

Figure 470: Logic 22 report

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 395

Unit 4: Working with Logic BPC420

f) Input zero for your base level members → Send data

22. Optional: Now we want to include variables into the coding.%DIMNAME_SET% is a variable which inherits the dimension memberfrom the current view.

This variable can be included not only in the X_DIM Membersetcommand but anywhere in the coding.SET is a special logic keyword here!

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_24 (there is no #23 file!) → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_24 → Ok→ Paste the code as shown below:

Figure 471: Logic 24 script

Note: As you can see the current view Time - spread to it́smonth according to the Schedule configuration is automaticallytaken for a calculation.For your information: Although we aren't using it in thisexample, a further Logic keyword “DIM” exists which returnsthe technical name of all dimensions which are not user defined

Continued on next page

396 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

ones. Also, %CATEGORY_DIM% as variable with logicalkeyword DIM will return VERSION if the technical name ofthe C dimension was VERSION.

c) Validate and Save → Ok.

d) Include the logic file in the default logic file: Select the default logic file→ Enter: *INCLUDE LOGIC_24.LGF → Validate and save → Ok.

e) In the Interface for Excel → Set your current view to 2012.Q2 → Enter100 for kpi1-5 in May and 100 in Jun→ Send data:

Figure 472: Logic 24 report

f) Input zero for your base level members → Send data

Task 3: Cross Application LogicObjective: Nowwe want to get familiar with LOOKUP and DESTINATION_APPwhich allow an integration between two applications.

Description: Lookup and Destination_App are appropriate for multi-applicationscripting.Destination_App writes record from the source cube.Lookup is only for reading values and Lookup is positioned in the application thatwants to read a value from another Infocube.It́s also possible to read values from the same application.

1. We are going to build up an integration between the Planning Applicationfor and the D_PLAN## Application.

a) Since we are working with two applications, we should take a lookat their dimensions:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 397

Unit 4: Working with Logic BPC420

Figure 473: Logic application compare

b) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_30 → Open → Copy the code.

c) Create a new logic file: In the admin console → Open the PLANNINGApplication → Script Logic → Create new logic → LOGIC_30 → Ok→ Paste the code as shown below:

Continued on next page

398 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 474: Logic 30 script

d) Validate and Save → Ok.

Note: SKIP_DIM keyword: original application hasdimension that is not found in the destination application:REPTCURRENY, P_DATASRC, P_ACTIVITYADD_DIM Keyword: If the destination application hasdimensions that do not exist in the original application, thesecan be added to the passed records: INPUT CURRENCY,PRODUCT.P_ACCT , ENTITY, CATEGORY, TIME, MEASURES arethe same in both applications.

To calculate a new value inside a *REC( ) statement, you canassign a source value or multiple values that are outside the scopeddata for a FACTOR or an EXPRESSION instruction using theLOOKUP function. Hereby you can refer to the same or a differentapplication!

Note: Only the value is important for further calculation notthe granularity!

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 399

Unit 4: Working with Logic BPC420

e) Set your access in PLANNING: Security → Member access profiles→ AdminMbrAccPrf → Modify member access profile → Goto step2 → Planning tab → Use the system drop downs to set up these twoaccesses:

Figure 475: Logic 30 member access in planning

f) Next → next → apply → ok.

g) Include the logic file in the PLANNING Application default logic file:Select the default logic file → Enter: *INCLUDE LOGIC_30.LGF →Validate and save → Ok.

Note: Use the connection wizard if necessary when you accessPLANNING.

h) In the Interface for Excel → PLANNING → Home → Data input →Build a schedule based on a dynamic template → Account trend → Ok→ Set your current view and enter the data as you see below→ Expandall → Send data → Send active worksheet → Yes → Cancel:

Continued on next page

400 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 476: Logic 30 planning report

i) Switch to the D_PLAN## application → Home → Reporting andanalysis → Build a report using a dynamic template → Account trend→ Ok → Set your current view as you see below→ Expand all →Isn't that cool?

Figure 477: Logic 30 Report in d plan ##

2. Now we want to input a value into the PLANNING application and read it inthe D_PLAN## application. Our scenario is as follows: We plan valuesfor the Planning Application in February for the CE0004510 accountand this value is needed for the calculation of KPI1*Value of CE0004510= KPI5 in February in the D_PLAN## application.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 401

Unit 4: Working with Logic BPC420

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_31 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_31 → Ok→ Paste the code as shown below:

Figure 478: Logic 31 script

c) Validate and Save → Ok.

d) Include the logic file in the D_PLAN## Application default logic file:Select the default logic file → Enter: *INCLUDE LOGIC_31.LGF →Validate and save → Ok.

e) Input a value in PLANNING: In the Interface for Excel → PLANNING→ Home → Data input → Build a schedule based on a dynamictemplate → Account trend → Ok → Set your current view and enterthe data as you see below → Expand all → Send data → Send activeworksheet → Yes → Cancel:

Continued on next page

402 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 479: Logic 31 planning report

f) Input a value into D_PLAN## and trigger the logic when yousend data: Switch to the D_PLAN## application → Open theInput_Schedule_Test_Script_Logic → Set your current view as yousee below → Expand all :

Figure 480: Logic 31 d plan ## result

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 403

Unit 4: Working with Logic BPC420

3. We need to reference data in PLANNING again. In application D_PLAN##we now want to calculate (KPI1*Value of the 1st account + KPI2*VALUEof the second account +KPI3*Value of the 3rd account + KPI4*Value of the4th account) = KPI5 whereby we refer to Values of the 4 accounts from theplanning application.

a) Copy the code from your logic folder: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC420-## →Logic → Logic_32 → Open → Copy the code.

b) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_32 → Ok→ Paste the code as shown below:

Figure 481: Logic 32 script

c) Validate and Save → Ok.

d) Include the logic file in the D_PLAN## Application default logic file:Select the default logic file → Enter: *INCLUDE LOGIC_32.LGF →Validate and save → Ok.

Note: You have to use *IS “KPI1” and not *IS*!Reads from the same application but getting values fromselections out of scope are also possible this way.Reads from the same application needs to be written withinone Lookup block!

Continued on next page

404 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Multiple Lookup blocks for the same application are notallowed.

e) Input values in PLANNING: In the Interface for Excel → PLANNING→ Home → Data input → Build a schedule based on a dynamictemplate → Account trend → Ok → Set your current view and enterthe data as you see below → Expand all → Send data → Send activeworksheet → Yes → Cancel:

Figure 482: Logic 32 planning report

f) Input values into D_PLAN## and trigger the logic when yousend data: Switch to the D_PLAN## application → Open theInput_Schedule_Test_Script_Logic if necessary → Set your currentview as you see below → Enter: February 2011 enter 11 for KPI1, 22for KPI2, 33 for KPI3 and 44 for KPI4→ Send data:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 405

Unit 4: Working with Logic BPC420

Figure 483: Logic 32 d plan## result

Task 4: Planner Execution of Script LogicObjective: With the help of this lab we want to show how to configure a centralexecution of Script Logic.

Description: Now we want to execute the script logic via a data manager package.This will allow the planner to do the calculation when they are ready.

1. Since we no longer want logic to run as data is sent the application, we needto turn off the default logic by inserting '//' in front of the code.

a) Comment 'out' the default logic: In the admin console → Open theD_PLAN## Application → Default.LGF → Enter the // as shownbelow:

Figure 484: Comment out the default logic

b) Validate and Save → Ok.

Continued on next page

406 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

c) Let's review the Logic_2 file because we will use that to test with:Select the Logic_2.LGF →You should see this:

Figure 485: Logic_2 Script

d) Validate and Save → Ok.

e) In the Interface for Excel for the D_PLAN## Application: Set yourcurrent view as you see below → Open the → INPUT SCHEDULETEST SCRIPT LOGIC if necessary → Enter 100 in kpi1 for 2011.001→ Send data → That should be the only kpi with a value:

Figure 486: Logic via package: Initial data

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 407

Unit 4: Working with Logic BPC420

2. Create a new package which allows you to enter the desired Script Logic.You can use another package as a template.

Note: It́s not necessary to create a process chain! You can use eachof the following packages as template for your centrally executedscript logic:

• The default formula packages which is specifically designedfor pure Script Logic execution.

• Table Driven Logic packages such as ICDATA, US_ELIM,CONSOLIDATION and CURRENCY CONVERSION areable to run your logic scripts too.

a) First navigate as follows in the Interface for Excel: Home → ManageData → Maintain Data Management → Manage Packages (OrganizeList).Create a new “package group” called STUDENT_## and for thispackage group create a new package: Right click in the yellow area →Add package → Select the drop down to view process chains → Selectthe 3rd app group → Left click on /cpmb/icdata (we could use anyother package as well) → Select → Check both task types → Enter aname and description as follows:

Figure 487: Script logic package

b) Select ADD → SAVE → SAVE → OK.

c) Modify the data manager dynamic script: eDate → Organize packagelist → Student_## → Right click on your new package → Modifypackage → Select the 'view package' icon

→ Advanced → This is the Initial data manager dynamic script:

Continued on next page

408 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 488: Initial data manager dynamic script

d) Access the provided script: Goto Start → Documents → My documents→ G Drive → BPC 7.5 → BPC420 → BPC420-## → DYNAMICSCRIPT WITH FILE VARIABLE → Open → Copy the code → Replacethe initial code in the script editor

Figure 489: Revised data manager dynamic script

→ Ok → Save 3 times → Ok.

Note: Explanation for the changes in coding:In the first line you entered %ACCOUNT_DIM% which is avariable, to allow selections for P_ACCT in the packagés entrymask.You also entered PRODUCT which can't have a variable sinceit is a customer specific variable. So hard-code PRODUCThere.Then create a prompt so that the user can enter the relevantLogic file.%FILE_NAME% is a variable too, a placeholder for the filewhich the end user will fill in.In the last line you refer to this variable/placeholder.

e) Execute the new package: eData → Run package → Student_## →Run your new package → Enter LOGIC_2.LGF → Next → Selectthese members:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 409

Unit 4: Working with Logic BPC420

Figure 490: Package dimension selections

f) Next → Finish → Ok → View status → Double click the log → Doubleclick the formula log to see the detail → Close the pop ups → Refreshworkbook → Voila!

Figure 491: Script in package result

Task 5: Execute a Script Logic from an Excel buttonObjective: An end user often wants to execute a script logic with the click of abutton. We want to show how to configure this.

Description: Using a Package and linking it to a BO PC macro allows the enduser to execute script logic per an Excel button.

1. A few Excel related activities are necessary to allow the creation of a anExcel button. Some Security related activities are also necessary.

Continued on next page

410 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

a) Press the Excel Office Button → Excel Options:

Figure 492: Excel options

b) Select 'Show Developer Tab in the Ribbon' → Ok → Developer →Macro Security → Macro Settings → Enable all macros → TrustAccess to the VBA project object model:

Figure 493: Enable macros

c) Ok.

2. In the account trend input schedule, insert a button in cell O45 Use thiscurrent view:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 411

Unit 4: Working with Logic BPC420

APPLICATION D_PLAN##

CATEGORY FORECAST

ENTITY STORE17

INPUTCURRENCY EUR

PRODUCT DOGDRYPUPPY

P_ACCT KPI_NODE

TIME 2011.TOTAL

MEASURES PERIODIC

a) Home → Data input → Build a schedule using a dynamic template→ Account Trend → Ok.

b) In O45 → Developer → Insert button (form control):

Figure 494: Insert button

c) Use your cursor to draw a box from O45:Q45 → Enter:MNU_EDATA_RUNPACKAGE → Ok → Enter text: → PACKAGE TOEXECUTE SCRIPT LOGIC → Send 500 in jan for kpi1 → Left clickyour new button → Student_## → Run your new package → EnterLOGIC_2.LGF → Next →Next → Finish → Ok:

Continued on next page

412 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 495: Logic via button

d) Etools → Save dynamic template → Company → Input schedules →INPUT SCHEDULE WITH MACRO BUTTON → Save.

3. Now we want the button to execute a specific package instead of lettingthe user pick one.

a) Right click the button → Assign macro → Enter a name:BUTTON → Edit → Under 'sub button' enter: Application.Run“MNU_eData_SELECTPACKAGE”, “PACKAGE TO EXECUTESCRIPT LOGIC”,“/CPMB/ICDATA”, ““””, “STUDENT_##”

Note: You can also see below what the 'assign macro' lookslike when you Right click the button → Assign macro.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 413

Unit 4: Working with Logic BPC420

Figure 496: Select package VBA

b) After that leave the editor without saving → use the 'X' to close theVBA screen → Single left click your button now!

Figure 497: Select a file

Task 6: AllocationsObjective: The goal is to show how the allocation function works and how itcan be installed.

Description: You have some data on a sender entity and you want to distributethis data to 2 receivers. As distribution key use the square meters of both receivers.

1. Navigate to the Admin Console and define some new members for severaldimensions.Create the following members for dimension ENTITY and then ProcessDimension de-selecting “Take System Offline ” and processing “membersfrom sheet”

Continued on next page

414 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

ID EVDE-SCRIP-TION

PAR-ENTH1

CUR-RENCY

OWNER

SENDER SENDERFOR AL-LOCA-TION

NODE_SENDEREUR ADTWD-FVM2001\CPM-##

RE-CEIVER_1

RE-CEIVERNO 1 FORALLO-CATION

NODE_RE-CEIVER

EUR ADTWD-FVM2001\CPM-##

RE-CEIVER_2

RE-CEIVERNO 2 FORALLO-CATION

NODE_RE-CEIVER

EUR ADTWD-FVM2001\CPM-##

NODE_SENDERNODESENDERFOR AL-LOCA-TION

NODE_AL-LOCA-TION

EUR ADTWD-FVM2001\CPM-##

NODE_RE-CEIVER

NODERE-CEIVERFOR AL-LOCA-TION

NODE_AL-LOCA-TION

EUR ADTWD-FVM2001\CPM-##

NODE_AL-LOCATION

NODEALLO-CATION

EUR ADTWD-FVM2001\CPM-##

a) Goto the Admin Console → Entity dimension → Maintain dimensionmembers → In the last empty row enter the members as shown above→ Process dimension → Don't take the system offline → Ok → Ok.

b) Let's make sure the new master data is stored correclty: Select Entity→ Refresh dimension members → Respond yes to clear the temporarycache → Select Entity → Maintain dimension members → The datayou entered should still be visible.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 415

Unit 4: Working with Logic BPC420

2. Now select the D_PLAN## application and open its “Script Logic” node.There should be an existing file called ALLOCATION.LGF. If not, createa new one with the same name and open it. Copy the code from theallocation.txt file in your logic folder on the hard drive.

Validate and Save and afterwards.

Note: Since the allocation shall be executed by a user you willlater use a data management package for it and won't refer to theallocation logic file in the Default Script Logic.

a) Select the D_PLAN## application → Script Logic → Allocation →Copy in the code from the 'allocation.txt' file in your logic folder on theG Drive → Validate and Save → Ok.

Figure 498: Allocation logic

3. Goto the Interface for Excel for your application set STUDENT_## andyour application D_PLAN##.First make sure that all new members are available by refreshing thedimension members. If the members still do not show up, try the ConnectionWizard and if that does not work shut excel down via the task manager andlaunch it again.

Change the current view settings so that they match the following:

Dimension Member

Application D_PLAN##

CATEGORY FORECAST

ENTITY NODE_ALLOCATION

PRODUCT NONE

P_ACCT ALLOCATION_NODE

Continued on next page

416 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

RPTCURRENCY EUR

TIME 2011.001

MEASURES PERIODIC

a) Goto the interface for Excel eTools → Refresh dimension members →Set your current view as you see above.

4. Open the delivered input template Nested Rows, open the control panel anduse the membersets as shown below, then send the values as shown.

Save your input schedule as INPUT_SCHEDULE_ALLOCATION.XLT.

Figure 499: Control Panel

Figure 500: Allocation input schedule

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 417

Unit 4: Working with Logic BPC420

a) In the Interface for Excel Data Input → Build a schedule usinga dynamic template → Open → OK → Click on the plus sign(+) above column J to access the Control Panel → Change yourControl Panel settings to match the one above. → Expand All → ifasked to “Clear Input” select OK → Close the Control Panel →Enter the above source data and allocation keys for 2011.001 →Select SEND DATA → SEND ACTIVE WORKSHEET → Yes →CLOSE → eTools → Save dynamic template → Input Schedule →INPUT_SCHEDULE_ALLOCATION.XLT.

5. To execute the allocation we have to add the data management package forallocation into your STUDENT_## package group. In the Excel Interface,goto 'organize package list' and add a new package called PACKAGE TOEXECUTE ALLOCATIONS and link it to the allocation process chain.

Modify the dynamic script by copying the code from the 'allocationparameter.txt' file in your logic file on the G drive.

Note: In the last coding line you can see the script logicAllocation.LGF is hard coded.

Note: We need to use Allocation_Logic_WDT since in therelevant process chain /CPMB/Allocation the 'Run Logic' ProcessType has the technical name Allocation_Logic_WDT and not“Allocation_Logic”. We have provided the process chain and typethe next two screenshots for you to see (you do not need to go thereyourself):

Continued on next page

418 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 501: Process chain in BW (RSPC)

Figure 502: Process type parameters

a) In the Interface for Excel: Home → Manage Data → Maintain DataManagement → Manage Packages (Organize List).For the STUDENT_## package group create a new package: Rightclick in the yellow area → Add package → Select the drop downto view process chains → Select the 3rd app group → Left click on/cpmb/allocation → Select → Check both task types → Enter a nameand description as follows:

Figure 503: Allocation package

b) Add → Save → Ok → Now go back and change the dynamic script →eData → Organize package list → Right click the allocation package→ Modify package → View package icon:

→ Advanced → Overwrite the script with the code provided in the'allocation parameters.txt' file in your logic folder on the G drive:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 419

Unit 4: Working with Logic BPC420

Figure 504: Revised dynamic script

→ Ok → Save 3 times → Ok.

Note: In the last coding line you can see the script logicAllocation.LGF is hard coded.

6. Run a package and select your new allocation package. Run it for thefollowing members:

Dimension Member

CATEGORY FORECAST

ENTITY ALL

PRODUCT NONE

Continued on next page

420 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

P_ACCT ALL

RPTCURRENCY EUR

TIME 2011.001

Note: The Allocation should be run monthly!

a) In eData: Run package → Select your package group STUDENT_##and your new Package → Allocation → RUN → Use the membersfrom the table above → Next → Finish → Ok → View status → Closethe boxes → Refresh workbook:

Figure 505: Allocation result

Note: As you can see the sender with 2000 is not automaticallyset to zero! Therefore you will either have to enhance yourscript logic program to reach that goal or you don't put theSender and both Receiver under a common node but ondifferent nodes that never have a common upper node so thatno doubling/summing up of data can occur.

7. Now the sender value has to be set to zero! Navigate to your allocationscript logic coding and enhance it as follows: after *ENDALLOCATIONand before *COMMIT, enter:

*WHEN ENTITY

*IS SENDER

*REC(EXPRESSION=0,P_ACCT=ORIGINAL_ACCOUNT)

*ENDWHEN

Select Validate and Save afterwards.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 421

Unit 4: Working with Logic BPC420

Re-execute your Allocation package.

Note: You don't have to enter new data before re-executing yourpacking since in the Allocation coding we used the X_DIMMEMBERSET command for Entity and consequently this commandrefers to all data not only to delta values saved after the last executionof the Management Package.

Go back to your Input Schedule in BPC for Excel and press the “RefreshWorkbook” Button to see the results.

a) In the admin console: Open the allocation.lgf file → Enter the code asshown:

Figure 506: Revised allocation code

b) Validate and save → Ok

In eData: Run package → Select your package group STUDENT_##and your new Package → Allocation → RUN → Use the membersfrom the table above → Next → Finish → Ok → View status → Closethe boxes → Refresh workbook:

Figure 507: Results with revised allocation code

Continued on next page

422 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Task 7: Prompts in Data Manager PackagesObjective: During execution of a Data Manager package in a revaluation scenarioa User shall be asked to fill in the prompted value as a user selection. This will addflexibility and could be used for 'what if' scenarios.

Description: We want to show how to integrate these variables and then how toadapt the dynamic script logic with which you design your package popup.

Business scenario: We want to increase the data for KPI1 to KPI5 by xpercent whereby the percentage is given by the end user.

Let's use script logic and a custom package to prompt the user for revaluation %'s.

1. First add the Logic_33 logic file into your D_PLAN## application. Onlysave the file do not validate it (there is an issue on prompts at the moment,but saving it will be sufficient) Do not reference in the default logic file.

Note: This the relevant SAP Note 1334695.

In the Excel interface, change your current view as follows:

Figure 508: Current view

Enter 100 for each kpi in 2011.001.

a) Create a new logic file: In the admin console → Open the D_PLAN##Application → Script Logic → Create new logic → LOGIC_33 → OK→ Enter the code as shown below:

This logic will apply a % markup to existing values.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 423

Unit 4: Working with Logic BPC420

Figure 509: Logic 33 Script

b) Validate and Save → Ok.

c) In Excel: Set your current view:

Figure 510: Current view

d) In the Input_Schedule_Test_Script_Logic: Enter 100 for kpi1-5 →Send data:

Figure 511: Logic 33 Initial Input_Schedule_Test_Script_Logic.XLT

2. To execute the package with prompts, we have to add the data managementpackage for prompts into your STUDENT_## package group. In theExcel Interface, goto 'organize package list' and add a new package calledPACKAGE TO EXECUTE PROMPTS and link it to the ICDATA processchain.

Continued on next page

424 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Modify the dynamic script by copying the code from the 'DYN SCRIPTPACKAGE PROMPTS.txt' file in your logic file on the G drive.

a) In the Interface for Excel: Home → Manage Data → Maintain DataManagement → Manage Packages (Organize List).For the STUDENT_## package group create a new package: Rightclick in the yellow area → Add package → Select the drop downto view process chains → Select the 3rd app group → Left click on/cpmb/icdata → Select → Check both task types → Enter a name anddescription as follows:

Figure 512: Package with prompts

b) Add → Save → Ok → Now go back and change the dynamic script →eData → Organize package list → Right click the allocation package→ Modify package → View package icon:

→ Advanced → Overwrite the script with the code provided in the 'dynscript package prompts.txt' file in your logic folder on the G drive:

Figure 513: Revised dyn script for prompts

→ Ok → Save 3 times → Ok.

c)

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 425

Unit 4: Working with Logic BPC420

3. In edata: Run a package and select your new package with prompts. Use amarkup of 10 for kpi1, 20 for kpi2 etc. Confirm your results in the workbook.Run it for the following members:

Dimension Member

CATEGORY FORECAST

ENTITY STORE17

PRODUCT DOGDRY PUPPY

Continued on next page

426 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

P_ACCT ALL

RPTCURRENCY EUR

TIME 2011.001

a) In eData: Run package → Select your package group STUDENT_## →PACKAGE TO EXECUTE PROMPTS→ RUN → The system promptsfor the revaluation %'s → Enter the values as shown:

Figure 514: Package prompts

Next → Enter in the 5th variable → Next→ Use the members fromthe table above → Next → Finish → Ok → View status → Close theboxes → Refresh workbook → Wow!

Figure 515: Package with prompts result

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 427

Unit 4: Working with Logic BPC420

Task 8: Optional: Create a BADI and call via ScriptLogicCreate a business add in and call it via a script logic file and have it execute on areal time basis by including it in the default logic file.

We now want to show how to calculate a value using ABAP instead of ScriptLogic.

Since many developers are not familiar with Script Logic Coding we want to showhow they can refer to an ABAP program from a Script Logic Editor.

1. Create a business add in from the BW Application Server.

a) From the BW Application Server easy access screen: Enter 'se19' inthe command field on the upper left:

Figure 516: ABAP on line - command field

b) Hit enter → Enter UJ_CUSTOM_LOGIC as shown below:

Continued on next page

428 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 517: ABAP on line SE19

c) Select 'Create Impl.' → Enter the enhancement id and short text:

Figure 518: ABAP on line Create enhancement

d) Select the green check mark (continue)→ Select 'local object' → Enterthe information as shown below but use your own group ##:

Figure 519: ABAP on line BADI Definition

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 429

Unit 4: Working with Logic BPC420

e) Continue → Local object → Save → Open the node on the upper leftso your implementation class and filter value is visible:

Figure 520: ABAP on line Implementation class

f) Double click the method 'IF_UJ_CUSTOM_LOGIC-EXECUTE' →Respond yes to create the implementation → Use the pencil icon toswitch the screen into change mode → Position your cursor after thefirst line of code → Press enter to add an empty row.

g) Copy the abap code from your hard drive: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC430-## →Open the file Z_ABAP_CODING_FOR_STUDENT_## → Copy it →Go back to the 'class builder' screen → Paste in the code → Save →Goto line 94 to see the test code we are using:

Figure 521: ABAP on line Sample code

h) Create the filter: Select F3 → Double click the 'Filter Val' → Select the'Create filter combination' button:

Continued on next page

430 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 522: ABAP on line Create filter

i) Next we'll create the 'value 1' which is the keyword that will bereferenced in the script logic file: Double click the ???? marks →Enter the 'value 1' exactly as shown below:

Figure 523: ABAP on line Change filter value

j) Continue → Save → Select 'enhancement implementation' on the upperleft → Activate → Goto the local objects tab if necessary → Select allof the STUDENT_## objects → Enter → The BADI is complete.

2. Create a logic file to call the BADI in D_PLAN##.

a) In the admin console: Goto the D_PLAN## application → Script logic→ Create new logic → Enter 'LOGIC_34' → Ok → Enter this code:

*START_BADI Z_STUDENT_##_VALUE1_FOR_BADI

*END_BADI

b) Validate and Save → Ok→ Select the Default.lgf → Enter: *INCLUDELOGIC_34.LGF → Validate and save.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 431

Unit 4: Working with Logic BPC420

3. In the interface for excel in D_PLAN##, send in data to confirm the abapcalculation.

a) Test your sample abap code: In the interface for excel → Set yourcurrent view as shown → Data input → Build a schedule using adynamic template → Account Trend → Ok → Open the control panel→ Delete the settings in C56 → Planning & Consolidation → Expandall → Enter 5 for CE0004010 and 4020 → Send data → Send activeworksheet → Yes → Close → You should see the sum in 4520:

Note: This simple example is built to sum data changes notstored values so if you do any testing, it would be best to zeroout the accounts and start fresh each iteration.

Figure 524: ABAP on line Result

Task 9: Optional: Using a Start Routine in a DataImportCreate a business add in and call it via a script logic file and have it executeduring a data import.

Here we want to work with a start routine which will check if the Amount forKPI1 is bigger than 2000 or not. If this condition is fulfilled the system shall sendan error message and not load the relevant transaction data.

1. Create a business add in from the BW Application Server.

a) From the BW Application Server easy access screen: Enter 'se19' inthe command field on the upper left:

Continued on next page

432 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 525: Start Routine ABAP on line - command field

b) Hit enter → Enter UJD_ROUTINE as shown below:

Figure 526: Start Routine SE19

c) Select 'Create Impl.' → Enter the enhancement id and short text:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 433

Unit 4: Working with Logic BPC420

Figure 527: Start Routine Create enhancement

d) Select the green check mark (continue)→ Select 'local object' → Enterthe information as shown below but use your own group ##:

Figure 528: Start Routine Create BADI Definition

e) Continue → Local object → Save → Open the node on the upper leftso your implementation class and filter value is visible:

Figure 529: Start Routine Implementation class

f) Double click the method 'IF_UJ_CUSTOM_LOGIC-EXECUTE' →Respond yes to create the implementation → Use the pencil icon toswitch the screen into change mode → Position your cursor after thefirst line of code → Press enter to add an empty row.

Continued on next page

434 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

g) Copy the abap code from your hard drive: Goto Start → Documents →My documents → G Drive → BPC 7.5 → BPC420 → BPC430-## →Open the file Z_ABAP_CODING_FOR_STUDENT_## → Copy it →Go back to the 'class builder' screen → Paste in the code → Save →Goto line 94 to see the test code we are using:

Figure 530: Start Routine Sample code

With the help of the Start Routine we want to check during data uploadif the Amount for KPI1 is bigger than 2000 or not. If this conditionis fulfilled the system shall send an error message and not load therelevant transaction data.

h) Create the filter: Select F3 → Double click the 'Filter Val' → Select the'Create filter combination' button:

Figure 531: Start Routine Create filter

i) Next we'll create the 'value 1' which is the keyword that will bereferenced in the transformation file: Double click the ???? marks →Enter the 'value 1' exactly as shown below:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 435

Unit 4: Working with Logic BPC420

Figure 532: Start Routine Change filter value

j) Continue → Save → Select 'enhancement implementation' on the upperleft → Activate → Goto the local objects tab if necessary → Select allof the STUDENT_## objects → Enter → The BADI is complete.

2. In the interface for excel for PLANNING, simulate a data import to confirmthe abap if statement.

a) Test your sample abap start routine: In the interface for excel → Setyour current view as shown

Figure 533: Start Routine Planning current view

Continued on next page

436 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Manage data → Upload data file → Source file → My computer→ Database (G) → BPC7.5 -> BPC420 → BPC420-## →Z_STUDENT_##_TD_FILE_FOR_SROUTINE.TXT → Open →Destination file → Save → Ok → Ok → Preview data file → Selectthe file → Open:

Figure 534: Start Routine Data file

b) Create a transformation file: Goto eData → More → Createtransformation file → Enter in row 12 as shown below:

Figure 535: Start Routine Transformation File

Entering a ',' delimiter is not required since that is the default.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 437

Unit 4: Working with Logic BPC420

c) Simulate the import to see the error: eData → More → Validate &process transformation file → Data type: transaction data from flat file→ Select the flat file → Save as → Enter name as 'RoutineTransFile'→ Save → You should see this log:

Figure 536: Start Routine Error

d) Select the rejected list:

Figure 537: Start Routine Rejected list

e) Optional: To see how the message is defined Goto the BW ApplicationServer → Transaction code: SE91 → Message class 'ZDAVY' →Display:

Continued on next page

438 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 538: Start routine message class

Task 10: Optional: Dimension Logic and Solve OrderObjective: Using Dimension Formulas and the Solve Order Feature to showDimension Formulas work and how the order of dimension formulas can beinfluenced.

Description: Working with Dimension Formulas and Solve Order will allow youto execute formulas on the fly as data is refreshed. The results are not stored inthe database.

Return to the Admin Console..

We now want to install two Dimension Formulas, one for an Account and onefor a Product. Since both Formulas can collide if they are included in a reportwe have to decide in which order the formulas should be executed.Case #1: ACCOUNT3 shall be calculated before PRODUCT3

Note: Account3 will be calculated as a ratio of 1 and 2 and representsan account like gross margin %. Product3 will be the sum of 1 and 2and therefore represents a 'group'.

1. Add a new P_ACCT formula.

Now go back to the P_ACCT member sheet via 'maintain dimensionmembers' and fill in the Property Formula for member Account 3 as yousee below:IIF([P_ACCT].[ACCOUNT2]=0,NULL,[P_ACCT].[AC-COUNT1]/[P_ACCT].[ACCOUNT2]);SOLVE_ORDER=1

Select Process Dimension ok and then ok.

What does this formula do: If account2 is zero, don't do anything (since wedon't want to divide by zero), otherwise divide account by account2. and ifthere is a formula collision use a solve order tie breaker value of 1. (Lowervalues calculate first.)

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 439

Unit 4: Working with Logic BPC420

Select the product dimension and 'maintain dimension property'. Nowinput the FORMULA property with a length of 500 and selectModifyDimension Property afterwards.

Now go back to the PRODUCT member sheet and fill in the PropertyFormula for member PRODUCT3 as given below:[PRODUCT].[PRODUCT1]+[PRODUCT].[PRODUCT2];SOLVE_OR-DER=100

Select 'Process Dimension' ok → ok.

Select the appset and then 'set application set status' on the right to available,then 'update application set status'.

Now move to the“ Interface for Excel” and select the D_PLAN##application.

Then select Planning & Consolidation → eTools → Refresh DimensionMembers.

Set the Current View as follows:

Dimension Member

ENTITY STORE 17

CATEGORY FORECAST

MEASURES PERIODIC

TIME 2011.001

P_ACCT TOTAL

INPUTCURRENCY LC

PRODUCT CON_PET_TYPE

Via 'data input', create an Input Schedule based on the Account-Trendtemplate.

Open the Control Panel using the “+” signs in the left corner and configureas follows:

Continued on next page

440 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Figure 539: Dim logic control panel

Save your four data records as shown below: SEND DATA → Send activeworksheet in the Action Pane. If you get any information concerning howmany record are saved, confirm with YES.

You should get the following results: .

Figure 540: Results Product Last

Leave BPC for Excel open.

a) Use the directions above.

2. Case 2: PRODUCT3 shall be calculated before ACCOUNT3

We will reach this goal by just changing the solve order number inboth formulas.

In the Admin Console goto 'Maintain Dimension Members' for the P_ACCTDimension and for the Product Dimension.For ACCOUNT3 change the formula to SOLVE_ORDER=100. SelectSave to Server.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 441

Unit 4: Working with Logic BPC420

For PRODUCT3 change the formula to SOLVE_ORDER=1. Select Saveto Server.Now select Process Dimension for the P_ACCT and PRODUCTDimension. Don't forget to de-select “Take the system offline and to Processfrom Member Sheet”.

Return to the Interface for Excel .

After that click on Refresh Workbook and you should see:.

Figure 541: Results Account Formula is Last

Here you can see that PRODUCT3 is now calculated before ACCOUNT3according to the new solve order. Close your Excel Sheet and the Interfacefor Excel.

a) Use the directions above.

442 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Dimension Member Formulas

Lesson Summary

You should now be able to:• Understand the concept and set up of Dimension Member Formulas

2010 © 2010 SAP AG. All rights reserved. 443

Unit Summary BPC420

Unit SummaryYou should now be able to:• understand the different types of Logic• see the different commands in Script Logic• learn how Script Logic can be executed by the end user• Understand how to customize central execution of Script Logic• The access concept for central execution• Understand the concept of allocations• Set up allocations• Understand the integration between the Script Logic Editor and ABAP• How to work with Start Routines within transformation files using ABAP• Understand the concept and set up of Dimension Member Formulas

444 © 2010 SAP AG. All rights reserved. 2010

Unit 5Business Process Flows

Unit OverviewAfter completing this unit, you will be able to work with Business Process Flows

Unit ObjectivesAfter completing this unit, you will be able to:

• Understand the Concept of BPFs• See how to Customize BPFs.

Unit ContentsLesson: Business Process Flows... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .446

Exercise 4: How to build and administer Business Process Flows .467

2010 © 2010 SAP AG. All rights reserved. 445

Unit 5: Business Process Flows BPC420

Lesson: Business Process Flows

Lesson OverviewBusiness Process Flows is a method of defining a business process within thecontext of SAP BusinessObjects Planning and Consolidation. A BPF guidesend-users through a pre-defined process.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand the Concept of BPFs• See how to Customize BPFs.

Business ExampleWith the help of Business Process Flows we want to guide the end user throughtheir planning and reporting steps.

Figure 542: What a BPF Does and Does Not Do

BPFs represent best practices that a customer would encourage their users to follow

A BPF is focused on the collection and verification of data required to complete abusiness process successfully.

A BPF is not equivalent to workflow but they have some features similar toworkflow that guide the users to the next action, show the activities that the useris expected to perform, enable opening of the steps upon completion of previoussteps and so on.

446 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

BPFs are not enforceable because a user can always do standard SAPBusinessObjects Planning and Consolidation actions regardless of whether theyare there in BPF or not.

For example, a user can create an input schedule if he/she has access to do so evenif that is not one of the steps in the BPF.

Figure 543: Task Profile for BPF Management

Currently Manage BPF includes all administration tasks for BPF management

• There are two major functions:

– BPF Template:

Create

Copy

Modify

Validate (mandatory)

Delete

– BPF Instance:

Create

Manage

2010 © 2010 SAP AG. All rights reserved. 447

Unit 5: Business Process Flows BPC420

Figure 544: New Concepts in a BPF

This slides contains an illustration of the new BPF concepts.

Figure 545: Defining a BPF Template and Team/User Access to BPF Monitor.

Creation of a BPF template is similar to that in SAP BusinessObjects Planningand Consolidation, version for the Microsoft platform.

448 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

SAP BusinessObjects Planning and Consolidation, version for the Microsoftplatform BPF instances are based on user selection of the dimensions.

The dimensions to be selected as instance identifier are from the controllingApplication.

BPF instance access is same as that in SAP BusinessObjects Planning andConsolidation, version for the Microsoft platform.

It assigns access to the BPF instance for the instance monitor or the ability to seethe entire process in my activities (if the logged on user has the privileges).

Figure 546: Creating a BPF Instance and Instance Owner

Please note that a template should be validated before creating an instance. Theerrors identified during validation must be resolved before creating an instancefrom that template.

Please note that no manual entry is allowed for entering dimension members orowners. This is intended to reduce errors.

2010 © 2010 SAP AG. All rights reserved. 449

Unit 5: Business Process Flows BPC420

Figure 547: Steps, Substeps and Step Region Criteria

Please note that there is no opening criteria for the first step in the process

Figure 548: Activities for Steps and Substeps

450 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 549: BPF Owner/Reviewer

The owners and reviewers can be changed here if needed.

These changes will override the values that are inherited from the BPF template.

Figure 550: Step Regions and Data Regions

2010 © 2010 SAP AG. All rights reserved. 451

Unit 5: Business Process Flows BPC420

Figure 551: Finishing and Saving a BPF Template

Please note that the templates are independent of the instances.

When you generate an instance, the information from the template will be used.

However, if the template is modified AFTER the template is generated, thosechanges will not be automatically incorporated in the instances that have beenalready generated.

However, any subsequent instances that will be generated from that template willinherit the latest changes to the template.

452 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 552: Launching Actions from BPF

If user is not authorized for the task (defined action), they will receive an errorupon execution.

The launch actions does not launch Admin functions.

If none are defined, the default action pane is displayed.

An example of launch actions crossing Applications within the same ApplicationSet can be to open a schedule in Rate Application.

In that case, the current view must be changed while defining the step action.

2010 © 2010 SAP AG. All rights reserved. 453

Unit 5: Business Process Flows BPC420

Figure 553: Navigating BPF Monitor

Please note the filters to view BPFs for various statuses.

The archived BPFs are moved from active tables to the archived tables.

The archived BPFs can still be reported on.

• The Interface for the Web and Office Interfaces will have a new look andbranding.

– Product name = “SAP BusinessObjects Planning and Consolidation”– Flex based interface

• The End user will have a different experience

– Introduction of some new user interface paradigms which will becomepart of the standard UI (User Interface) harmonization

– As such, actions will not always be located within the “Action Pane”

454 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 554: Features of My Activities

My activities is the actionable interface in a BPF.

Please note that it does not display the actions that the logged in user is notresponsible for though those actions are in the BPF.

Clicking on BPF step region in BPF Activities dashboard opens selected action.

If users have more than one step region for this step they can use the drop down.

If users wants to see and/or work with whole process they can select full process.

Review actions appear in the same manner as sub-steps rather than the ActionPane.

2010 © 2010 SAP AG. All rights reserved. 455

Unit 5: Business Process Flows BPC420

Figure 555: Full Process View and Single Activity View

Please note that the sub steps are not displayed in a tree view but in the orderthey are defined.

Figure 556: Example for a BPF – 1

456 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 557: Example for a BPF – 2

Figure 558: Example of a BPF – 3

2010 © 2010 SAP AG. All rights reserved. 457

Unit 5: Business Process Flows BPC420

Figure 559: Example of a BPF – 4

Figure 560: Example of a BPF – 5

458 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 561: Example of a BPF – 6

Figure 562: Example of a BPF – 7

2010 © 2010 SAP AG. All rights reserved. 459

Unit 5: Business Process Flows BPC420

Figure 563: Example of a BPF – 8

Figure 564: Status in BPF

460 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 565: Finalizing a BPF Instance

Please note the filters to view BPFs for various statuses.

The archived BPFs are moved from active tables to the archived tables.

The archived BPFs can still be reported on.

Figure 566: Auditing BPF

2010 © 2010 SAP AG. All rights reserved. 461

Unit 5: Business Process Flows BPC420

Enable BPF activity audit:

• BPF audit report (recommended).• Appears in system reports user activity (not recommended).

Figure 567: BPF Template Reports

The reports can be run on active as well as archived BPF instances and templates.

Please note that the archived BPF templates are not stored in the active tables butstill they can be reported on.

The reports can be run on BPF steps as well as step regions.

462 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 568: Email Notifications – 1

Each email template has 1 system default version, and 1 customized version. Itmeans all emails can be customized.

In Email body some variables can be used. In runtime they will be replaced byreal values.

Available variables include: %INSTANCE_NAME%, %STEP_NAME%,%URL%, %STEP_REGION_NAME%

2010 © 2010 SAP AG. All rights reserved. 463

Unit 5: Business Process Flows BPC420

Figure 569: Email Notifications – 2

Each email template has 1 system default version, and 1 customized version. Itmeans all emails can be customized.

In Email body some variables can be used. In runtime they will be replaced byreal values.

Available variables include: %INSTANCE_NAME%, %STEP_NAME%,%URL%, %STEP_REGION_NAME%

Example of a notification:

Subject header: BPF instance {name} now ready for action.

Text: BPF Instance for dimensions time 2008.Total and category Budget.

Step region(s): first active step number and step region dimension: member.

As a participant in this business process please select the following link:

HTTP://Osoft/..... (which is the path to open the users BPF My Activities).

464 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 570: Email Notifications – 3

This is a reference slide that shows who will be notified for each condition.

2010 © 2010 SAP AG. All rights reserved. 465

Unit 5: Business Process Flows BPC420

466 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Exercise 4: How to build and administerBusiness Process Flows

Exercise ObjectivesAfter completing this exercise, you will be able to:• Create and execute a cost center planning BPF.

Business Example

Task: Business Process Flow (BPF)Objective: With the help of a Business Process Flow we want to direct theactivities of the planners and to monitor the status of the provess.

Description: We want to create a Business Process Flow for the Cost CenterPlanning Scenario and since we have planners who are responsible for certainaccounts, the Account Dimension shall carry the owner and reviewer property.

1. Create a new BPF with 3 steps from the Admin Console. Here's what yourBPF will look like in the admin console when you are done:

Figure 571: BPF complete in admin console

2. Create the first Sub Step.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 467

Unit 5: Business Process Flows BPC420

3. Create the Actions.

4. Validate, Create the Instance, and Activate your BPF.

5. Access your BPF from the Web Interface.

6. Archive your finalized bpf instance.

7. Optional: Lets' investigate the steps to turn on the BPF email feature.

468 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Solution 4: How to build and administerBusiness Process FlowsTask: Business Process Flow (BPF)Objective: With the help of a Business Process Flow we want to direct theactivities of the planners and to monitor the status of the provess.

Description: We want to create a Business Process Flow for the Cost CenterPlanning Scenario and since we have planners who are responsible for certainaccounts, the Account Dimension shall carry the owner and reviewer property.

1. Create a new BPF with 3 steps from the Admin Console. Here's what yourBPF will look like in the admin console when you are done:

Figure 572: BPF complete in admin console

a) In the Admin Console → Select Business Process Flows on the lowerleft → On the right → 'Create new BPF template'.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 469

Unit 5: Business Process Flows BPC420

Figure 573: Create a new BPF Template

b) Enter 'Cost Center Planning' as the name and description → ConfirmCC_PLAN## as the Controlling application.

Figure 574: Define BPF

Note: The p_acct dimension of the CC_PLAN## applicationwill be used to determine owners and reviewers.

c) Determine the data region for your BPF: Select 'B. Instance Identifier'on the upper left → Check off Category.

Continued on next page

470 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 575: BPF instance identifier

Note: Time is the only required dimension. It is best practiceto select at least two dimensions to define an instance. Theinstance will be used to determine the status of the steps.

d) Select 'C. Set Access' on the upper left → Select users → Move youruser id to the right to the 'Selected' box.

Figure 576: BPF access

e) Create step one: Select 'Next' → Add → Make your selections as yousee below:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 471

Unit 5: Business Process Flows BPC420

Figure 577: Create step one

Note:Allow Reopen will allow that step to be reopened aftercompletion. If this is set to ‘No’ that step can’t be reopenedduring execution.Opening criteria All Step Region will enable opening of thenext step only after all step regions are complete whereasin case ofMatched Step Region when you complete a stepregion, the next step opens for the same step region.The first step of the BPF always opens regardless of theopening criteria. Defining these options will be important forthe second step onwards.

Note:You can select any property as the owner property. Theproperty that you select must have fully qualified user name.The same rule applies for the reviewer property that you willuse in the next BPF step you will create.

Note: You can choose any property to be the reviewerproperty. However it is a good practice to name the propertiesaccordingly for easy identification.

f) Select 'Define step region criteria...' → Make the following selections:

Continued on next page

472 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 578: Step 1 region criteria

Note: The instance owner can reopen a step regardless ofinvolvement in the step.

You can select up to six dimension members. The available selectionformulas are SELF, BAS and DEP.

Note: To select a dimension member, first left click in the fieldand it turns gray, then left click again and a selector box popsup. You can select up to six.

Note: The ‘Choose reviewer property’ is grayed out becauseyou did not check the box ‘Enable Reviewers’ in the earlierscreen. You can select any property as the owner property. Theproperty that you select must have a fully qualified (includingthe domain) user name. The same rule applies for the reviewerproperty that you will use in the next BPF step you create.

g) Create Step Two: Select Ok → Ok → Add:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 473

Unit 5: Business Process Flows BPC420

Figure 579: Create step 2

h) Select 'Define step region criteria...' → Make the following selections:

Figure 580: Step 2 region criteria

Continued on next page

474 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

i) Select preview to see what users are determined:

Note: Your CPM-## user will appear not bpcadmin.

Figure 581: Preview step 2

j) Create step Three: Select Ok 3 times → Add:

Figure 582: Create step 3

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 475

Unit 5: Business Process Flows BPC420

k) 'Define step region criteria':

Figure 583: Step 3 region criteria

l) Select Ok → Ok → Save → Ok.

2. Create the first Sub Step.

a) Create the Cost Center 16 sub step: Select Step 2→ Select ”Add NewSub Step' → Add a name and description as you see below:

Note: Properties are grayed out since they are only maintainedfor steps.

Continued on next page

476 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 584: Cost center 16 sub step

b) Select Ok

Note: If you receive this message in subsequent steps, select'yes'.

Figure 585: Message on 1st Sub Step

c) → Select 'Yes' to assign all actions to the sub step.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 477

Unit 5: Business Process Flows BPC420

Figure 586: BPF 1st substep in place

3. Create the Actions.

a) Create the Data Manager Action: Select 'Next' → Select the first step→ Modify the default action name to Data Manager → Select theInterface to Data Manager → Select the 'Data Manager' task:

Note: Use the 'modify' button to change the action name.

Figure 587: Data Manager Action

Note: The default action is created automatically and you canadd more actions if needed.

b) Set up the first cost center 16 action: Select the COST CENTER 16 substep → Configure the 'Step actions' as shown below:

Continued on next page

478 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 588: Cost center 16 first action

Note: You can select any previously saved input schedule byclicking the ‘Browse’ button.Since you selected Category and Time in the instance identifier,you have an option to inherit those values from the BPFinstance.

For the Current View Type for the Category and Time dimensions,select Inherit from BPF Instance.For your Entity select Member Lookup and select 1000COSTC_16.For all other dimensions, set the Current View Type to Inherit from CV

c) Set up the cost center 16 2nd action: Add → 'Recheck and send data'→ Ok → Select the 'Interface': Interface for Excel → Task: Send activeworksheet → Save → Ok.

d) Set up the cost center 17 and 18 sub steps: Select the 'Back' button→ Select the COST CENTER 16 sub step → Copy → Enter COSTCENTER 17 as the name and instruction → Ok → Select the COSTCENTER 17 sub step → Copy → Enter COST CENTER 18 asthe name and instruction → Ok → Save → Ok → Next → SelectCOSTCENTER17 → Modify → Name it: Change Cost Center 17 →Ok → Change the current view to 1000COSTC17:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 479

Unit 5: Business Process Flows BPC420

Figure 589: Cost center 17 action

e) Set up the cost center 18 action: Select the COST CENTER 18 sub step→ Modify → Name it: Change Cost Center 18 → Ok → Change thecurrent view to 1000COSTC18:

Continued on next page

480 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 590: Cost center 18 action

f) Set up the cost center reporting action: Select the COST CENTERREPORTING step as shown below→Set the current to 'Inherit fromBPF Instance' for both Category and Time→ Use 'Inherit from CV'for the other dimensions:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 481

Unit 5: Business Process Flows BPC420

Figure 591: Reporting action

4. Validate, Create the Instance, and Activate your BPF.

a) Validate the BPF: 'Close' → Select Yes regarding the save prompt →Select your BPF → 'Validate BPF Template' → Yes → Ok → Yes.

Figure 592: BPF Validate Template

In the previous section, you created a template. In this section, youwill use that template to create a BPF instance that you will executein the next lab.

b) Create an Instance: Select your BPF → 'Create BPF Instance' → Setthe data region by selecting the blue hypertext:

Continued on next page

482 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 593: BPF create instance

c) Select 'Create BPF Instance' → Set Instance Owner → Select yourdomain and user: ADTWDFVM2001\CPM-##:

Figure 594: BPF select instance owner

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 483

Unit 5: Business Process Flows BPC420

d) 'Create BPF Instance' → Finish.

Note: Your CPM-## user should appear not bpcadmin.

Figure 595: BPF instance preview

e) Activate the Instance: Select Business Process flows on the left →'Manage BPF Instance' → Set status to inactive → Refresh → Selectyour instance → Activate → Ok.

Your BPF is now ready to use.

5. Access your BPF from the Web Interface.

a) From the Admin Console: Open 'Available Interfaces' → 'Interface forthe Web' → 'Business Process Flows' :.

Continued on next page

484 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 596: Accessing a BPF

b) Set your current view:

Figure 597: BPF Web current view

c) Select your BPF → You should see 3 steps underneath the BPF.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 485

Unit 5: Business Process Flows BPC420

Figure 598: BPF my activities

d) Select Step 1 'START COST CENTER PLAN FOR KPI1':

Figure 599: Start cost center planning for kpi1

→ Select the 'DATA MANAGER' sub step → Log into the ExcelInterface if prompted → You will see data manager options:

Continued on next page

486 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 600: Data manager options

e) We are merely testing right now → So select 'Back to BPF'. →Complete → Back to my activities.

Figure 601: BPF 1st step complete for kpi1

f) Select step 2 for kpi1 to see its sub steps:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 487

Unit 5: Business Process Flows BPC420

Figure 602: Step 2 for kpi1

g) Select 'change cost center 16' → You should have this current viewautomatically determined:

Figure 603: BPF CC16 1st sub step

Enter 100 for each month for each kpi → Recheck and send data → Yes→ Close → Back to BPF.

h) Select 'change cost center 17' → You should have this current viewautomatically determined:

Continued on next page

488 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 604: BPF CC17 2nd sub step

Enter 100 for each month for each kpi → Recheck and send data → Yes→ Close → Back to BPF.

i) Select 'change cost center 18' → You should have this current viewautomatically determined:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 489

Unit 5: Business Process Flows BPC420

Figure 605: BPF CC18 3rd sub step

Enter 100 for each month for each kpi → Recheck and send data → Yes→ Close → Back to BPF → Complete:

Figure 606: BPF Step 2 kpi1 submitted

j) Select 'Reject' → 'Back to My Activities':

Note: The review would be performed by another user.

Continued on next page

490 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 607: BPF Step 2 kpi1 rejected

k) Select step 2 for kpi1 again → Complete → Accept this time → Backto my activities:

Figure 608: BPF Step 2 kpi1 region approved

Note: Step 3 was set to 'all step regions', therefore the thirdstep will only open when all the preceding step are completedfor all data regions and not just the matching data region KPI1.

l) Select step 1 for kpi2 → Complete → Back to my activities.

m) Select step 2 for kpi2 → Complete → Approve → Back to my activities:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 491

Unit 5: Business Process Flows BPC420

Figure 609: BPF Step 2 all regions complete

n) We need to test reopening a step: Select step 3 for kpi1:

Figure 610: BPF Reopen option

You are able to see this link because we created step 2 with AllowReopen set to “Yes”.

o) Select 'Reopen' → Back to my activities:

Figure 611: BPF Step 2 reopened

Note: You can only go back step by step.So, if you have let́s say 6 steps in the BPF, out of which steps2,3,4,5 are re-open enabled and you want to reopen step 2after you have completed step 5, then you have to go backsequentially.Hence in that situation, you will re-open step 5,4,3 and then 2in that order.In your example here, you are opening only one step.

Note: The status of the second Step is now “Reopened” andnot just “Open”.

Continued on next page

492 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

p) Complete and approve step 2 for kpi1 and kpi2, then return to 'myactivities':

Figure 612: BPF: Step 2 completed and approved again.

q) Select step 3 for kpi1 → Report cost center data:

Figure 613: BPF cost center report

r) Back to BPF → Complete → Back to my activities → Select step 3 forkpi2 → Complete → Back to my activities:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 493

Unit 5: Business Process Flows BPC420

Figure 614: BPF all steps complete

s) Take note of the reporting options in your action pane:

Figure 615: BPF Reporting options

t) Select monitor → Select your BPF to see the detail:

Continued on next page

494 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 616: BPF Monitor

Note: You may need to scroll down and then scroll right to seethe finalize option on the upper right.

u) 'Finalize' your BPF: On the upper right → Select 'Finalize process'.

6. Archive your finalized bpf instance.

a) In the admin console: Select business process flows → Manage bpfinstances → Select status 'finalized' → Refresh → Check your BPF→ Select Archive:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 495

Unit 5: Business Process Flows BPC420

Figure 617: BPF manage finalized bpf instance

b) Run the archive report Back in the web interface → Archived InstancesReport → Select your template name:

Figure 618: BPF archived instance report

c) Select the Instance Id to see the details:

Continued on next page

496 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 619: BPF archived instances report detail

7. Optional: Lets' investigate the steps to turn on the BPF email feature.

a) In the BW application server main menu: Enter '/NSE38' in thecommand field as shown below → Enter → Enter the program:

Figure 620: BPF BW main menu / SE38 program

b) Select the execute icon (F8):Continued on next page

2010 © 2010 SAP AG. All rights reserved. 497

Unit 5: Business Process Flows BPC420

Figure 621: BPF run program

c) Select the execute icon (F8):

Figure 622: BPF maintain email template

For each EMAIL Template ID you can exactly have two templates:TypeS for the System Template and Type C for the Customer Template.So you can only create one Type C variant per Email Template IDwhich will then have priority!In the upper Screenshot you can see that for Email ID 1 already twoTemplates.You can only change the details for the C Type.But for Email ID 2 until now only an S Type exists so that you couldcreate one C version clicking at the “Create” Button. Please dońt dothat.

.

.Return to the logon screen in your BW Application Server.

d) Double click the 3rd row to see the detail:

Continued on next page

498 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Figure 623: BPF email template details

Note: The following program variables can be used toconfigure your Email Template:%INST_NAME%%STEP_NAME%%URL%%STEP_REGION_NAME%.These variables will be replaced at run time with real values.

e) Maintain the web server id: In your remote computer: Start →Programs → SAP Business Objects →Planning and Consolidation →Planning and Consolidation server 7.5 → Server → Maintain webserver name:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 499

Unit 5: Business Process Flows BPC420

Figure 624: BPF web server name

f) Here is a sample email:

Figure 625: PF sample email

See the following Email example. The URL in the email can be used toaccess the BPF directly. It takes us to the My Activities screen:

500 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Process Flows

Lesson Summary

You should now be able to:• Understand the Concept of BPFs• See how to Customize BPFs.

2010 © 2010 SAP AG. All rights reserved. 501

Unit Summary BPC420

Unit SummaryYou should now be able to:• Understand the Concept of BPFs• See how to Customize BPFs.

502 © 2010 SAP AG. All rights reserved. 2010

Unit 6DrillThrough

Unit OverviewAfter completing this unit, you will be able to understand the Drill ThroughConcept in BO PC.

Unit ObjectivesAfter completing this unit, you will be able to:

• Understand the Concept of Drill Throughs• Set up a Drill Through Scenario

Unit ContentsLesson: Drill Through ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .504

Exercise 5: How to Set up and Administer Drill Through ... . . . . . . . . . .515

2010 © 2010 SAP AG. All rights reserved. 503

Unit 6: DrillThrough BPC420

Lesson: Drill Through

Lesson OverviewIn this lesson we will see how to build drill through interfaces and use executethem from the Excel Interface.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand the Concept of Drill Throughs• Set up a Drill Through Scenario

Business ExampleThe End User wants to drill down from their Input Schedule or Report to Googleto get some detailed information about an account member and secondly the endUser would like to jump to a BEx Analyzer Report from their BO PC template.

Drill ThroughLets' take a look at how to set up and use the drill through feature for the Web,BW Queries, and ECC.

Note: Drill down is different than drill through. Drill down is used todrill down on member data within dimensions. You can drill down onmembers in a worksheet, or you can drill down on charts and graphs. Drilldown is conducted within one report in the Excel interface whereas drillthrough is a 'jump' outside of the Excel Interface.

Figure 626: Drill through – Introduction

504 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

Drill-through lets you view the source data that make up the content of a selectedcell in an Excel report.

You can define a number of drill-throughs and its possible to define severaldrill-throughs per dimension.

Here is an example of why you may want to use the drill through feature: WhenSAP BusinessObjects Financial Information Management (FIM) is used to loaddata into Planning and Consolidation from external data sources (flat files, tables,3rd party applications, or other EPM applications), this data is often transformedand aggregated. Planning and Consolidation only stores the final data, and usersmay want to drill-through into the details of the data that is stored in a FIMrepository (staging area). The URL-based drill through makes this possible.

Here's a graphical view of the drill down options:

Figure 627: Drill through – Options

2010 © 2010 SAP AG. All rights reserved. 505

Unit 6: DrillThrough BPC420

Figure 628: Security (1 of 2)

To be able to configure URL Drill-through, the SAP BusinessObjects Planningand Consolidation system administrator must be granted access to the ManageDrillThrough task.

506 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

Figure 629: Security (2 of 2)

To be able to use URL Drill-through the from within a report, users must begranted access to the End User DrillThrough task.

Figure 630: Administration Configuration (1 of 3)

In SAP BusinessObjects Planning and Consolidation 7.5, version for SAPNetWeaver, select Drill Throughs in the Administration console for an application,then indicate you want to create a new Drill-through from the Action Pane.

A Wizard will start to guide you through the setup process:

2010 © 2010 SAP AG. All rights reserved. 507

Unit 6: DrillThrough BPC420

Figure 631: Administration Configuration (2 of 3) Wizard – 1. Enter BasicInformation

From the Basic Information screen, enter a Drill Through ID and Description.Then click Next.

Figure 632: Administration Configuration (3 of 3) Wizard – 2. ParameterMapping & Test

Entering parameters and mapping values

508 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

There are two mapping sources mapped to Planning and Consolidation dimensionsand mapped to a user-defined value.

The value of URL parameters can be mapped from dimension member orproperty value.

• If you select the ID property of a dimension, the members are mapped.• If you select another property of a dimension, the property value is

mapped.• If you select User Defined Value, the parameter value is mapped from the

user-specified value.

The user-defined value can be const, %CurrentUser%, or %CurrentDate%.

Example: You have a report that has a row defined for TotalUnitsSold and youwant to see this number broken out by customer. As long as you know where thatdata resides, you can define a drill-through to retrieve it.In the same report, if you have Sales Commission data in a row, you can definea drill-through to show the Journal entries that contributed to the final numbersfor the Commission member.

Figure 633: Mapping Parameter %CURRENTUSER%

• %CURRENTUSER% can be passed as the parameter value in the URLmapping

• This returns the current domain and SAP BusinessObjects Planning andConsolidation 7.5 user name

2010 © 2010 SAP AG. All rights reserved. 509

Unit 6: DrillThrough BPC420

Figure 634: Mapping Parameter %CURRENTYYYYMMDD%

• %CURRENTYYYYMMDD% can be passed as the parameter value in theURL mapping

• This returns the current date in YYYYMMDD format

Several variations on the current date parameter are available, for example:

• %CURRENTYYYY% - returns only the current year• %CURRENTMMDDYYYY% - returns the current date in MMDDYYYY

format• %CURRENTMM% - returns on the current month

Figure 635: Mapping Parameter %BEXSERVER% (1 of 2)

510 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

To make setup of Drill-through easier, the BEx (Business Explorer) serverinformation can be saved as a SAP BusinessObjects Planning and ConsolidationWeb Admin parameter and then dynamically passed as a parameter valuein the Drill-through URL mapping

• To configure a Drill-through to a BEx query using the system parameter,proceed as follows:

1. The BEXSERVER parameter can be maintained either at the AppSetor the Application level, but if maintained for both, the Applicationlevel takes priority

2. Input %BEXSERVER%SAP/BW/BEx?&

• In the URL parameters, input QUERY• In the Property/Value input the technical name of the query

Figure 636: Mapping Parameter %BEXSERVER% (2 of 2)

During runtime, the Web Admin parameter will be read and the maintained servername will be replaced for %BEXSERVER%.

For simplicity in demonstration, this is an example of a Drill-through which callsthe Google search engine using URL: http://www.google.com/search?

The URL Parameter [q] will be filled with the user-defined variable for thecurrent user %CURRENTUSER%.

Upon Running a Test of this Drill-down, you can see the query executed properly,but did not match any documents based on the provided user name

2010 © 2010 SAP AG. All rights reserved. 511

Unit 6: DrillThrough BPC420

Figure 637: Business Example 1 – Drill-through to Google

This example shows a BEx query which uses variables for Time and Account:

Figure 638: Business Example 2 – Drill-through to a BEx Report (1 of 3)

512 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

In the Drill-through Parameters and Mapping configuration, the relationship isset between:

• The URL Parameters and the BEx variable name using the User DefineValue source

• The URL Parameters and the Dimension ID using the Time and Accountdimensions

Figure 639: Business Example 3 – Drill-through to a BEx Report (2 of 3)

In this example a SAP BusinessObjects Planning and Consolidation report isshown with the cursor on a cell containing Account CE0004010 and Time2006.JAN.

Upon executing the Drill-through, these values are automatically passed to thevariables in the BEx report.

Please also see Appendix for Drill Through Customizing from BPC to ERP.

2010 © 2010 SAP AG. All rights reserved. 513

Unit 6: DrillThrough BPC420

514 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

Exercise 5: How to Set up and AdministerDrill Through

Exercise ObjectivesAfter completing this exercise, you will be able to:• Configure and use the URL drill through feature• Configure and use the BW Query drill through feature

Business ExampleWhile working in the Excel interface, users typically need to access related data.So, they may need to perform a filtered jump to a website, or related BW Queryfor details for example that don't exist in SAP BusinessObjects Planning andConsolidation.

Task 1: URL Drill ThroughConfigure the URL drill through to BING.COM in the Admin Console and use itin the Interface for Excel.

1. Configure the URL drill through in the Admin Console for yourSTUDENT_## Appset and PLANNING Application.

2. Use the URL drill through in the Interface for Excel.

Task 2: BW Query Drill ThroughConfigure the BW Query the Admin Console and use it in the Interface for Excel.

1. Configure the BW Query drill through in the Admin Console for yourSTUDENT_## Appset and PLANNING Application.

2. Use the BW Quer drill through in the Interface for Excel.

2010 © 2010 SAP AG. All rights reserved. 515

Unit 6: DrillThrough BPC420

Solution 5: How to Set up and AdministerDrill ThroughTask 1: URL Drill ThroughConfigure the URL drill through to BING.COM in the Admin Console and use itin the Interface for Excel.

1. Configure the URL drill through in the Admin Console for yourSTUDENT_## Appset and PLANNING Application.

a) Goto the Admin Console.

b) In the Admin Console: On the upper left → Open up the Applicationsfolder → Open the PLANNING Application → Drillthroughs → Select'Add Drill Throughs' on the right:

Figure 640: URL Drill Through – Admin Console

c) Name your drill through BING_##:

Continued on next page

516 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

Figure 641: URL Drill Through – URL ID

d) Select the 'Parameter Mapping & Test tab and configure as follows:

Figure 642: URL Drill Through – URL Parameters

e) Test your drill through: Select 'Test' on the lower right → Enter anaccount description as follows:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 517

Unit 6: DrillThrough BPC420

Figure 643: URL Drill Through – Test an Account

f) Run the test, you should get this result:

Figure 644: URL Drill Through – Test Result

g) Save your drill through: Select Next → Apply → Select your drillthrough to see the summary in the Admin Console.

2. Use the URL drill through in the Interface for Excel.

Continued on next page

518 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

a) From the Admin Console: Select 'Available Interfaces' → Interfacefor Excel → Select your STUDENT_## Appset and PLANNINGApplication → OK.

b) Set your current view as you see below:

Figure 645: URL Drill Through – Current View

c) Open a dynamic template for the live test: Reporting & Analysis →Build a report using a dynamic template → Subtotal by Account → OK→ Position your cursor as shown below:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 519

Unit 6: DrillThrough BPC420

Figure 646: URL Drill Through – Sub Total by Account

d) Execute the filtered link: Select 'Drill through' on the right → SelectBING_## → Continue:

Figure 647: URL Drill Through – Result

e) Save your template: eTools → Save dynamic templates → Company →Enter: URL Drill Through → Save.

Task 2: BW Query Drill ThroughConfigure the BW Query the Admin Console and use it in the Interface for Excel.

1. Configure the BW Query drill through in the Admin Console for yourSTUDENT_## Appset and PLANNING Application.

Continued on next page

520 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

a) In the Admin Console: On the upper left → Open up the Applicationsfolder → Open the PLANNING Application → Drill throughs → Select'Add Drill Through' on the right:

b) Name your drill through as follows:

Figure 648: BW Drill Through – ID

c) On the parameters tab, configure your BW drill through. Use theBPC420 Drill Through Parameters file on the Gdrive to copy in the urland technical id's: Goto your remote computer → Start → Documents→ My documents → use the drop down to select 'Local disk: G' →BPC 7.5 → BPC420 → BPC420_## → Open the Drill ThroughParameters file → Copy the url → Back in the Admin Console → Selectthe parameters tab → Fill in as shown below:

Note: Everyone in the class will be jumping to the same querydestination ie, the BPC420_query.

Note: Input your 3 position server id. The BW Server idvaries by class and group. Your trainer should have given youthe system id already. If not, you can access it via: Remotecomputer → Programs → SAP Front End → SAP Logon →You should see the 3 position system id.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 521

Unit 6: DrillThrough BPC420

Figure 649: BW Drill Through – Parameters

Note: For each 'dimension' that you want to use as a filtercriteria, you need two 'filters'. The iobjnm (info object name)and its technical BW id is the first. The 'value' is fed from yourcursor position in the Excel report.

d) Test your drill through: Select 'Test' → Enter the filter values as follows:

Figure 650: BW Drill Through – Test

Continued on next page

522 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

e) Does your test look like this? Run Test → User: CPM-## → Password:training:

Note: See how both entity and time are filtered? You couldeasily put more dimensions in the drill through to pass morefilter values but we are keeping it short and sweet here in class.

Figure 651: BW Drill Through – Test Result

f) Save your drill through: Select Next → Apply → Select your drillthrough to see the summary in the Admin Console.

2. Use the BW Quer drill through in the Interface for Excel.

a) From the Admin Console: Select 'Available Interfaces' → Interfacefor Excel → Select your STUDENT_## Appset and PLANNINGApplication → OK.

b) Set your current view as you see below:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 523

Unit 6: DrillThrough BPC420

Figure 652: BW Drill Through – Current View

c) Open a dynamic template for the test: Reporting & Analysis → Build areport using a dynamic template → Subtotal by account → Open→ Ok→ Open the column group → Put entity in the rows (F47) → Set thememberset in F48 to BAS:

Figure 653: BW drill through conrol panel

→ Planning & Consolidation → Expand all → Position your cursoron the row for STORE24:

Continued on next page

524 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

Figure 654: BW drill through template

d) Drill through → Select Query_##:

Figure 655: Drill through option in Excel

e) Does your test look like this? (Store24 should be in the filter)

Note: We are jumping to the BW version 3.x BEx WebAnalyzer.

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 525

Unit 6: DrillThrough BPC420

Figure 656: BW Query Initial Result

f) In the Free Characteristics → Select the down arrow for P_ACCTand Time → Now it is displayed in the rows → And the values shouldlook like this:

Figure 657: BW Query with detail

Note: The drill through target in this case is a query built on aBW Infocube that is also a BPC PLANNING Application justlike yours. The target could easily have been on a number ofother BW tables, views, and data sets.

Continued on next page

526 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Drill Through

g) Save your template: eTools → Save dynamic templates → Company →Enter: Query Drill Through → Save.

2010 © 2010 SAP AG. All rights reserved. 527

Unit 6: DrillThrough BPC420

Lesson Summary

You should now be able to:• Understand the Concept of Drill Throughs• Set up a Drill Through Scenario

528 © 2010 SAP AG. All rights reserved. 2010

BPC420 Unit Summary

Unit SummaryYou should now be able to:• Understand the Concept of Drill Throughs• Set up a Drill Through Scenario

2010 © 2010 SAP AG. All rights reserved. 529

Unit Summary BPC420

530 © 2010 SAP AG. All rights reserved. 2010

Unit 7Administration (optional)

Unit OverviewAfter completing this unit, you will be able to understand Master Data Validations,Audits, Concurrency Locking, the Work Status Concept and Transports.

Unit ObjectivesAfter completing this unit, you will be able to:

• Understand the concept of master data validations• Configure a master data validation rule• Activity Audit• Data Audit• Understand how Concurrency Locking works.• Understand the transport concept of BO PC• Describe a typical customer scenario for Work Status• Describe how to set up Work Status• Understand how the locking concept of Work Status works

Unit ContentsLesson: Master Data Validations ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .532Lesson: Audits .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .543Lesson: Concurrency Locking... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .556Lesson: Transport. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .559Lesson: Work Status Concept .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .568

Exercise 6: BPC Administration ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .579

2010 © 2010 SAP AG. All rights reserved. 531

Unit 7: Administration (optional) BPC420

Lesson: Master Data Validations

Lesson OverviewValidations are designed to prevent “incorrect” records being saved to the cube.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand the concept of master data validations• Configure a master data validation rule

Business ExampleAn example for a master data validation is when you have specified anintercompany account that shall only be booked with one special Trading Partner.If this conditions is not fulfilled the system shall generate an error message whensending data.

Figure 658: Validations Overview I

“Validations” are designed to prevent “incorrect” records being saved to the cube.What is deemed an “incorrect” record needs to be controlled by the customer.

An example of an incorrect record is one where you have specified anintercompany account, but left the Trading Partner dimension empty.

The Validations introduce the concept of the “Driver Dimension”.

The driver dimension is the dimension in each application that the validationrules will be created from. In most cases, it is the Account dimension, but it canbe any dimension.

It is only possible to have one driver dimension per application.

532 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Master Data Validations

One example is the following: Account is the driver dimension because we wantto check the value of another dimension (e.g. IntCo) whenever a record is writtento a certain account member (e.g. ICSales).The rules are created at the “Dimension” level, not at the application level. Thatswhy in this example, the rule is created against the Account dimension. Therefore,the same set of rules can be used in multiple applications.

Figure 659: Validations Overview II

This slide contains an example to visualize this relationship:

Finance and Sales are using the same driver dimension. Since rules are created atthe Dimension level, you can see now that any rules created for the ACCOUNTdimension will apply to both applications.

The LegalApp application is using the driver dimension ACCOUNTL.

Figure 660: Where is it Performed?

Configuration for Validations is performed in transaction UJ_VALIDATION inAdvanced Business Application Programming (ABAP) system. All configurationis AppSet specific.

2010 © 2010 SAP AG. All rights reserved. 533

Unit 7: Administration (optional) BPC420

Configuration for Validations must be performed in the SAP Graphical UserInterface (GUI). In future it will be eventually moved to the SAP BusinessPlanning and Consolidation 7.0, version for SAP NetWeaver client.

The different maintenance functions are explained in the next slides.

Figure 661: Assign Driver Dimension

This is where the user selects which dimension they want to be the driverdimension for each Application.

Figure 662: Assign Driver Dimension

If you leave the driver dimension empty, then no validation rules will be applied tothis Application.

The Edit Rules icon allows you to jump directly to maintaining the rules for onedimension. Before clicking on the button, a row must be selected.

The help popup (F4) window displays only the dimensions assigned to theapplication.

534 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Master Data Validations

Figure 663: Rule Maintenance

When choosing “Rule Maintenance” from the UI, you will receive a popup askingto select which driver dimension for which you want to maintain rules (you canselect any dimension available for the AppSet you are using).

Figure 664: Rule Maintenance

You then see a list of Rules that have been defined for this dimension.

You can see the rule number (auto assigned), the text description of the rule, andthe members that the rule applies to.

You can create, change, and delete rules here.

If you know the member ID, you can also search for which rule it is assigned to(which could be helpful for troubleshooting saving data issues).

2010 © 2010 SAP AG. All rights reserved. 535

Unit 7: Administration (optional) BPC420

Note: One rule can apply to multiple members (e.g. Rule 2), and one member canbelong to multiple rules (e.g. ICSALES in Rules 1 and 3), which would make itan AND condition (must pass 1 and 3 to be valid).

Figure 665: Maintaining Rules

When maintaining a rule you can change the following:

• Text description.• Assign the rule to multiple members.• Use the “logic table” or write your own custom check as a Business Add-In

(BADI) (i.e. ABAP code for more complicated checks).• In the logic table, all rules must be passed.

536 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Master Data Validations

Figure 666: Maintaining Rules Logic Table – Example 1

If you are trying to save a record where the ACCOUNT dimension containsthe member COMMISSION, HEADCOUNT or SALARIES, then on the samerecord, the ENTITY must be equal to “HR” AND the INTCO must be equal to“NON_INTERCO”.

Figure 667: Maintaining Rules Logic Table – Example 2

In this example, you can see that the Logic Table is still being used.

2010 © 2010 SAP AG. All rights reserved. 537

Unit 7: Administration (optional) BPC420

Here the INTCO dimension has multiple values.

This rule means that a record can not be saved to ICSALES, if the ENTITY isI_RESDEVUK OR I_RESDEVUS OR NON_INTERCO.

Figure 668: Maintaining Rules

In this example Rule, there are three points to note:

• You can use a range of members. This is useful for account number ranges,or for creating a rule that applies to ALL accounts, such as in this example.

• You can also use members that do not exist yet. In this case you will get awarning, but you can continue.

• The BADI Implementation has been selected in this example. You can clickon the BADI name provided to create the implementation. See the Technicalsection for details.

538 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Master Data Validations

Figure 669: Copy Validations

It is possible to copy all of the validations configuration from one AppSet toanother AppSet.

If the Applications or Dimensions are different, it will just copy the matchingentries. If nothing could be copied, you will get an information message.

You will get warned if the Target AppSet already has Validations customizingdefined, so you can choose if you wish to override.

Figure 670: Delete Validations

If you delete the AppSet configuration, you will get prompted for confirmation.

2010 © 2010 SAP AG. All rights reserved. 539

Unit 7: Administration (optional) BPC420

Figure 671: Turn Validations On/Off

It is also possible to turn validations on/off by application and by three differentmodules: Journals, Manual Planning and Data Manager.

Turning validations On/Off allows you to specify whether you want the rules thathave been implemented to actually be obeyed.

By default, all modules are turned “Off”.

Note: “Manual Planning” means BPC for Excel and BPC Web input byusers. Data Manager includes all Data Manager logic, K2 Script Logic,and Parameter Driven Logic (Consolidations).

Figure 672: Validations during Write-back

540 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Master Data Validations

The example shows an error message being returned when trying to write recordsto a cube which fail a validation check.

The text in the error message is:

• Member SALESUSNCENTRAL not valid for dimension ENTITY invalidation rule 00000002

Figure 673: Other Considerations

When performing a “Copy AppSet” action, all Validations configuration is copiedas well. Likewise, for “Delete AppSet” all Validations configuration is alsodeleted.

When performing a “Copy Application” action, then only the settings by module(i.e. On/Off for Journals/Manual Planning/Data Manager) and assignment ofdriver Dimension are copied. Likewise, for “Delete Application” just these twocomponents will also be deleted.

For transporting, Validations can be configured in either Development orProduction (up to the customer to decide). If requested, all Validationsconfiguration will be transported.

When a user changes any Validations customizing, the “Last Changed By, Date& Time” is stored in the underlying tables (UJV*).

Validations now also integrate to the Activity Audit module.

Authorization is controlled by access to the transaction (SAP authorizations –auth object S_TRANS).

Note: Deleting a dimension that is a driver will delete all validationsconfiguration.

2010 © 2010 SAP AG. All rights reserved. 541

Unit 7: Administration (optional) BPC420

Lesson Summary

You should now be able to:• Understand the concept of master data validations• Configure a master data validation rule

542 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Audits

Lesson: Audits

Lesson OverviewLet's take a look at the GRC related features of BPC.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Activity Audit• Data Audit

Business ExampleAudit is designed to capture system activity and changes. Capturing auditinformation is required to meet external regulatory authorities as well asthe internal controls of a business. This could be relevant for consolidationapplications as well as for planning applications.To comply with statutory regulations and SOX (Sarbanes-Oxley) requirements, ithas to be ensured that all security changes as well as changes to the configurationare tracked. This enables external auditors to perform the audit as well as givingthem confidence into the system. For internal purposes, Audit can be used toensure that the configuration of the data model and other administrative changesare tracked

Figure 674: Audit Function

2010 © 2010 SAP AG. All rights reserved. 543

Unit 7: Administration (optional) BPC420

The Audit functionality in SAP Business Planning and Consolidation is intendedto provide internal and external stakeholders enough information to monitor thesystem behavior and protect companies against fraud.

Audit is broken up into 2 categories:

• 1. Activity Audit:Captures “metadata” changes, such as Add, Create, Change, and Delete

– AppSets– Applications– Dimensions– Activity audit is captured at the AppSet level.

You can turn Audit On/Off, and control other settings from an administrationperspective using the Administration area in the Interface for the Web.Once the audit data has been captured, it can be reported on using “SystemReports”. It is possible to export these reports to Excel.

• 2. Data Audit:Captures “transactional” data changes – i.e. capture information on changesto records in an Application. Data audit is captured at the Application level.

You can turn Audit On/Off, and control other settings from an administrationperspective using the Administration area in the Interface for the Web.

Once the audit data has been captured, it can be reported on using “SystemReports”. It is possible to export these reports to Excel.

Figure 675: Audit Setup – Manage Activity Audit

Activity auditing allows you to track the administrative tasks performed in thesystem. Once activity is recorded, you can run a report that shows system activity,based on specified criteria.

544 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Audits

The report shows when the task was performed, and by whom. If enabled, BPCtracks activity for the following functional tasks: Application set and applicationsetup, User and team setup.

To enable activity auditing

1. Start BPC Administration, and from the Administration Configurationaction pane, selectManage activity auditing.

2. Select Enable Admin Activity to record all administrative activity, andselect Enable user activity to record all end user activity.

3. Click Update.

“User Activity” includes:Set Work Status locks.

Admin Activity includes:

• Add/Modify/Delete/Copy operations for AppSets, Applications, andDimensions (including Process Dimension)

• Security Changes (add/change/delete users, teams, and task/memberprofiles)

• Web Admin Changes (AppSet/Application parameters; DocumentTypes/Subtypes; and Changing Activity or Data Audit settings)

• Validation rules changes.

Figure 676: Audit Setup – Manage Data Audit

You can set up data auditing to record an audit trail of BPC activity. You canset it up by application and category.

2010 © 2010 SAP AG. All rights reserved. 545

Unit 7: Administration (optional) BPC420

To manage audit data

1. Start BPC Administration, and select Manage data audit from theAdministration Configuration action pane.

2. From the Select Application field, select the application for which you wantto set properties.

3. Select Enable Data Activity to turn on auditing for the selected application.4. Click the View Audit Settings for All Categories link from the action pane

to see a report that shows which categories and tasks are enabled for theselected application.

5. Select a category, then select one or more tasks to audit. Select the Select Allbutton to select all of the task check boxes, or select the Clear All button toclear all check boxes.

Scheduling of Audit-Saving not required.

Audit records are written asynchronously to DB. This design was chosen toachieve the maximum performance.

The Save Audit Data Now functionality is covered by the UPDATE button.

Figure 677: Display Failed Audit Logs

If an asynchronous update of the audit data fails, the user does not get anynotification.

This is mainly related to the fact, that the asynchronous write back was chosen.Usually, such an error should not happen.

To control the background audit jobs. Transaction SLG1 can be used.

The relevant object would be UJ, Subobject UJU.

546 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Audits

Figure 678: Audit Enhancements in BO PC 7.5 NW – Overview

• Auditing has been enhanced within SAP BusinessObjects Planning andConsolidation 7.5, version for SAP NetWeaver to support a more seamlesstracking of system activities

• This includes several detail enhancements such as:•

– Tracking and auditing when users enable and disable audit logs– Tracking both the previous and the new values when changes are made– Tracking all security changes without exception– Tracking the Machine ID (Identification) of the user making the change

in addition to the IP (Internal Protocol) Address– BPF (Business Process Flow) activities will be audited

• Auditing has been enhanced within SAP BusinessObjects Planning andConsolidation 7.5, version for SAP NetWeaver to support a more seamlesstracking of system activities

• This includes several detail enhancements such as:•

– Tracking and auditing when users enable and disable audit logs– Tracking both the previous and the new values when changes are made– Tracking all security changes without exception– Tracking the Machine ID (Identification) of the user making the change

in addition to the IP (Internal Protocol) Address– BPF (Business Process Flow) activities will be audited

2010 © 2010 SAP AG. All rights reserved. 547

Unit 7: Administration (optional) BPC420

Figure 679: Audit Enhancements in BO PC 7.5 NW – Admin Audit

In SAP BusinessObjects Planning and Consolidation 7.5, version for SAPNetWeaver, the logging related to Appsets has been enhanced.

It is not possible to log the process of copying and deleting an Appset.

The example on this slide shows the related entries in the Activity Audit log.

Figure 680: Audit Enhancements in BO PC 7.5 NW: Audit On/Off Trace

• All changes related to activation and deactivation of audits is logged intothe system

• There is no possibility to turn off this trace• This slide shows an example of On/Off entries in the Activity Audit log

(in an Excel format)

548 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Audits

Figure 681: Audit Enhancements in BO PC 7.5 NW: Security

2010 © 2010 SAP AG. All rights reserved. 549

Unit 7: Administration (optional) BPC420

The following additional security actions are audited:

• Users

Add (Assign) active directory User into the Appset

Remove active directory User from the Appset

• Teams

Create Team

Remove Team

Assign User to the Team

Remove User from the Team

• Member Access Profile

Create Member Access Profile

Remove Member Access Profile

Assign User to the Member Access Profile

Remove User from the Member Access Profile

Modify Member Access Profile

• Task Profile

Create Task Profile

Remove Task Profile

Assign User/Team to the Task Profile

Remove User/Team to the Task Profile

Modify Task Profile

An example of some of these security entries in the Audit Activity log can befound on the next slide.

550 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Audits

Figure 682: Audit Enhancements in BO PC 7.5 NW: Security – Details

This slide shows an example of security related entries in the SAP BusinessObjectsPlanning and Consolidation 7.5, version for SAP NetWeaver Activity Audit log.

Note that two additional columns would normally be displayed named “App” (forApplication) and “Parm” (for Parameter).

Figure 683: Audit Enhancements in BO PC 7.5 NW: Business Process Flows

As BPFs have been newly introduced in SAP BusinessObjects Planning andConsolidation 7.5, version for SAP NetWeaver, auditing of BPFs has beenintroduced as well.

The logging can be categorized in 3 topics:

• TEMPLATES, INSTANCES and STEPS

2010 © 2010 SAP AG. All rights reserved. 551

Unit 7: Administration (optional) BPC420

For templates, it is possible to log the following actions:

• DELETE, VALIDATE, COPY, SAVE and SUBSCRIBE

For Instances, the following actions are logged:

• GENERATE, ACTIVATE, DELETE, RESET, FINALIZE and ARCHIVE

Step-related actions will be logged such as:

• COMPLETE, CHECK IN/OUT, REVIEW, COMPLETE, RE-OPEN,VALIDATE, COPY and SAVE

Figure 684: Audit Enhancements in BO PC 7.5 NW: BPF – Details

This slide shows an example of BPF related entries in the Activity Audit log.

The upper slide shows a typical report for Data Audits.

552 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Audits

Figure 685: How to archive Audit Data

The audit archiving functionality is scheduled via the Data Manager.

Two process chains are delivered as an example how to setup archiving.

Figure 686: Overview Audit Data Tables

Within Web Administration, it is possible to activate and deactivate Auditing.

Since the data applies just to an Application, Data audit is captured at theApplication level.

Both audits can be activated in the WebAdmin Web page. The general activationis done per Application Level.

2010 © 2010 SAP AG. All rights reserved. 553

Unit 7: Administration (optional) BPC420

More granular Audit-Modules can be activated per category.

Archiving of Audit data is scheduled via a process chain in Data Manager. Thebasic administration parameters are set in the WebAdmin environment

Reporting of Audit data is possible via the system report framework of SAPBusiness Planning and Consolidation.

Already archived records cannot be reported anymore within the system reportframework. Nevertheless, they are still available in a Data Dictionary table inBusiness Warehouse.

554 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Audits

Lesson Summary

You should now be able to:• Activity Audit• Data Audit

2010 © 2010 SAP AG. All rights reserved. 555

Unit 7: Administration (optional) BPC420

Lesson: Concurrency Locking

Lesson OverviewIn the unlikely event that two planners send data for the same intersection at thesame time, BPC will handle the conflict according to the architecture describedbelow. (and very well as a matter of fact)

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand how Concurrency Locking works.

Business Example

Figure 687: What Is Concurrency Locking?

This process is initiated only when the user tries to save the data.

Even if there is one record in the selected data region that is locked by anotherdata lock anywhere in the Business Intelligence (BI) system, the whole requestis not saved.

If the lock is obtained, then the delta records are saved.

If the request fails, it can be resubmitted and if successful in obtaining the lock,the request is then saved.

556 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Concurrency Locking

This process is also done for each data package (to be described later).

Timing of when locks are obtained:

• In SAP Business Planning and Consolidation, locks are obtained only duringthe write-back process. A lock can not be persisted at the time of read.

Method for determining locks:

• In BPC for NW we have an application approach where it is not possible todefine aggregation levels and filters to control and administer what is locked.

This would be a technical process that required data modeling expertise, a“tools” approach which doesn't represent the idea of BPC.

Figure 688: Data Packages and Concurrency Locking

Note: Some components in SAP Business Planning and Consolidation donot post delta values (e.g. Journals), in which case, the package size isalways set to 99,999,999 (meaning packaging will never be used).

Hint: Please see Appendix for more technical information.

2010 © 2010 SAP AG. All rights reserved. 557

Unit 7: Administration (optional) BPC420

Lesson Summary

You should now be able to:• Understand how Concurrency Locking works.

558 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Transport

Lesson: Transport

Lesson Overview

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Understand the transport concept of BO PC

Business ExampleTransports is a central service for migrating development of Appsets before andafter testing.

Transports provide a core functionality within SAP Business Planning andConsolidation and is used when development objects are moved out of thedevelopment environment.

The ability to use and configure the SAP Business Planning and ConsolidationTransports, a component used to manage the life cycle of SAP Business Planningand Consolidation projects by moving objects from across the development →quality assurance → production server environments

• Some organizations use a development → production approach

Figure 689: Function

Transports is completely new to SAP Business Planning and Consolidation. SAPbest practice recommends that development is not done directly in a productionsystem since this can lead severe issues due to a lack of testing

In previous versions of SAP Business Planning and Consolidation, the transportswas implemented as moving files or a complete back up and restore

2010 © 2010 SAP AG. All rights reserved. 559

Unit 7: Administration (optional) BPC420

There are some exceptions to this, similar to the object changeability concept inSAP NetWeaver BW, discussed later.

Figure 690: SAP BPC Transports Overview

Transports provide core functionality within SAP Business Planning andConsolidation and are used to move development objects out of the developmentsystem.

Transports allow you to manage the lifecycle of SAP BPC projects by allowingyou to move objects from Development → Test → Production systems.

SAP best practice is that development is not done directly in production systems,since this can lead to severe issues due to lack of testing.

In previous version “transports” were implemented as moving files or completebackup and restore.

There are some objects which do not get “transported”, as outlined later in thissection.

The tools being used to support transports in BO PC are not new, but the objectsbeing transported are.

Only Appset transport is supported. All Appsets (including ApShell) can betransported.

560 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Transport

Figure 691: BO PC Transports Overview

The CHANGE_IND field above is similar to the object changeability concept inSAP NetWeaver BW. SAP would not recommend changing Appsets, applicationsor custom logic in production systems, however if a customer wants to changereports in production they have this option.

Note: Typically SAP recommends moving all objects out of Developmentbut understands the need for organisations to have their own governancepolicies that make sense for them.

For instance a customer may wish to develop reports directly in production. Areport might not perform well, but there is no risk to the data in the system bydoing this.

The TLOGO value of “REPT” would control reports. If the CHANGE_IND fieldis set to “P” it will not be picked up by transports in development as the systemexpects the version maintained in production to be the correct version.

2010 © 2010 SAP AG. All rights reserved. 561

Unit 7: Administration (optional) BPC420

Figure 692: SAP BPC Transports Overview

Uses placeholders for AppSet, Application:

Example: For the first record FCON, pattern_id = 1, this will select all files anddirectories under the conversion files directory

Example: For the last record NFIL, pattern_id = 4, this will select the directoryonly, so that only folders (without documents) will be created in the target system

Figure 693: SAP BPC Transports Overview

RS_APPS_AFTER_IMPORT calls the after import logic.

The after import logic

Always executes UPDDTAB, UPDPTAB, ADMIN_DEF_UPD,FILE_SERV_UPD and DATA_TAB_UPD.

562 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Transport

Executes other steps when required

Example: DIM_ADD is only called when the after import logic determines that adimension needs to be added.

Figure 694: Create Transport Request per AppSet

You can create standardised UBJPCTR requests or customised transport requests.

Use the BPC Transports → Create Transport Request page for standardisedtransport requests

Use create request to create a customised transport request

2010 © 2010 SAP AG. All rights reserved. 563

Unit 7: Administration (optional) BPC420

Figure 695: Create Transport Request per AppSet

After creating a transport request you can view the request

The first illustration shows a standardised request

The second illustration shows the customised request in SE10.

Figure 696: Create Transport Request per AppSet

Example: If a user 1 creates a transport request for an AppSet, and does notrelease it, and user 2 creates a request for the same AppSet, then user 2s requestoverrules iser 1s request. In this case:

When a request is created, the data for that AppSet is deleted and rewritten tothe shadow tables

The request for the first user will now have the same data as the second request

564 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Transport

Figure 697: Importing the Request

SAP BPC transports requests must be promoted from one system to another by aSAP NetWeaver administrator who has access to TMS

You cannot promote requests from the SAP BPC client

SAP_ALL and S_RS_ALL are required profiles

Logs can be viewed in the standard TMS transactions SE09 and SE10

Every step of the after import method is logged

All errors, warning and success messages are recorded

The SAP BPC data checker is also run after all steps have completed successfully

2010 © 2010 SAP AG. All rights reserved. 565

Unit 7: Administration (optional) BPC420

Figure 698: Setup and Prerequisites

If you are new to SAP, the information on help.sap.com is a must read if youintend to administer transports on a technical level.

Figure 699: What Not to do with Objects and Transports

While technically possible, certain methods are not recommended.

Figure 700: TLOGO Framework

566 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Transport

Lesson Summary

You should now be able to:• Understand the transport concept of BO PC

2010 © 2010 SAP AG. All rights reserved. 567

Unit 7: Administration (optional) BPC420

Lesson: Work Status Concept

Lesson OverviewAs you proceed through the planning or close process you will need to restrict theactivities users can use to change the data.

Lesson ObjectivesAfter completing this lesson, you will be able to:

• Describe a typical customer scenario for Work Status• Describe how to set up Work Status• Understand how the locking concept of Work Status works

Business ExampleWork Status means having the ability as an end user to lock a “slice” or “region”of data in an application.

Figure 701: Locking in BPC

The upper slide explains the two locking variants in BPC and give a high-levelexplanation of what Work Status Locks are.

568 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

Work State is the ability for a customer to lock a “slice” or “region” of data inan application (cube)

• This overrides a users member access privileges to write to the same region• A region of data is defined by three to five dimensions, one must have a

property named “Owner” (in English)• work state is defined to provide control not only of the data, both structured

and associated unstructured, within an application but the method of update.

A work state, also called a work status, permits or denies a user from modifyingsubmitted data.

Example:For example, your month-end close business process requires that a specific set ofdata is locked down so that accurate month-end reports can be created.After a data submission, the owner sets the work state to Submitted. This locksthe data intersection from subsequent submissions.

Figure 702: Work Status – Month-End Financial Example

The use of Work Status is to prevent data changes to a region within an applicationusing a specified criteria.

The end result is a locking of a region within a given application (similar todata-slices in Business Planning and Simulation (BPS) and Business Intelligence(BI-IP).

Work Status allows structured and unstructured data to be monitored during thecollection phase based on responsibility.

2010 © 2010 SAP AG. All rights reserved. 569

Unit 7: Administration (optional) BPC420

Work Status is set up from the Administrators at both the application set andapplication level.

Work Status is NOT process flow management.

Work Status is optional for the customer.

The upper graphic describes a typical example about how the Work Status canbe used by the customer in real life.

• At month-end data is loaded and further adjusted by authorized end-users(member access profile).

• Upon completion of the month-end data submission, the responsible user(Owner/Manager) can set the Work Status as defined by the administrator.

• The data is locked at the responsibility center. In financial situations this istypically a subsidiary.

• A manager and/or a high level group processor, will start the review andconsolidate the data (specific calculations/logic execution).

• After the group consolidation is run, the data can be locked from changes sothat the reporting group can create accurate month-end reports.

• At any time, the end user may submit supporting documents or comments(annotations) during the process to further support the month-end results.

Figure 703: Work Status: Technical Prerequisites

To use work state tracking, you must specify the hierarchy (H1, H2, H3, ..., Hn)within the owner dimension for which you want to use work status.

570 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

You specify the hierarchy for which you want to track the work status ofdeliverables in the APPROVALORG field on the Setting Application Parameterspage:

• Blank defaults to H1• Can input a different hierarchy – Hn• Can only be one hierarchy

You can define only one hierarchy for each application within an application set.

Ownership dimension:

Populate users or multiple users as owners within the Dimension Member Sheetfor this OWNERSHIP driving dimension, and process this dimension.

Note: You can have different OWNER carrying dimensions perapplication set.

There is no limit to the number of dimensions in an application set with the ownerproperty,

Only one dimension will be designated for the owner dimension for work statusper application

Only one property per dimension can be named “owner” – this rule applies to allproperty names, they must be unique.

• Functionality of an owner:The owner of an entity can set the work state to any state designatedas an Owner state.The manager of an entity can set the work state to any state designated asa Manager state.

2010 © 2010 SAP AG. All rights reserved. 571

Unit 7: Administration (optional) BPC420

Figure 704: Set-up – Owner Property

• The upper slide gives details to the configuration of the owner property.

Figure 705: Work Status Configuration 1/2

Managing work status involves specifying:

• who can make changes to your data• who can change the work state on a data set

You create work states to reflect the status of data as it moves through yourbusiness processes, such as unlocked, submitted, and approved.

No predefined work states exist within BPC.

572 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

When you add a new work state you:

• describe its purpose• define who can edit the data• determine what area of BPC users can edit• indicate who can change the work state

Changing the work state is based on the following levels of security:

• All (All users with the appropriate member access rights can change data)• Locked (No one can change the data)• Manager (Only managers (parents of owners) can change data)• Owner (Only owners can change data)

Controlling the level of security is possible for the following interfaces:

• Data Manager: Controls data input from running a Copy, Import, or Movepackage

• Journals: Controls data input from posting journal entries• Manual BPC for Office data entry: Controls data submissions from reports

and input schedules in BPC for Office• BPC Comments: Controls data input from posting comments (unstructured

data)• Documents: Controls posting documents with application context to the

Content Library (unstructured data)

Note: The work state “Locks Not Set” “is a Default work state” withinternal code of “0” with “both” for Controlled by. This work state mustbe the first and cannot be changed.

2010 © 2010 SAP AG. All rights reserved. 573

Unit 7: Administration (optional) BPC420

Figure 706: Work Status Configuration 2/2

The upper slide gives further details to the Work Status Configuration.

Figure 707: Work Status Settings

Setting up work status settings for each application involves identifying three tofive work status dimensions. (limit designed to ensure optimal performance).

The dimensions you select as the work status dimensions (Yes or Owner) are thevariables in your business process which means that their selection might changebased on who submits data. Typically, Time is a work status dimension sincedata is often segregated based on time.

Dimensions which remain static for all users are static dimensions (No).

574 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

In addition to assigning work status dimensions, you also specify which dimensionis the owner dimension.This dimension is always part of the upper mentioned Variables.

The owner dimension includes the owner property. The owner propertydetermines who can edit a work status setting. Very often the Entity includesthe owner property.

• SAP Business Planning and Consolidation 7.5, version for SAP NetWeaverallows setting any combination of between 3 and 5 dimensions as relevant forlocking, despite the dimension type. So Work Status can also be configuredfor an Account type dimension.

Figure 708: Owner or Manager execute Work Status – which pop-ups dothey see?

The upper slide shows the pop-ups the Owner and Managers receive whenchanging the work status.

2010 © 2010 SAP AG. All rights reserved. 575

Unit 7: Administration (optional) BPC420

Figure 709: Work Status Report

The report on work status allows you to display the work status codes for a setof given criteria.

You can filter the report to the specific region of the cube for which you wantto get the work state.

You specify report parameters, which include start date and time, end date andtime, and member values for the dimensions that track work status.

The work status report shows Data State, which is the current work state for thedata. It tells you the current stage of the data in the overall approval process.

It also shows the dimensions for which you define work status as being applicable.There can be three to five dimensions (the report adjusts dynamically based onthe active application).

To run the Work Status report, choose Launch BPC System Reports → WorkstatusReport in the Application Reports section of the action pane.

576 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

Figure 710: Notification – EMAIL

Email Notification is only available in SAP BusinessObjects Planning andConsolidation 7.5, version for SAP NetWeaver.

Figure 711: Notification – EMAIL (Continued)

Email Notification is only available in SAP BusinessObjects Planning andConsolidation 7.5, version for SAP NetWeaver.

2010 © 2010 SAP AG. All rights reserved. 577

Unit 7: Administration (optional) BPC420

Figure 712: Notification – EMAIL (Continued)

Email Notification is only available in SAP BusinessObjects Planning andConsolidation 7.5, version for SAP NetWeaver and not delivered feature in 7.X.

Note: There is a reporting function EVLCK available as well. Thisfunction provides a read only comment retrieval for Work Status.

578 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

Exercise 6: BPC Administration

Exercise ObjectivesAfter completing this exercise, you will be able to:• Set up characteristic validation, data audit, activity audit, and work status.

Business Example

Task 1: Master Data ValidationObjective: We are going to set up validation rules that only allow certain membercombinations to be sent to the Infocube or prevent incorrect data records frombeing sent to the InfoCube.

Description: We want to show how to set up validation rules as an administrator.

1. You will set up characteristic validation for a driver dimension P_ACCTin your PLANNING application so that invalid combinations will not beallowed. Then you will demonstrate the system error when you try to entervalues that are not allowed based on your settings.

Note: The “Driver ” dimension is the one dimension per applicationwh ose members are used to compare against other dimensionmembers to see if they are permissible.There is only one driver dimension per application but it can be usedas a point of comparison with any other dimension in the application.

2. Go to the Interface for Excel in the STUDENT_## application set and thePLANNING Application and first set your current view as follows:

Then create an Input Schedule of Type Account-Trend . Don't changethe configuration and enter 100 for each of the relevant accounts. SelectSend Data. Since this combination was a wished combination, saving ofdata works.Change the current view to the following:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 579

Unit 7: Administration (optional) BPC420

Figure 713: Current view for char val lab

Enter 100 for each account and then Send Data. This time the ValidationRule should work and give you the following message:

Figure 714: System message for char validation error

Leave your Input Schedule open.

3. Return to the Customizing of your Validation Rule and exchange theOperator to “<>” for both Dimensions.:

Continued on next page

580 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

Figure 715: Rule maintenance

Figure 716: System message for char validation

Task 2: Work StatusSet up and test work status

1. Set up work status for your STUDENT appset and PLANNING application.

2. Test your work status settings in the Interface for Excel

Task 3: Optional: BPC Activity & Data Audit1. Now let's take a look at how to turn on and use the system reports.

2010 © 2010 SAP AG. All rights reserved. 581

Unit 7: Administration (optional) BPC420

Solution 6: BPC AdministrationTask 1: Master Data ValidationObjective: We are going to set up validation rules that only allow certain membercombinations to be sent to the Infocube or prevent incorrect data records frombeing sent to the InfoCube.

Description: We want to show how to set up validation rules as an administrator.

1. You will set up characteristic validation for a driver dimension P_ACCTin your PLANNING application so that invalid combinations will not beallowed. Then you will demonstrate the system error when you try to entervalues that are not allowed based on your settings.

Note: The “Driver ” dimension is the one dimension per applicationwh ose members are used to compare against other dimensionmembers to see if they are permissible.There is only one driver dimension per application but it can be usedas a point of comparison with any other dimension in the application.

a) In the BW Application Server, enter UJ_VALIDATION in thecommand field on the upper left and then press “Enter” . Within the“Initial Screen” enter STUDENT_## as application set. Then click atthe Assign Driver Dimension button and fill in P_ACCT for your“PLANNING application.” After that click at the button Save DriverDimension Settings.

Press BACK and then click at the button Rule Maintenance. Anew pop-up comes up called “Validations Maintenance - WhichDimension?” Within this pop-up you will see the field “Dimension”.Select P_ACCT via Matchcode. After that press “Continue (Enter)”.

In the next screen select Create Rule and for the field “RuleDescription” fill in Accounts with Activities & Datasource . Navigateto the field “Assigned Members” and click at theMultiple Selectionbutton. In the next screen stay on the “Select Single Values” tab cardand enter KPI1 in the first line, KPI2 in the second line and so on untilline 5 with KPI5. After that press the “Copy” button.

In the “Validation Logic” section make sure that “Use Logic Table ” isselected. Select two times Add Dimension and enter as follows:

Dimension Operator Members

P_ACTIVITY = NONE

P_DATASRC = UPLOAD

Continued on next page

582 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

After that select Save Rule and then two times BACK. You willbe back in the Initial Screen and should click at the buttonTurnValidations On/Off. In the next screen select open the Matchcodefor the field “Application ID” and select PLANNING . Then in the“Validation Switch”section select as follows:

Journals OFF

Manual Planning ON

Data Manager ON

Select Save Validation Settings then once press BACK. Leave theInitial Screen open.

2. Go to the Interface for Excel in the STUDENT_## application set and thePLANNING Application and first set your current view as follows:

Then create an Input Schedule of Type Account-Trend . Don't changethe configuration and enter 100 for each of the relevant accounts. SelectSend Data. Since this combination was a wished combination, saving ofdata works.Change the current view to the following:

Figure 717: Current view for char val lab

Enter 100 for each account and then Send Data. This time the ValidationRule should work and give you the following message:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 583

Unit 7: Administration (optional) BPC420

Figure 718: System message for char validation error

Leave your Input Schedule open.

a) Return to your BPC for Excel Mode and make sure that your applicationset, application and current view are set as given in the above .

Then click as follows: Data Input → Build a Schedule using adynamic Template and then within the “Schedule Wizard ” click at“Account-Trend” and then select “Open”. When the message comes up“A Schedule has been built for you” confirm with “OK”. Enter 100 forKPI1 to KPI5 and then in the Action Pane section select Send Data →Send Active Worksheet. In the next pop-up select “YES” . Then a newpop-up comes up called “Refresh Schedule Results”. Click “ CLOSE”within this pop-up.

Now change the current view as given in the screenshot and then enter100 for KPI1 to KPI5. Click Send Data → Send Active Worksheetand in the next pop-up select “YES” and then “CLOSE”. Due to thechanged current view selections you should receive the error messagedescribed in the relevant screenshot.

3. Return to the Customizing of your Validation Rule and exchange theOperator to “<>” for both Dimensions.:

Continued on next page

584 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

Figure 719: Rule maintenance

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 585

Unit 7: Administration (optional) BPC420

Figure 720: System message for char validation

a) Return to the BW Application Server. For the field Appset ID“STUDENT_##” should already be entered. Click at the button RuleMaintenance and select P_ACCT for the “Dimension” field and pressContinue (Enter). Mark your “Rule Number” and then select “EditRule”. Change the “Operator” according to the following table entry:

Dimension Operator Members

P_ACTIVITY <> NONE

P_DATASRC <> UPLOAD

Press Save Rule and then press two times BACK. Then press buttonTurn Validations On/OFF and check if the following settings arestill correct:

Journals OFF

Manual Planning ON

Data Manager ON

Select Save Validation Settings and then once select BACK.

Navigate back to your Input Schedule and change the current viewwithin your Action Pane that P_DATASRC = UPLOAD is selected.Enter 200 for KPI 1 to KPI5. in the Action Pane section select SendData → Send Active Worksheet. In the next pop-up select “YES” .Then a new pop-up comes up called “Refresh Schedule Results”. Click“CLOSE” within this pop-up. You will now get the same error messageas before. Leave the Input Schedule open.

Continued on next page

586 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

Task 2: Work StatusSet up and test work status

1. Set up work status for your STUDENT appset and PLANNING application.

a) In your STUDENT_## appset → In the Admin console → Select 'workstatus' → Your settings should look lik this:

Figure 721: Appset work status before

b) Add a new work state → Enter a name and description of REVIEWED→ Continue → Add new work state → Reorder work state → Moveapproved to last → Reorder work state → Yes → Set all interfaces to'locked' for the approved work state → Set all interfaces to locked for'reviewed' except for JRN (journals) → Update work state → Ok.

c) Set up category, time, and entity as the work state dimensions for theplanning application: In the admin console → Planning application →Work status setting → Make your selections as you see below → Savework status settings:

Appset Dim Name Work State

Category Yes

Entity Owner

Time Yes

2. Test your work status settings in the Interface for Excel

a) Goto the Interface for Excel: In the PLANNING application → Makethe following current view selections:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 587

Unit 7: Administration (optional) BPC420

Figure 722: Test work status: Current view

b) Set the work state: In Planning & Consolidation → eSubmit → Modifywork status → You will be taken to a web screen → Use the bluehypertext to set FLASH, HEADQUARTER, 2007.TOTAL → Continue→ Check: 'Set Children' so that children inherit the status from theirparent:

Continued on next page

588 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

Figure 723: Modify work status

c) Test your work state with an input template: In the excel interface →Data input → Build a schedule using a dynamic template → AccountTrend → Ok → Enter 125 in Jan for the first account → Send data →Send active worksheet → Yes → You should receive this message:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 589

Unit 7: Administration (optional) BPC420

Figure 724: Work status message

Task 3: Optional: BPC Activity & Data Audit1. Now let's take a look at how to turn on and use the system reports.

a) In 'Available Interfaces' → Select 'Administration':

Figure 725: Sys Reports - Admin for the web

b) Let's start collecting the audit data: Select 'manage activity audit' →Check off all four categories → Update:

Figure 726: Sys Reports - Manage activity audit

c) Now let's go run some reports (there are some objects changes that werepreviously recorded): In available interfaces → Goto the ”Interface forthe Web' to see the 'launch system reports' option:

Continued on next page

590 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

Figure 727: Sys Reports - Getting started

d) 'Launch system reports':

Figure 728: Sys Reports - Options

e) Select 'audit activity report' → Continue:

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 591

Unit 7: Administration (optional) BPC420

Figure 729: Sys Reports - Audit activity report (you results mayvary)

f) Let's take a look at one of the security reports while we are here: Goto'getting started' → Launch system reports → Security reports:

Figure 730: Sys Reports - security reports

g) Select 'By User':

Continued on next page

592 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

Figure 731: Sys Reports - Security report by user

h) Now we need to see how the data audit is turned on: In 'AvailableInterfaces' → Select 'Administration' → Manage data audit → Makeyour settings as you see below → Update:

Figure 732: Manage Data Audit

Continued on next page

2010 © 2010 SAP AG. All rights reserved. 593

Unit 7: Administration (optional) BPC420

i) Send 200 for the flash category in excel: Goto the interface for excel →Input data → build a schedule using a dynamic template → account -trend → Ok → Set you current view to the flash category and base levelmembers for the other dimensions → enter 200 → send data → sendactive worksheet → Yes → Close.

j) Now let's go run our data audit report: Goto Available interfaces →Interface for the Web → Launch system reports → Audit data report→ Continue:

Figure 733: Audit Data Report

594 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Work Status Concept

Lesson Summary

You should now be able to:• Describe a typical customer scenario for Work Status• Describe how to set up Work Status• Understand how the locking concept of Work Status works

2010 © 2010 SAP AG. All rights reserved. 595

Unit Summary BPC420

Unit SummaryYou should now be able to:• Understand the concept of master data validations• Configure a master data validation rule• Activity Audit• Data Audit• Understand how Concurrency Locking works.• Understand the transport concept of BO PC• Describe a typical customer scenario for Work Status• Describe how to set up Work Status• Understand how the locking concept of Work Status works

596 © 2010 SAP AG. All rights reserved. 2010

Unit 8Appendix

Unit Overview

Unit ObjectivesAfter completing this unit, you will be able to:

• [Enter a lesson objective.]• [Enter a lesson objective.]• [Enter a lesson objective or delete if not used.]• position IP and BO PC••

Unit ContentsLesson: Business Planning and Consolidation – A Technical Overview 598Lesson: Comparison BI Integrated Planning and BPC – Strategic View 603Lesson: Appendix: Comparison BW Integrated Planning and BPC –Evaluation Criteria .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .607Lesson: Business Planning and Consolidation – Some TechnicalAspects .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .609

2010 © 2010 SAP AG. All rights reserved. 597

Unit 8: Appendix BPC420

Lesson: Business Planning and Consolidation – ATechnical Overview

Lesson Overview[Enter a brief overview of the lesson.]

Lesson ObjectivesAfter completing this lesson, you will be able to:

• [Enter a lesson objective.]• [Enter a lesson objective.]• [Enter a lesson objective or delete if not used.]

Business Example[Enter a business example that helps the learner understand the practical businessuse of this lesson.]

Figure 734: Top Down on Application Sets

598 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Planning and Consolidation – A Technical Overview

Figure 735: Dimensions and Properties - Example on Account TypeDimension

Figure 736: Hierarchies - always on only one Dimension

2010 © 2010 SAP AG. All rights reserved. 599

Unit 8: Appendix BPC420

Figure 737: Top-Down Planning in BPC 1/3 - Budgeting and Distributiondone by one User

Figure 738: Top-Down Planning in BPC 2/3 - Budgeting and Distributiondone by two different Users

600 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Planning and Consolidation – A Technical Overview

Figure 739: Top-Down Planning in BPC 3/3 - Budgeting and Distributionusing a Leaf per Budget Node

2010 © 2010 SAP AG. All rights reserved. 601

Unit 8: Appendix BPC420

Lesson Summary

You should now be able to:• [Enter a lesson objective.]• [Enter a lesson objective.]• [Enter a lesson objective or delete if not used.]

602 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Comparison BI Integrated Planning and BPC – Strategic View

Lesson: Comparison BI Integrated Planning and BPC– Strategic View

Lesson Overview

Lesson ObjectivesAfter completing this lesson, you will be able to:

• position IP and BO PC

Business Example

Figure 740: High Level Overall Comparison

2010 © 2010 SAP AG. All rights reserved. 603

Unit 8: Appendix BPC420

Figure 741: High level feature/function comparison

Figure 742: Going Forward

604 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Comparison BI Integrated Planning and BPC – Strategic View

Figure 743: Recommendations for Existing SAP NetWeaver Customers

• SAP NetWeaver BW-IP has been used to create a Public Budget Formation(PBF) application for US and Canada Governments – specifically forStates,Cities,Counties,K-12,Higher education, and Federal Governmentbudget preparation. SAP BusinessObjects Planning and Consolidation canbe considered when there are planning plus consolidation requirementsin Federal Government opportunities in North America. Note, SAPBusinessObjects Planning and Consolidation is recommended for all newGovernment opportunities outside of North America.

2010 © 2010 SAP AG. All rights reserved. 605

Unit 8: Appendix BPC420

Lesson Summary

You should now be able to:• position IP and BO PC

606 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Appendix: Comparison BW Integrated Planning andBPC – Evaluation Criteria

Lesson: Appendix: Comparison BW Integrated Planningand BPC – Evaluation Criteria

Lesson Overview

Lesson ObjectivesAfter completing this lesson, you will be able to:

Business Example

2010 © 2010 SAP AG. All rights reserved. 607

Unit 8: Appendix BPC420

Lesson Summary

You should now be able to:•

608 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Planning and Consolidation – Some Technical Aspects

Lesson: Business Planning and Consolidation – SomeTechnical Aspects

Lesson Overview

Lesson ObjectivesAfter completing this lesson, you will be able to:

Business Example

Figure 744: SAP BusinessObjects Planning and Consolidation 7.5, Versionfor the Netweaver Platform

The upper slide gives you some technical information concerning BO PC 7.5 NWfocussing on the server and client requirements.

2010 © 2010 SAP AG. All rights reserved. 609

Unit 8: Appendix BPC420

Figure 745: Supported Platforms in the BPC Version for the 7.5 NetweaverPlatform - Server and Database

This slide focusses on the supported servers and databases.

Figure 746: Supporting Platforms in the BPC Version for the 7.5 NetweaverPlatform - Client and Internet Explorer

The upper slide gives you an overview about the supported clients in BO PC7.5 NW.

610 © 2010 SAP AG. All rights reserved. 2010

BPC420 Lesson: Business Planning and Consolidation – Some Technical Aspects

Lesson Summary

You should now be able to:•

2010 © 2010 SAP AG. All rights reserved. 611

Unit Summary BPC420

Unit SummaryYou should now be able to:• [Enter a lesson objective.]• [Enter a lesson objective.]• [Enter a lesson objective or delete if not used.]• position IP and BO PC••

612 © 2010 SAP AG. All rights reserved. 2010

BPC420 Course Summary

Course SummaryYou should now be able to:

• Set up: Appsets, Applications, Dimensions• Work with Hierarchies• Navigate in the Interface for Excel• Set up drill throughs to ECC and BW Queries• Perform flat file, InfoCube to InfoCube transaction data imports• Set up BW characteristic master data imports• Create Data manager package ‘links’• Work with Logic, business add-ins (BADI’s), and custom process chains• Execute Allocations• Implement Cross Application scenarios• Configure Business Process Flows• Set up Work Status and Security• Work with Activity and data audit• Discuss Locking• Discuss Transports• Set Appset and Application parameters

2010 © 2010 SAP AG. All rights reserved. 613

Course Summary BPC420

614 © 2010 SAP AG. All rights reserved. 2010

Appendix 1Comparison BW Integrated Planning and BO

PC – Evaluation Criteria

Figure 747: Premises for a Comparsion IP and BPC

The following slides are a kind of case study concerning BW-IP and BO PC.

2010 © 2010 SAP AG. All rights reserved. 615

Appendix 1: Comparison BW Integrated Planning and BO PC – EvaluationCriteria BPC420

Figure 748: Creating Planning Applications with SAP NetWeaver BWIntegrated Planning

This is a schematic overview about how to the administrator and the project teamset up a planning scenario in BW-IP.

Figure 749: Driven by IT Rather than Business

Here you can see all involved activities in BW-IP.

616 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 1: Comparison BW Integrated Planning and BO PC – Evaluation Criteria

Figure 750: Creating Planning Applications with SAP BusinessObjectsPlanning and Consolidation, Version for SAP NetWeaver

BO PC and the business users configure the planning scenario.

Figure 751: Overview of Evaluation Categories

Here some evaluation criteria for BO PC and BW-IP.

2010 © 2010 SAP AG. All rights reserved. 617

Appendix 1: Comparison BW Integrated Planning and BO PC – EvaluationCriteria BPC420

Figure 752: Evaluation Category Functionality 1/8

Comparison of both planning software components concerning the Functionality.

Figure 753: Evaluation Category Functionality 2/8

Comparison of both planning software components concerning the Functionality(continued).

618 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 1: Comparison BW Integrated Planning and BO PC – Evaluation Criteria

Figure 754: Evaluation Category Functionality 3/8

Comparison of both planning software components concerning the Functionality(continued).

Figure 755: Evaluation Category Functionality 4/8

Comparison of both planning software components concerning the Functionality(continued).

2010 © 2010 SAP AG. All rights reserved. 619

Appendix 1: Comparison BW Integrated Planning and BO PC – EvaluationCriteria BPC420

Figure 756: Evaluation Category Functionality 5/8

Comparison of both planning software components concerning the Functionality(continued).

Figure 757: Evaluation Category Functionality 6/8

Comparison of both planning software components concerning the Functionality(continued).

620 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 1: Comparison BW Integrated Planning and BO PC – Evaluation Criteria

Figure 758: Evaluation Category Functionality 7/8

Comparison of both planning software components concerning the Functionality(continued).

Figure 759: Evaluation Category Functionality 8/8

2010 © 2010 SAP AG. All rights reserved. 621

Appendix 1: Comparison BW Integrated Planning and BO PC – EvaluationCriteria BPC420

Comparison of both planning software components concerning the Functionality(continued).

Figure 760: Evaluation Category Technology 1/3

Comparison of both planning software components concerning the Technologyview.

Figure 761: Evaluation Category Technology 2/3

Comparison of both planning software components concerning the Technologyview (continued).

622 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 1: Comparison BW Integrated Planning and BO PC – Evaluation Criteria

Figure 762: Evaluation Category Technology 3/3

Comparison of both planning software components concerning the Technologyview (continued).

Figure 763: Evaluation Category Time

Comparison of both planning software components concerning the Timeperspective.

2010 © 2010 SAP AG. All rights reserved. 623

Appendix 1: Comparison BW Integrated Planning and BO PC – EvaluationCriteria BPC420

Figure 764: Evaluation Category – Strategy / Risks / Sustainability 1/2

Comparison of both planning software components concerning Sustainabilityand Risk.

Figure 765: Evaluation Category – Strategy / Risks / Sustainability 2/2

Comparison of both planning software components concerning Sustainabilityand Risk.

624 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 1: Comparison BW Integrated Planning and BO PC – Evaluation Criteria

Figure 766: Final Comments

The upper slide you some conclusions.

2010 © 2010 SAP AG. All rights reserved. 625

Appendix 1: Comparison BW Integrated Planning and BO PC – EvaluationCriteria BPC420

626 © 2010 SAP AG. All rights reserved. 2010

Appendix 2BO PC – Some Technical Aspects

Figure 767: SAP BusinessObjects Planning and Consolidation 7.5, Versionfor the Netweaver Platform

The upper slide gives you some technical information concerning BO PC 7.5 NWfocussing on the server and client requirements.

2010 © 2010 SAP AG. All rights reserved. 627

Appendix 2: BO PC – Some Technical Aspects BPC420

Figure 768: Supported Platforms in the BPC Version for the 7.5 NetweaverPlatform – Server and Database

This slide focusses on the supported servers and databases.

Figure 769: Supporting Platforms in the BPC Version for the 7.5 NetweaverPlatform – Client and Internet Explorer

The upper slide gives you an overview about the supported clients in BO PC7.5 NW.

628 © 2010 SAP AG. All rights reserved. 2010

Appendix 3Data Management – Add-on Information

Figure 770: Export Master Data to File Service

New Data Manager export packages offer the ability to send master data and/ortransaction data to the File Service or to the Application Server.

This capability may be used to transfer data from SAP BusinessObjectsPlanning and Consolidation to another (non-SAP BusinessObjects Planning andConsolidation) application.

Export packages may otherwise be used to move data (that is not collectedin the change and transport system) from one SAP BusinessObjects Planningand Consolidation system to another SAP BusinessObjects Planning andConsolidation system, such as a typical system landscape architecture containingthree environments: Development, Test, and Production.

2010 © 2010 SAP AG. All rights reserved. 629

Appendix 3: Data Management – Add-on Information BPC420

Figure 771: Export Master Data to Application Service

New Data Manager export packages offer the ability to send master data and/ortransaction data to the File Service or to the Application Server.

This capability may be used to transfer data from SAP BusinessObjectsPlanning and Consolidation to another (non-SAP BusinessObjects Planning andConsolidation) application.

Export packages may otherwise be used to move data (that is not collectedin the change and transport system) from one SAP BusinessObjects Planningand Consolidation system to another SAP BusinessObjects Planning andConsolidation system, such as a typical system landscape architecture containingthree environments: Development, Test, and Production

630 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 3: Data Management – Add-on Information

Figure 772: Export Master Data to BAdI for Retractor

To support the scenario of retracting SAP BusinessObjects Planning andConsolidation master data or transaction data to another SAP system, for exampleto the ERP system in the SAP Business Suite, new Data Manager packages havebeen provided to export data using a Business Add-in (BAdI)

Within the custom BAdI implementation, developers can codify, using ABAPObjects, where and how to store exported data, and they may even call importingprotocols to retract SAP BusinessObjects Planning and Consolidation data into atarget SAP system.

An export BAdI definition is achieved with the following steps:

• Log on to the SAP NetWeaver ABAP system• Go to Transaction SE18 (“BADI Implementation”)• Enter “UJD_RETRACT” in field Enhancement Spot• Choose Display• Right Mouse Click on BAdI definition• Choose Create BAdI Implementation• Choose Create Enhancement Implementation• Enter Enhancement Implementation Name and Short Text• Enter BAdI Implementation name, description and Class• Implement the interface method IF_UJD_RETRACT~RETRACT• Check and Save (activate) the method

2010 © 2010 SAP AG. All rights reserved. 631

Appendix 3: Data Management – Add-on Information BPC420

For master data, the BADI is based on table level

Note: No packaging is supported for master data related extraction. This isthe limitation from ADMIN API which could not support packaging; Thisis why all behaviors related with master data do not support packaging.

For transaction data, the BADI does support packaging for large volume support.

Figure 773: Export Transaction Data to File Service

As mentioned:

• New Data Manager export packages offer the ability to send master dataand/or transaction data to the File Service or to the Application Server

• This capability may be used to transfer data from SAP BusinessObjectsPlanning and Consolidation to another (non-SAP BusinessObjects Planningand Consolidation) application

• Export packages may otherwise be used to move data (that is not collected inthe change and transport system) from one SAP BusinessObjects Planningand Consolidation system to another SAP BusinessObjects Planning andConsolidation system, such as a typical system landscape architecturecontaining three environments: Development, Test, and Production

632 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 3: Data Management – Add-on Information

Figure 774: Export Transaction Data to Application Server

As explained:

• New Data Manager export packages offer the ability to send master dataand/or transaction data to the File Service or to the Application Server

• This capability may be used to transfer data from SAP BusinessObjectsPlanning and Consolidation to another (non-SAP BusinessObjects Planningand Consolidation) application

• Export packages may otherwise be used to move data (that is not collected inthe change and transport system) from one SAP BusinessObjects Planningand Consolidation system to another SAP BusinessObjects Planning andConsolidation system, such as a typical system landscape architecturecontaining three environments: Development, Test, and Production

2010 © 2010 SAP AG. All rights reserved. 633

Appendix 3: Data Management – Add-on Information BPC420

Figure 775: Export Transaction Data to BAdI for Retractor

Also covered in the Master Data Packages section of this lesson:

• To support the scenario of retracting SAP BusinessObjects Planning andConsolidation master data or transaction data to another SAP system, forexample to the ERP system in the SAP Business Suite, new Data Managerpackages have been provided to export data using a Business Add-in (BAdI)

• Within the custom BAdI implementation, developers can codify, usingABAP Objects, where and how to store exported data, and they may evencall importing protocols to retract SAP BusinessObjects Planning andConsolidation data into a target SAP system

• An export BAdI definition is achieved with the following steps:

– Log on to the SAP NetWeaver ABAP system– Go to Transaction SE18 (“BADI Implementation”)– Enter “UJD_RETRACT” in field Enhancement Spot– Choose Display– Right Mouse Click on BAdI definition– Choose Create BAdI Implementation– Choose Create Enhancement Implementation– Enter Enhancement Implementation Name and Short Text– Enter BAdI Implementation name, description and Class– Implement the interface method IF_UJD_RETRACT~RETRACT– Check and Save (activate) the method

634 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 3: Data Management – Add-on Information

For master data, the BADI is based on table level

Note: No packaging is supported for master data related extraction. Thisis the limitation from ADMIN API which couldn't support packaging. Thisis why all behaviors related with master data couldn't support packaging

For transaction data, the BADI does support packaging for large volume support

• Further notes:

Process type 0-1: Start

Process type 0-2: Modify

Process type 1: Reader transaction data

Process type 2: Convert

Logic:

BADI_start_routine

Transformation including conversion

BADI_end_routine

Process type 3: Writer

Call BADI_retractor

Process type 4: Clear SAP BusinessObjects Planning and ConsolidationTemp table

– If the reader gets empty data but the flag more data is true, this will betaken as abnormal and there must be something wrong, and the datapackage will not be passed to transformation. And of course BADI willnot be called. In this scenario, the BADI can not generate any records

– If the reader gets empty data and the flag more data is false, this meanthere is no data in source. And the data package containing no data willbe passed to transformation, and BADI will be called. In this scenario,the BADI can generate some records if the user likes

2010 © 2010 SAP AG. All rights reserved. 635

Appendix 3: Data Management – Add-on Information BPC420

Figure 776: Prompt Commands

• By Prompt Command dialog boxes, a user can select such things as the filesto upload, the data to export, or the target applications for selected data.

– When multiple prompt commands are entered in the same script, thesystem combines all of the prompts into one dialog box.

This rule applies to all prompt commands asking for the selection of a file, adelimiter, or text, but not to the COPYMOVE and SELECT prompts.

• The COPYMOVE and SELECT prompts are presented individually, with asmany dialog boxes as prompts are found in the script.

All file selection prompts return the name of the selected file with the completepath.

If the user leaves a selection field blank in a SELECT or COPYMOVE dialog box,the system assumes all members for that dimension; the system does not inserta range for the dimension in the returned statement

Figure 777: Business Example – SELECTINPUT 1/2

The following commands refer to Dynamic Script Logic used for theconfiguration of the pop-upsof data management packages. We dont go into detailin this unit and in the next unit we refer to dynamic script logic in the exercisesection showing some customizing feature to modify data management pop-ups.

The upper command is used to allow the user to select only non-calculatedmembers (Export, for example)

636 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 3: Data Management – Add-on Information

Syntax: PROMPT(SELECTINPUT, [variable], [second variable], [label],[dimensions])

Where: Means: Default Value:

SELECTINPUT Select one non-calculated data range

n/a

[variable] The name of the returnedvariable

%SELECTION%

[label] The text to display to theuser

Select the desired datarange

[dimensions] The dimensions fromwhich to select members

Category, Time, Entity

Activities

%DIMS% is the dimension list in the current application. The value can beACCOUT, ENTITY, TIME

PROMPT(SELECTINPUT,,,,“%DIMS%”)

%SELECTION% is the result that the user selects in the Run Package dialogbox. The script can be the following:

PROMPT(SELECTINPUT,%SELECTION%,,,“%DIMS%”)

%DIMS% creates the screen, and the selected result is saved in %SELECTION%.Without %selection%, you use %SELECTION% as the default. Therefore, youcan also write the script as:

PROMPT(SELECTINPUT,%ANYNAME%,,,“%DIMS%”), then use%ANYNAME% in the task commands

Note: SELECTINPUT – supports both “Member list” and “filter” modeto return

2010 © 2010 SAP AG. All rights reserved. 637

Appendix 3: Data Management – Add-on Information BPC420

Figure 778: Business Example – SELECTINPUT 2/2

This command is used to allow the user to select only non-calculated members(Export, for example)

Syntax: PROMPT(SELECTINPUT, [variable], [second variable], [label],[dimensions])

Where: Means: Default Value:

SELECTINPUT Select one non-calculated data range

n/a

[variable] The name of the returnedvariable

%SELECTION%

[label] The text to display to theuser

Select the desired datarange

[dimensions] The dimensions fromwhich to select members

Category, Time, Entity

Activities

%DIMS% is the dimension list in the current application; The value can beACCOUT, ENTITY, TIME.

PROMPT(SELECTINPUT,,,,“%DIMS%”)

%SELECTION% is the result that the user selects in the Run Package dialogbox; The script can be the following:

PROMPT(SELECTINPUT,%SELECTION%,,,“%DIMS%”)

638 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 3: Data Management – Add-on Information

%DIMS% creates the screen, and the selected result is saved in %SELECTION%;Without %selection%, you use %SELECTION% as the default; Therefore, youcan also write the script as:

PROMPT(SELECTINPUT,%ANYNAME%,,,“%DIMS%”), then use%ANYNAME% in the task commands

Note: SELECTINPUT – supports both “Member list” and “filter” mode to return

Figure 779: Business Example – MEMBERFROMTOINPUT

This command is used to prompt the user for an existing data selection file

Syntax: PROMPT(MEMBERFROMTOINPUT,[source_variable],[target_vari-able],[label],[dimensions])

Where Means Default Value

MEMBERFROMTOIN-PUT

This is the function name n/a

[source_variable] Source variable %SELECTION%

[target_variable] Target variable %TOSELECTION%

[label] The text to display to theuser

Enter Source and Target

[Dimensions] The dimensions to selectfrom

Category, Time, Entity

2010 © 2010 SAP AG. All rights reserved. 639

Appendix 3: Data Management – Add-on Information BPC420

%DIMS% is the dimension list in current application

• One package script can contains more than one MEMBERFROMTOINPUTkeyword

• The UI is the same as COPYMOVEINPUT• Support both “Member list” and “filter” mode to return• Order of members is not taken into account

Figure 780: Business Example – DIMENSIONNAME

This command is used to prompt the user for selecting a SAP BusinessObjectsPlanning and Consolidation dimension. It is to be used when importing master data

Syntax: PROMPT (DIMENSIONNAME, [variable],[label],[combo style],[defaultvalue],[dimensions])

Where Means Default Value

DIMENSIONNAME Select a dimension n/a

[variable] The name of returnedvariable

%COMBOBOX%

[label] The text to display to theuser

Make your selection

[combo style] The style of combo box(see note)

n/a

[default value] The preselected choice n/a

[dimensions] The dimensions to select Category, Time, Entity

%DIMS% is the dimension list in the current application

Note: 0 – The item the user selects should be one of the items in theselected items. Any number which is not 0 – The item the user selects canbe any value, which do not need to be one of the items in the selecteditems.

640 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 3: Data Management – Add-on Information

Figure 781: Business Example – MASTERSELECTION

This command is used to prompt the user for selecting an InfoObject and theattribute and hierarchy selection; It is used to import master data from a BWInfoObject.

Syntax: PROMPT (MASTERSELECTION,[variable],[second variable],[label])

Where Means Default Value

MASTERSELECTION Select InfoObject andselection

n/a

[variable] Variable for the selectedInfoObject

%INFOOBJECT%

[second variable] The second variable forthe selection

%MASTERSELEC-TION%

[label] The text to display to theuser

n/a

Figure 782: Business Example – HIERARCHYSELECTION

This command is used to prompt the user for selecting an InfoObject and thehierarchy selection; It is used to import a hierarchy from a BW InfoObject.

Syntax: PROMPT (HIERARCHYSELECTION,[variable],[secondvariable],[label])

2010 © 2010 SAP AG. All rights reserved. 641

Appendix 3: Data Management – Add-on Information BPC420

Where Means Default Value

HIERARCHYSELEC-TION

Select InfoObject andselection

n/a

[variable] Variable for the selectedInfoObject

%INFOOBJECT%

[second variable] The second variable forthe selection

%HIERARCHYSELEC-TION%

[label] The text to display to theuser

n/a

Figure 783: Business Example – DIMENSIONMEMBER

This command is used to prompt the user for selecting a dimension and itsmembers; It is used to export master data.

Syntax: PROMPT (DIMENSIONMEMBER,[variable],[label],[the secondlabel],[dimensions])

Where Means Default Value

DIMENSIONMEMBER Select a dimension andthe members

n/a

[variable] Variable for the selectedInfoObject

%DIMENSIONMEM-BER%

[label] The text to display to theuser

Make your selection

[second label] The second text todisplay to the user

Make your selection

[dimensions] The dimension to select Category, Time, Entity

Separate multiple values with commas %DIMS% is the dimension list in currentapplication.

642 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 3: Data Management – Add-on Information

Figure 784: Business Example – MEASURELIST

This command is used to prompt the user for selecting measures; It is used toexport transaction data.

Syntax: PROMPT (MEASURELIST,[variable],[label])

Where Means Default Value

MEASURELIST Select Measures n/a

[variable] Variable %MEASURES%

[label] The text to display to theuser

n/a

2010 © 2010 SAP AG. All rights reserved. 643

Appendix 3: Data Management – Add-on Information BPC420

644 © 2010 SAP AG. All rights reserved. 2010

Appendix 4Add on Information for Unit 4 – Variables in

FOR/NEXT and WHEN/IS/ENDWHEN

The upper set up describes how to configure an allocation if you want to keep theoriginal cost element when distributing data.

Figure 785: Variable Usage in FOR/NEXT

*FOR %FCAT% = %CAT% – notice how this is changed in LGX.

2010 © 2010 SAP AG. All rights reserved. 645

Appendix 4: Add on Information for Unit 4 – Variables in FOR/NEXT andWHEN/IS/ENDWHEN BPC420

Figure 786: Variable Usage in When/IS/ENDWHEN

The upper slide shows Variable Usage in When/IS/ENDWHEN

646 © 2010 SAP AG. All rights reserved. 2010

Appendix 5Drill Through to ERP

Figure 787: Business Example 3 – Drill-through to a BEx Report (3 of 3)

This example shows ERP transaction FAGLB03 G/L Account Balance Display.

Here it is necessary to pass the Account Number, Company Code, and Fiscal Yearfrom SAP BusinessObjects Planning and Consolidation to the ERP system.

It may be the case where SAP BusinessObjects Planning and Consolidationdimension member IDs may not be identical to the ERP master data.

If this situation exists, a mapping can be maintained in the dimension memberproperty values in SAP BusinessObjects Planning and Consolidation.

2010 © 2010 SAP AG. All rights reserved. 647

Appendix 5: Drill Through to ERP BPC420

The property values should be used in the Drill-through setup, rather than the SAPBusinessObjects Planning and Consolidation member IDs.

Figure 788: Business Example 1 – ERP Transaction Drill-through (1 of 3)

In the Drill-through Parameters and Mapping configuration, the relationship isset between:

• The URL Parameters of the ERP field and the Dimension by way of mappinga dimension property which converts from the SAP BusinessObjectsPlanning and Consolidation dimension member ID to the ERP master data.

• The URL Parameter ~okcode and the OK Code value from the ERP systemusing the User Define Value source.

648 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 5: Drill Through to ERP

Figure 789: Business Example 3 – ERP Transaction Drill-through (2 of 3)

In this example, a SAP BusinessObjects Planning and Consolidation report isshown with the cursor on a cell containing Account CE0004010 and Year 2006.

In the SAP BusinessObjects Planning and Consolidation dimension member sheet,account CE0004010 is mapped to ERP account 199990 with a property.

Upon executing the Drill-through, these values are automatically passed to thevariables in the G/L Balances Display report.

2010 © 2010 SAP AG. All rights reserved. 649

Appendix 5: Drill Through to ERP BPC420

Figure 790: Business Example 3 – ERP Transaction Drill-through (3 of 3)

If you do not know your ITS Host and Port contact your ERP system administrator.

• The language and client should be adjusted to your localization• The [parameters] will vary depending on the transaction code being executed• The OKCODE will also differ by transaction• Finding the parameters and OK code is explained on the next slide

650 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 5: Drill Through to ERP

Figure 791: Prerequisite for ERP Transaction Drill-through Finding the URLfor ERP Transactions.

Parameters – place the cursor on any field and Press F1 Help. Then clickon the Technical information button. Here Account Number is shown to beRACCT-LOW

• OK Code – place the cursor in the transaction code box and then tab to the“Execute” button. Press F1 help then click on the Technical informationbutton.

2010 © 2010 SAP AG. All rights reserved. 651

Appendix 5: Drill Through to ERP BPC420

Figure 792: Prerequisite for ERP Transaction Drill-through Finding theParameters and the OK Code in ERP.

• Drill-through to multi-screen transactions (such as transaction code OBD4- G/L Account Groups customizing) are not supported due to the complexuser-interface, which requires the need to select the relevant row and thengo into a subsequent details screen.

• However, Drill-through to most list or document display type transactionsshould be possible, such as:

• FBL3N – Display G/L Line Items• FS10N – Display G/L Balances• FAGLB03 – Display G/L Balances (New)• S_ALR_87013611 – Cost Centers: Actual/Plan/Variance report• KE5Z – Profit Center Actual Line Items

652 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 5: Drill Through to ERP

Figure 793: Restrictions

Note: Drill-through to certain transactions which first cause a pop-upwindow to enter a parameter value may not work when launched fromSAP BusinessObjects Planning and Consolidation 7.5. For example thefirst time you launch transaction KE24 Profitability Analysis line items,you may be asked to Set the Operating Concern, which is really a callto transaction KEBC. But these types of pop-up dialogues can often beavoided by setting user parameters via transaction SU3. It may also bepossible to setup two Drill-through IDs to break such a transaction intoseparate parts from SAP BusinessObjects Planning and Consolidation 7.5.

2010 © 2010 SAP AG. All rights reserved. 653

Appendix 5: Drill Through to ERP BPC420

654 © 2010 SAP AG. All rights reserved. 2010

Appendix 6Master Data Validation and Example BADI

Implementation

Figure 794: Example BADI Implementation (1)

This is an example BADI implementation used for creating a custom validationrule.

You can use the transaction SE18 to define a BADI in an ABAP system.

Note: Information on creation of BADI can be found on help.sap.com.

2010 © 2010 SAP AG. All rights reserved. 655

Appendix 6: Master Data Validation and Example BADI Implementation BPC420

Figure 795: Example BADI Implementation (2)

To ensure, that your program code is processed only in certain cases, you mustspecify “Filter Values” that your BADI Implementation applies to.

In this example, you can see that the AppSet is “TRANS1”, the Dimension is“ACCOUNT”, and Rule Number is “4”. That means this logic will only be runfor these specific filters.

Figure 796: Example BADI Implementation (3)

An Implementing Class must be defined that implements the specified interface.

In this case, the class is “ZCL_TEST_BADI_IMP”.

656 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 6: Master Data Validation and Example BADI Implementation

Figure 797: Example BADI Implementation (4

There is just one method to be implemented (DO_VALIDATION_LOGIC).

This method imports the AppSet, Application and one record to be checked(dynamically typed).

If the record is invalid and you want it to be failed, you populate the exportingstructure with a message on why it was rejected.

Figure 798: Example BADI Implementation (5)

This is a simple example of ABAP code for the BADI:

If the entity member contains the text “SALESUS”, then RPTCURRENCY mustbe LC or USD, else it is an error record.

If it does not contain “SALESUS”, then RPTCURRENCY must be LC or EUR,else it is an error record.

2010 © 2010 SAP AG. All rights reserved. 657

Appendix 6: Master Data Validation and Example BADI Implementation BPC420

658 © 2010 SAP AG. All rights reserved. 2010

Appendix 7Concurrency Looking – Add on Information

Figure 799: Record Level Locking and Data Region Locking

Why is this Concurrency Lock Check executed this way?

Fundamental problem:

• the more granular (record level locking for individual members) thelocks, the more time consuming it is to check them, and the more memoryrequired to store the locks.

• Therefore, less granularity would mean a better performance and lessmemory storing the locks.

But less granularity would also mean that possibly too big a region wouldbe locked.

2010 © 2010 SAP AG. All rights reserved. 659

Appendix 7: Concurrency Looking – Add on Information BPC420

So the idea would be to find a locking algorithm which automatically finds theoptimal way to lock a region that covers all the records being written back, whilenot locking too big a region.

Two types of locking exist which are in a trade-off: Record Level Locking andData Region Locking, both are used in the Concurreny Locking Algorithmdescribed before. They are combined to allow optimal Time Consumption andStorage Capacity while checking.

Locking Data Regions implicates that you may lock more than necessary but youwill have a better performance.

Locking Data Records implicates worse performance because of the finegranularity but you wont lock too much.

The above example shows the locking according to both locking types.

The record level locking in this case will obtain 3 locks for Sales_US 2012.JAN;Sales_US 2012.FEB and Sales_CA 2012.JAN only. No record will be savedfor a combination of Sales_CA and 2012.FEB and no lock will result for thiscombination.

• Instead of record level locking if we do the region level locking then first wehave to identify the region.

• The easiest way to locate the data region is to take the lowest and the highestvalues for each dimension and build an interval.

• That means we can lock the data region for Sales_US and Sales_CA for2012.JAN and 2012.FEB.

• This locks 4 records instead of 3 (note that record level locking had locked3 records).

The record that is locked unnecessarily is Sales_CA and 2012.FEB.

660 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 7: Concurrency Looking – Add on Information

Figure 800: Sequence of actions for determining the lock range 1/2

The following two slides explain which data records will be locked and how theywill be locked while sending data anywhere in the system.

The upper Checks are automatically executed by the system during Send Data.

Please note that in SAP Business Planning and Consolidation 7.0, version for SAPNetWeaver, there is no option in the User Interface (UI) to maintain anythingabout concurrency locks.

The administrator can fine tune the parameters in the table UJR_PARAM but thatthis through SAP Graphical User Interface (GUI) “transaction UJR0” and notthrough the SAP Business Planning and Consolidation UI.

2010 © 2010 SAP AG. All rights reserved. 661

Appendix 7: Concurrency Looking – Add on Information BPC420

Figure 801: Sequence of actions for determining the lock range 2/2

The upper Checks are automatically executed by the system during Send Data.

Figure 802: Example on Concurrency Locks executed by the Systemautomatically while sending data 1/2

The upper graphic gives an example for the checks executed while saving data.

662 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 7: Concurrency Looking – Add on Information

Figure 803: Example on Concurrency Locks executed by the Systemautomatically while sending data 2/2

The upper graphic gives an example for the checks executed while saving data,shows what will be locked and how it will be locked.

Figure 804: Currency Locks Check Flowchart

The upper Flowchart shows the steps the system automatically goes through whenSending Data is executed anywhere in the system.

2010 © 2010 SAP AG. All rights reserved. 663

Appendix 7: Concurrency Looking – Add on Information BPC420

Benefits from the Concurrency Locking conception:

• It is NOT necessary for Business Users/Administrators to understand thetechnical concept of concurrency locking.

• It does provide configurable options to customize the solution, if necessary.• All the coefficients used in determining the lock range (5,10, 50 etc.) are

changeable table entries and can be changed with a transaction URJ0.• No configuration is required for solution to work. The parameters can be

changed only for advanced optimization.

Figure 805: Concurrency Locks: NW Parameters

This slide explains that the locking framework in SAP NetWeaver BW is thesame that is used by BPS/BW-IP.

This means that if for some reason a customer is having BPS, BW-IP and BPCin the same BW system, then all the three solutions will share the same lockingframework.

More information is also available in the BW doc-umentation: http://help.sap.com/saphelp_nw70/help-data/en/44/588168ce8c08fae10000000a422035/frameset.htm

This documentation also describes the system parameters (transaction RZ11) thatare applicable to the locking engine.

664 © 2010 SAP AG. All rights reserved. 2010

Appendix 8Work Status – Add on Information

Figure 806: Appendix: Global Rule Part 1/4

The upper slide gives some additional details to the work state locking behaviour.

2010 © 2010 SAP AG. All rights reserved. 665

Appendix 8: Work Status – Add on Information BPC420

Figure 807: Appendix: Global Rules – Part 2/4

The upper slide gives some details to the work state locking behaviour.

Figure 808: Appendix: Global Rules – Part 3/4

The upper slide gives some information on the very first and sometimes only workstate called “Locks not Set”.

666 © 2010 SAP AG. All rights reserved. 2010

BPC420 Appendix 8: Work Status – Add on Information

Figure 809: Appendix: Global Rules – Part 4/4

The upper slide adds some information to the Global Rules.

Figure 810: Appendix: Controlled By Rule 1/2

The “Controlled By” rules are detailed here.

Figure 811: Appendix: Controlled By Rule 2/2

Some further issues on “Controlled by”.

2010 © 2010 SAP AG. All rights reserved. 667

Appendix 8: Work Status – Add on Information BPC420

Figure 812: Appendix: Consecutive Work State Rules

The upper slides describes the consecutive work state rules.

Figure 813: Appendix: Bottom Up Rule

668 © 2010 SAP AG. All rights reserved. 2010

FeedbackSAP AG has made every effort in the preparation of this course to ensure theaccuracy and completeness of the materials. If you have any corrections orsuggestions for improvement, please record them in the appropriate place in thecourse evaluation.

2010 © 2010 SAP AG. All rights reserved. 669