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 Copyright Copyright © 2010 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Trademarks • Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® are registered 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 trademarks of Citrix Systems, Inc. • HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. • JAVA® is a registered trademark of Sun Microsystems, Inc. • JAVASCRIPT® is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. • 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.com are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other products mentioned are trademarks or registered trademarks of their respective companies. Disclaimer THESE MATERIALS ARE PROVIDED BY SAP ON AN "AS IS" BASIS, AND SAP EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR APPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THESE MATERIALS AND THE SERVICE, INFORMATION, TEXT, GRAPHICS, LINKS, OR ANY OTHER MATERIALS AND PRODUCTS CONTAINED HEREIN. IN NO EVENT SHALL SAP BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES OF ANY KIND WHATSOEVER, INCLUDING WITHOUT LIMITATION LOST REVENUES OR LOST PROFITS, WHICH MAY RESULT FROM THE USE OF THESE MATERIALS OR INCLUDED SOFTWARE COMPONENTS. g2010963398 About This Handbook This handbook is intended to complement the instructor-led presentation of this course, and serve as a source of reference. It is not suitable for self-study. Typographic Conventions American English is the standard used in this handbook. The following typographic conventions are also used. Type Style Description Example text Words or characters that appear on the screen. These include field names, screen titles, pushbuttons as well as menu names, paths, and options. Also used for cross-references to other documentation both internal and external. 2010 Example text Emphasized words or phrases in body text, titles of graphics, and tables EXAMPLE TEXT Names of elements in the system. These include report names, program names, transaction codes, table names, and individual key words of a programming language, when surrounded by body text, for example SELECT and INCLUDE. Example text Screen output. This includes file and directory names and their paths, messages, names of variables and parameters, and passages of the source text of a program. Example text Exact user entry. These are words and characters that you enter in the system exactly as they appear in the documentation. <Example text> Variable user entry. Pointed brackets indicate that you replace these words and characters with appropriate entries. © 2010 SAP AG. All rights reserved. iii About This Handbook BPC420 Icons in Body Text The 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's presentation. iv © 2010 SAP AG. All rights reserved. 2010 Contents Course Overview ......................................................... vii Course Goals ...........................................................vii Course Objectives .....................................................vii Unit 1: Concepts and Objects in BPC Administration............. 1 BusinessObjects – Overview and Advantages of BO PC .........3 Business Planning and Consolidation – Some Modeling Aspects ............................................................. 16 Terminology ............................................................ 23 Comparison BW Integrated Planning and BPC – Strategic View ................................................................. 30 Application Set Management........................................ 34 Dimension Management ............................................. 44 Creating Applications ................................................. 61 Security................................................................. 76 Unit 2: Navigating in the Interface for Excel ...................... 123 Navigating in the Interface for Excel...............................124 Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting ................................................................. 147 Data Acquisition, Transformations, Packages, and Package Links ...............................................................148 Unit 4: Working with Logic ........................................... 265 Script Logic and Online Execution.................................266 Script Logic and Central Execution ................................301 Script Logic and Allocation .........................................307 Script Logic and ABAP Integration ................................324 Dimension Member Formulas ......................................330 Unit 5: Business Process Flows .................................... 445 Business Process Flows ............................................446 Unit 6: DrillThrough .................................................... 503 Drill Through ..........................................................504 Unit 7: Administration (optional) .................................... 531 Master Data Validations .............................................532 2010 © 2010 SAP AG. All rights reserved. v Contents BPC420 Audits ..................................................................543 Concurrency Locking ................................................556 Transport ..............................................................559 Work Status Concept ................................................568 Unit 8: Appendix ........................................................ 597 Business Planning and Consolidation – A Technical Overview 598 Comparison BI Integrated Planning and BPC – Strategic View 603 Appendix: Comparison BW Integrated Planning and BPC – Evaluation Criteria................................................607 Business 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 in FOR/NEXT and WHEN/IS/ENDWHEN ............................ 645 Appendix 5: Drill Through to ERP ................................ 647 Appendix 6: Master Data Validation and Example BADI Implementation ....................................................... 655 Appendix 7: Concurrency Looking – Add on Information Appendix 8: Work Status – Add on Information vi © 2010 SAP AG. All rights reserved. .. 659 .............. 665 2010 Course Overview Target Audience This course is intended for the following audiences: • • • • • Application Consultants BPC Administrators Project Leaders Project Team Members Technical Pre-Sales Course Prerequisites Required Knowledge • • BW310 Excel Recommended Knowledge • Experience with SAP NetWeaver BW Course Goals This course will prepare you to: • • • • • • Configure SAP BusinessObjects Planning and Consolidation (7.5), version for 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 Objectives After completing this course, you will be able to: • • 2010 Set up: Appsets, Applications, Dimensions Work with Hierarchies © 2010 SAP AG. All rights reserved. vii Course Overview • • • • • • • • • • • • • • viii 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 © 2010 SAP AG. All rights reserved. 2010 Unit 1 Concepts and Objects in BPC Administration Unit Overview This unit includes a conceptual overview. You will also be informed about the advantages of SAP BusinessObjects Planning and Consolidation. In addition, you will learn how to create application sets, applications and how to configure dimensions. You will also get some information about the security concept. Unit Objectives After completing this unit, you will be able to: • • • • • • • • • • • • • • • • • 2010 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 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 Contents Lesson: BusinessObjects – Overview and Advantages of BO PC ..........3 Lesson: Business Planning and Consolidation – Some Modeling Aspects ............................................................................ 16 Lesson: Terminology ............................................................ 23 Lesson: Comparison BW Integrated Planning and BPC – Strategic View 30 Lesson: Application Set Management ........................................ 34 Lesson: Dimension Management.............................................. 44 Lesson: Creating Applications ................................................. 61 Lesson: 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 Advantages of BO PC Lesson Overview Let's discuss the key features of the product. Lesson Objectives After completing this lesson, you will be able to: • • Learn the key terms Understand the main advantages and ideas of BO PC Business Example You need an understanding of what is involved in the planning and reporting process and what features and delivered content can be used to meet your requirements. 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 • • • • • • 4 Whether you are a C-level executive or manager, you can streamline the planning, budgeting and forecasting process in addition to generating statutory, regulatory and management reports with accuracy, speed and confidence Most importantly, everyone involved, from senior executives to the line of business budget owners, can collaborate and agree upon a mutual plan to achieve execution excellence The budgeting process can be streamlined and cycle time reduced by adhering to standard business processes, enabling collaboration and providing forward looking plans by leveraging predictive analysis Business users increase productivity with an intuitive web interface and familiar office tools such as Excel, running against a single data source. Intelligent Action Panes guide users on the tasks they can perform at any given moment and Business Process Flows ensure standards are adhered to IT backlog and time spent managing applications is reduced as the solution 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 that operate from a single version of the truth. © 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 Planning Cycle 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 frontend tool 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 Action Pane 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 deliver Business Process Flows. Business Process Flows guide and coordinate end users step by step toward a common performance management goal such as creating a forecast or reporting consolidated financial results. Repeatable business processes can be streamlined into a specified set of steps and managers/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 planning and budgeting cycles. With SAP BusinessObjects Planning and Consolidation 7.5 you can build any size planning application to suit your business needs (particularly suited for industries such as CPG, Telco, FS). Integration with BW Accelerator provides faster query (read) performance so you have quicker access to information within the planning application and can react faster 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 users accessing 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 landscape and the Business User sets up the planning or consolidation scenario. All structures 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 Business Users 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 Planning and Consolidation; however, they are new for (and desired by) the typical SAP end 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 and Consolidation 7.5, version for SAP NetWeaver slide. SAP BusinessObjects Planning and Consolidation is designed to be owned and maintained by the business (finance) user, empowering finance departments and reducing your reliance on IT. SAP BusinessObjects Planning and Consolidation 7.5 supports a broad set of user interfaces, including Microsoft Office 2007 (Excel, Word and PowerPoint) and the Web, resulting in broader adoption across the organization and more collaborative planning processes. The application ships with a variety of prebuilt report templates and there is no data modeling required; simply add dimensions and dimension members on the fly so you dont have to wait for IT to modify the application. Figure 15: Lower Maintenance Because SAP BusinessObjects Planning and Consolidation is designed to be owned and maintained by the business user, you (IT) will not be burdened with supporting yet another application. On the flip side (for the end user), business users are empowered to run the application with minimal intervention from IT required. The result is IT spending less time maintaining the application so you can focus more on other, more strategic initiatives and business not having to wait for IT to make 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 SAP applications. The new validation framework within SAP BusinessObjects Planning and Consolidation 7.0 prevents incorrect records (dimension members) being saved to the application across all modules (Journals, Data Manager, Script Logic, Parameter Driven Logic, Manual Planning from Excel or Web) so you can trust that the data your are submitting and consuming is accurate. Seamless integration with financial data from SAP ERP means you dont have to wait 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 SAP NetWeaver, SAP has made significant investments in building a solution that end-users are delighted with while honoring the SAP IT value proposition. SAP BusinessObjects Planning and Consolidation 7.5, version for SAP NetWeaver offers even tighter integration to SAP NetWeaver BW and SAP ERP, with packaged adapters that allow end users to easily pull data from an existing SAP system into the SAP BusinessObjects Planning and Consolidation (SAP BusinessObjects Planning and Consolidation) application without any coding by IT. In addition, SAP BusinessObjects Planning and Consolidation 7.5, version for SAP NetWeaver significantly reduces your TCO over any competing solution, taking advantage of the exact same application and database servers that your current infrastructure runs on, the exact same SAP Change & Transport System that SAP ERP and NetWeaver BW run on, and native access to SAP-only interfaces 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 cost of any third-party EPM product is vast: non-standard application servers and database servers (often proprietary database servers requiring very expensive skills), no integration into SAPs powerful Change and Transport System, no standardized deployment technology with SAP Solution Manager, no packaged and 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 larger applications than ever before. There is no technical limit for the maximum number of Dimensions (characteristics) in an Application (InfoCube); however, best practices for the number of characteristics in a cube within SAP NetWeaver BW 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 have made, or plan to make, the investment in BI Accelerator, you can leverage this with 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 – Some Modeling Aspects Lesson Overview Lesson Objectives After completing this lesson, you will 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 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 BO PC 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 Type Dimension The upper slide focuses on Properties, the types of properties that exist in BO PC and gives you the idea of how important properties in BO PC are. The whole modelling 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 which properties are necessary and for what they are needed in the modelling of legal or 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 you should know how BO PC hierarchies are constructed and how you can use them if 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 hierarchy based on one dimension. External hierarchies or Text hierarchies as available in BW are not possible for BO PC. As a consequence of this hierarchy type in BO PC some dimension members are leaf members while others are node members. The decision node member or leaf member is made with the help of property “PARENTHn”. N can be an integer number and allows you to have several hierarchies in parallel. As you can see from the upper graphic you can alwas plan on leaves but never on a node member. This is the case since node members in BO PC sum up the transaction data for the leaves beneath the relevant node. This summing up or aggregation is always automatically executed by the system when the end user saves data to the server. Figure 22: Top-Down Planning in BPC 1/3 – Budgeting and Distribution Done by One User If you want to work top down which means to would like to plan some data on a node 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 Excel line which represents the node member. Note: EVGTS means that you will read data from the BO PC Server using this BO PC function. EVSND means that you can send data from an Input Schedule in BO PC to the server. Both EV functions need the information in which combination of dimension members the relevant amount is written. Figure 23: Top-Down Planning in BPC 2/3 – Budgeting and Distribution Done by two Different Users This is the second work around. Here we work with a leaf member (Budget) per node member but since the new leaf member and the old leaf members are all beneath one common node member we must distinguish between the budget (new leaf 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 so we would get double the budget after sending data. To avoid this we introduce to versions, one for the new budget member and one for the distribution members and so when sending data a double summing up of 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 Distribution Using 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 the distribution leaf members don't have a common parent node there can't be a summing up/duplication of values at any level of the hierarchy! You can also use the 'top down allocation' solution as a way to disaggregate your data 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 Overview Let's get to know the architecture and termology of BPC Lesson Objectives After completing this lesson, you will be able to: • Get an overview about the most important BO PC key terms Business Example You are on the project team to implement BPC and you are starting the project team 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 client implementations. 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 property values: • • • • 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 to data, 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 operating income 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-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-date basis. If YTD is required, applications can store the data on a YTD basis. When data is entered into YTD, its periodic values used for reporting purposes, are calculated as the difference between the current period and the last period (again, Balance Sheet accounts would simply take the value from the last period). One can decide to store data in YTD or on a Periodic basis setting the AppSet Parameters. Figure 31: Terminology: Transaction Data Transaction Data is stored in Applications (Cubes). Note: Every dimension in the cube has a dimension member posted in every record and each one is a base level member. Base level members don'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 and applications/dimensions from SAP Business Planning and Consolidation. An SAP Business Planning and Consolidation application can be described as being similar to an InfoCube in SAP NetWeaver. • • • 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 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 star schema. 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 Key Terms 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 Overview For those companies who are already using Integrated Planning, the following comparison may be useful. Lesson Objectives After completing this lesson, you will be able to: • Discuss the high level differences between Integrated Planning and BPC. Business Example You are currently using Integrated Planning and you need to know what the benefits are to migrate. Figure 35: High Level Overall Comparison • The upper slide compares two planning tools offered by SAP: – – 30 BW Integrated Planning SAP BO Planning and Consolidation and shows the main differences between both tools from a strategic point of view. © 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 concerning the 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 there are planning plus consolidation requirements in Federal Government opportunities in North America. Note, SAP BusinessObjects Planning and Consolidation is recommended 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 Overview This lesson is an introduction for the Admin Console. This is the workbench for BPC Administrators. Lesson Objectives After 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 you build 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 sets and to set the default set. Figure 41: The Connection Wizard The Connection Wizard guides the user through the process of connecting to the BPC 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 have selected 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 is finished. 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 created objects. 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 is unavailable. It is recommended to include the date and time in the message which will indicate to 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 being offline for other modules. • • • Once logged on, Administrators can still get data, but they should be very careful as the AppSet is typically offline for a reason. Additionally, data manager packages can still be executed when the AppSet is offline if Administrators enter the AppSet after receiving the above warning. Administrators can also Write back through input schedules if they decide to continue, so this warning should be taken seriously. Figure 47: Set Template Version Updating the template version number will force an update of the template files to the clients. The version number can be changed in the Admin Console as well as in the Application 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 update if 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 most recent 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 transport entries 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 an AppSet. 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 Overview Understand the possibilities of how to load master data. Lesson Objectives After completing this lesson, you will 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. Business Example Figure 53: Where Do you Create Dimensions Click on the Dimension Library in the Admin Console. This opens the available Action 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 Admin Console. 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 application in the application set. Dimensions within one Application Set cannot be used within another Application Set. Some dimension types are required dimensions and must exist in all the applications within an application set. The dimension type determines the default properties to be included in the dimension. 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 the case 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 inside the Admin Console. If you make any mistakes you may click the Back button, or click Back on the main Admin Console Action Pane. Remember, clicking the Left hand side pane will quit the activity or step in the process. 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 new dimension (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 linked to 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 Advanced logic or rule based calculations. But we can store many more properties and longer lengths for storing important information, such as a Full Customer Address without using multiple properties. In SAP Business Planning and Consolidation, you can only increase the size of a property, you cannot reduce the size. To reduce the size, you will have 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 Warehousing Workbench. By entering the Workbench, selecting InfoProvider section, you will see the list of SAP Business Planning and Consolidation dimensions. Selecting a dimension will display a view that highlights the properties of the dimension, 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 the users interface and make reporting much easier. In addition, properties are often critical component used to evaluate expressions in advanced script logic and business rules. Remember, the value you place in a members property may be pulled to any applications 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, such as the description and reference dimension. You cannot “rename” the dimension; for that process, you would need to either copy 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, that already have several properties and members, but you need separate dimensions for 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 • • • • 2010 When you create a new dimension, a Member Sheet is automatically created, 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 same name 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 member properties) in your application are maintained. © 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 SAP NetWeaver 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 that member is deleted, including across applications if the dimension is shared. To delete a member in a cube, all relevant associated data must be cleared first using 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-process the whole application to get everything back to order. Member sheets are temporary storage views of the member information in the SAP 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 has been noted as a possible area for improvement. Do not be surprised that what you saved, once re-opened has a whole new look to it. 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 the need for rollups is common. Hierarchies also allow the use of multiple views from one dimension. For example the entity (such as Store) dimension can be used to view 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 same children if it is reused across multiple hierarchies. To process a dimension, click on “Dimension Library” on the left of the Admin Console. 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 Admin Console. 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 member sheet”. This means that when you process a dimension, the values to save back to the master data of the SAP NetWeaver B InfoObject are taken from the Excel sheet you currently have open on your client machine. If you do not select this, it assumes you have already chosen to save the sheet to the server before processing, and therefore the BW master data is updated from the sheet on the server. Processing a dimension should be significantly faster in SAP Business Planning and Consolidation than SAP Business Planning and Consolidation for Microsoft because there is no need for it to rollup the MOLAP cube. If you have manually built aggregates on your SAP Business Planning and Consolidation 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 administrators to view all the components from the backend. Every SAP Administrator will say “What can I change, touch, modify using the backend?” or “Is this the same as.(other tools using BW-IP)?”. The answer is DO NOT CHANGE ANYTHING and DO NOT TRY TO MODIFY ANYTHING. The next slide indicates what may be changed and any changes outside of the ones herein 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 Business Explorer This slides lists what you can and can not change via the SAP NetWeaver Admin Workbench. Figure 72: Supported Changes via Admin Work-bench – Tab Card Master Data/Texts VIEW ONLY in the SAP NetWeaver Admin Workbench from the SAP Business Planning 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 Card Compounding 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 relevant dimension afterwards. If you use BW to load master data you will need to run the hierarchy attribute change run in BW manually as well as make sure the caching mechanisms in SAP Business Planning and Consolidation were updated correctly. You can call ABAP program UJA_REFRESH_DIM_CACHE using the process type “ABAP_PROGRAM” in a process chain to update the BPC dimension cache. To debug an API, you can set your user as a debug user in server manager and set 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 Overview In this lesson we will discuss how to model and create application. Lesson Objectives After 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 Example You need to set BPC up to do expense planning and so you need the applications to store the transaction data. Figure 76: Admin Client – Applications Applications are administered from the SAP Business Planning and Consolidation Admin client. If you select the Application level on the left, the Action Pane will display tasks relevant 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 can not 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 Source application will be copied. If the Application Type is Financial or Consolidations, then Journals are also copied during Create. Technically the following operations are realized as Process Chains and will technically 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 information and progress of these jobs. During execution the Admin Client will be locked and will constantly poll for the status 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 rule tables 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 or modify dimensions without any restrictions. This is different from the usual SAP NetWeaver 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 which allows different dimensions to be added to the new application. Dimensions could also be added/removed later as well. A dimension can also be flagged as a “Secured” dimension during this process which means that a kind of “authorization object” is created for it, which means security can be controlled through Member Access Profiles. Each application should have at least four dimensions; Category, Entity and Time, Account. To delete a dimension from an application, it is necessary to first delete all the dependencies 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 tells the 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 work status 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 dimension types 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 certain Financial and Consolidations applications. Figure 83: Back-end InfoProviders InfoProvider definitions for an SAP Business Planning and Consolidation application 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 in the BPC-Cube are the same as in “normal” BI cubes: 248 characteristics per BI-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 InfoCube in an attempt to improve performance. There is no rule of thumb for how often to run optimizations, but as data volumes grow 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 without Zero-Elimination and index the cube, and update database statistics for the BI Cube. Full Optimize: will perform the same operations as Light Optimize, but will also check the NetWeaver BI data model. If the data model can be improved, 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 in the 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 been made 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 had aggregates 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 and Consolidation (BPC) Applications can only be performed using the BPC Admin interface 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 time dimension, and that is all that NetWeaver supports for partitioning. We will consider 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 specify tablespaces) for an InfoCube. However, most of these parameters are available when the cube contains no data. Therefore, when you create a new cubes you could alter them, but when a shadow cube is created, these type of changes would be lost. Therefore, it is not really possible 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 convention /CPMB/<AppsetPrefix>I<ApplicationPrefix><1GeneratedChar> The MultiProvider is generated in namespace /CPMB/ with naming convention /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-modeling toolbox in BI! So we do not need to obey the underlying SAP NetWeaver restrictions on adding/removing dimensions. Working with Full Optimize: – • • 2010 A new cube with all the changes and with a technically new name is created. – 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 the BPC Cube would not be related to the MultiProvider. The MultiProvider and the Query are always created automatically. They are both constants in the data flow. The underlying Realtime InfoProvider is exchanged if you do a full optimize. The new cube would then have to be added manually to the MultiProvider after the optimization. MultiProvider and Query are merely technically needed because of Full Optimize. Depending on the Clients Request data is directly read from the query using SQL. All MDX statements are then performed against the query, built on top of the MultiProvider. © 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 be accumulated 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-date basis. If YTD is required, applications can store the data on a YTD basis. When data is entered into YTD, its periodic values used for reporting purposes, are calculated as the difference between the current period and the last period (again, Balance Sheet accounts would simply take the value from the last period). One can decide to store data in YTD or on a Periodic basis setting the Application Parameters as shown above. The YTDINPUT Web Admin Parameter defines the application type (Periodic or YTD). By default, applications are PERIODIC. You can change the YTDINPUT parameter 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 it is important to define the type of application and understand how the data will be stored in the fact table. Its possible to use a preconfigured Data Management Package to convert from one time 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 and Consolidation. 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 can support the measures across either type of Application. Therefore, there are 6 entries shipped in this table (2 storage types * 3 measure formulas). 2010 © 2010 SAP AG. All rights reserved. 73 Unit 1: Concepts and Objects in BPC Administration BPC420 The formulas are Multidimensional Expressions (MDX) statements that tell you how to convert the data into the correct format. They typically deal with sign transformations and time calculations for each Account 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 are read 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 dynamic replacement, but this optimizes runtime performance). Therefore, it is important to note that if you add a new formula into UJA_FORMULA for an existing application, you will also need to manually update 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 is created. So all this configuration is a major reason why you cant use an existing BI cube! 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 Overview This lesson inform about “Administration in BPC”. Lesson Objectives After 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 Example You need to set up the security model for BPC and so you need to know how the four 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 be configured 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 task profiles, access profiles to users directly. If many users need access to identical base members, then you should create the relevant member access profiles, create teams, assign teams to profiles and users to teams. Modeling of Security is team-based then. Maintenance is easy here if people leave, need a substitute and so on if everything is managed by team. But its a lot of maintenance to create so many teams. If nearly all users need access to completely different members, then a member access profile-model is needed in which you create the relevant member access profiles 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 required profiles are assigned to these teams. User: • • 2010 BPC and the Advanced Business Application Programming (ABAP) part of Netweaver have separate concepts of a user. A BPC user is not the same as 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 or a demonstration. © 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 perform in BPC. Member Access Profile: • A member access profile determines applications and dimension members where a user or a team has read, write or deny access to a particular region of data 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 to a 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 she can become a team leader by clicking a selection flag on the left hand side of the selected user. You can also see that the user is assigned to a Task Profile and to a Member Access 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 BPC parts 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 team members. 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 not assigned • 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 to assign 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 can read 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 Company or 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 the users 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 a pre-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 function tasks. Default function tasks can be cumulative. For example a user can be both, a System Admin and a Primary Admin. There are three types of default function tasks available for Task Profiles • • • 2010 System Admin: By default a System Admin can create, modify, or delete application sets and define security. Primary Admin: By default a Primary Admin can do all admin tasks except create, modify, or delete application sets. Secondary Admin: By default being a Secondary Admin allows users to manage dimension members and to maintain locks. © 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 security settings 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 authorization relevant 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” access to all members. Without having defined a Member Access Profile its not possible to work with the Application. 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 be administrated. You have write access to all members of a dimension which are not marked as secured dimension. In SAP terms you would say that you have “SAPALL” for these 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 related to the security concept. The upper hierarchies form the example for the security issues described in the next 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 Unless Child 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 Team Access 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 – Less Restrictive 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 88 © 2010 SAP AG. All rights reserved. BPC420 2010 BPC420 Lesson: Security Exercise 1: Concepts and Objects in BPC Administration Exercise Objectives After completing this exercise, you will be able to: • Create dimensions and applications. • Maintain master data including hierarchies. Business Example You need to create the dimensions and applications for a planning scenario. Task 1: Access Your Student_## Application Set Objective: 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. It was 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 any Lab 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 Dimension Objective: 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 ApShell to ones that are needed for your STUDENT_## application set. Add new account members to the account member sheet. Validate and process the Account dimension to apply the changes. Description: This lab will help you learn how to update dimensions and members using the Admin Console. Dimensions should reflect your business. It's a good idea to think about the following related business requirements as we work with dimensions: Dimensions – what dimensions do you need in your appset, how many per application 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 all Acctype 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 values EXP and delete any existing formulas in column G: 3. Open up the provided excel file with dimension members on the G drive in the BPC7.5 folder, look for your bpc420-## folder and the student_dimension file 7.5: 4. Copy and paste in the members and properties from the Student_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 Dimension Objective: Add a dimension called PRODUCT and add members to the Product dimension. Description: This lab will help you learn how to create a dimension and add members. You will create a new dimension, add the PRODTYPE property with a length of 10 and then copy the members from an existing Excel workbook on your remote computer. 1. From the tree view of the Admin Console, select Dimension Library. Add a new 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 the dimension. Task 4: Maintain the Time Dimension Objective: Maintain the members of Time within your STUDENT_## application set. Description: Maintain the time members. Hint: If you take a look at the members you can see that Time has 16 periods which is 12 months and 4 special periods 13 to 16 and descriptions S1 to S4. 1. Open the time membersheet, copy the time sheet values from the student dimension file and replace the entire contents of the time membersheet. Of course, you will need to process the dimension. Task 5: Updating the Category Dimension Objective: Change the delivered category members to ones that are needed for your STUDENT_## application set. Description: Modify the category members by copying and pasting members from the Student_Dimensions.xls workbook. 1. Open up the category membersheet and copy in the new members then process 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 Dimension Objective: Add properties and change the default entity members to ones that are needed for your STUDENT_## application set. Description: Copy and paste members from the Student_Dimensions.xls workbook. 1. Add two properties to the Entity dimension: COUNTRY and REGION both with 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 and access the BW data directly. 3. Load the new entity members from the Student Dimension File. Task 7: Updating the InputCurrency Dimension Objective: Change the default input currency members to ones that are needed for your STUDENT_## application set. Description: Modify the input currency members by copying and pasting members from the Student_Dimensions.xls workbook. 1. Open the Inputcurrency member sheet. 2. Copy the entire sheet with InputCurrency members from your student dimensions 7.5 file. 3. Paste in the new values and store them in the data base by processing the dimension. Task 8: View the master data from the BW Application Server Go to the BW Data Warehousing workbench and browse the data for the product dimension. 1. If you haven't already, log on to the BW Application Server and then goto the BW Data Warehousing workbench. Goto your STUDENT_## appset and find the PRODUCT characteristic. Go into the definition of the characteristic and 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 Application Objective: 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 also retrieve data from multiple applications in the same application set into the same report. 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 an application with the same dimensions as the source application and that's fine when the new application requires the same structure. 5. Now let's have the system create the new application via 'ADD A NEW APPLICATION'. 6. Now let's see what's involved to change the dimensions in our new application via 'MODIFY APPLICATION' 7. Select the dimensions (category, entity, inputcurrency, product, p_acct, and time) and make Entity and Category securable. 8. Now let's have the system remodel the Application via 'MODIFY APPLICATION'. 9. Now go back to your BW Application Server. Within the Data Warehousing Workbench goto your D_ACT## InfoCube and enter its definition in display mode to see how BW characteristics are grouped into InfoCube dimensions. Open up navigation attributes to see how you can use properties in select statements. Then, confirm that there is only one key figure. 10. Confirm that BPC creates a real time InfoCube for each application and that they can be either loaded via BW or planned via BPC by viewing the Real-Time InfoProvider icon to the right of the InfoCube. Also, right click on the InfoCube and view the data mode options via 'change real time load behavior'. 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 all Tasks Objective: Using the Admin Console, grant access to dimension members of the newly created application. Description: When a new application is created, you must define member access to the secured dimensions that reside in the application. This is required in order to use Web, Excel, Word and PowerPoint Interfaces with any newly created application. 1. Allow BPC access to the members of your new application by providing 'read and write access' in the AdminMbrAccPrf member access profile for both secure dimensions for all members. Perform this step for all three applications. Note: This profile was copied over from the ApShell application set when your STUDENT_## application set was created. Caution: Use the system 'drop downs' to do your selections, do not type. 2. Now we need to give ourselves more 'tasks'. Modify PrimaryAdmin delivered task profile. Activate the system, primary, and secondary task profile types. On step 2 include all tasks for each interface in 'selected interface 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 Action Pane 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 BPC Administration Task 1: Access Your Student_## Application Set Objective: 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. It was 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 any Lab equate them with STUDENT_##. a) In the Admin Console, select your STUDENT_## AppSet → Open up the 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 Dimension Objective: 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 ApShell to ones that are needed for your STUDENT_## application set. Add new account members to the account member sheet. Validate and process the Account dimension to apply the changes. Description: This lab will help you learn how to update dimensions and members using the Admin Console. Dimensions should reflect your business. It's a good idea to think about the following related business requirements as we work with dimensions: Dimensions – what dimensions do you need in your appset, how many per application 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 all Acctype 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 values EXP and delete any existing formulas in column G: a) 3. Select the P_ACCT Dimension → Maintain dimension members → Fill in the ACCTYPE property value of EXP in D29 → Delete the formulas in G27 and G28. Open up the provided excel file with dimension members on the G drive in the BPC7.5 folder, look for your bpc420-## folder and the student_dimension file 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 4. Copy and paste in the members and properties from the Student_Dimensions_7.5 file in the 'P_ACCT_COMPLETE' sheet. a) 5. Goto the P_ACCT_COMPLETE sheet → Copy and paste the selected members into the member sheet in A31. Maintain Owner and Reviewer as follows: ADTWDFVM2001\CPM-##. a) 6. BPC420 Within the Membersheet navigate to column “Owner” and “Reviewer” and fill in ADTWDFVM2001\CPM-## with ## as your monitor number for all members. Process the dimension without taking the system offline: a) From the Action Pane → select Process dimension → The Process dimensions dialog box is displayed → deselect Take System Offline → OK → OK. Figure 114: Selection Note: Due to some technical issues in service pack 3, we need to confirm that the hierarchy parents are stored in BW. b) Refresh the data from BW: Select p_acct → 'Refresh dimension members': 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 you pasted in general), follow these steps: Copy the missing parents from the Student Dimension 7.5 file → Paste into C31:C70 → Process dimension → Ok → Ok → Select p_acct → 'Refresh dimension members' → 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 Dimension Objective: Add a dimension called PRODUCT and add members to the Product dimension. Description: This lab will help you learn how to create a dimension and add members. You will create a new dimension, add the PRODTYPE property with a length of 10 and then copy the members from an existing Excel workbook on your remote computer. 1. From the tree view of the Admin Console, select Dimension Library. Add a new user defined dimension with a name and description of PRODUCT. a) On the upper right: Add a new dimension → Enter a name and description 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 with a length of 10: Figure 118: PRODTYPE b) 3. Modify dimension → Ok. 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. Highlight the entire sheet by clicking in the cell above row 1 and to the left of column A. Then choose Ctrl C Note: Since we are copying the rows and columns from the student file, we are creating a column in the membersheet called PARENTH1 that is used for the hierarchy parent child data. This is the only column in the membersheet which is not a property. Continued on next page 2010 © 2010 SAP AG. All rights reserved. 101 Unit 1: Concepts and Objects in BPC Administration 5. BPC420 Paste the members into the PRODUCT member sheet and process the dimension. a) In the Admin Console → Goto the PRODUCT Member Sheet → Highlight the entire sheet → Paste in the members → Process dimension → 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 Dimension Objective: Maintain the members of Time within your STUDENT_## application set. Description: Maintain the time members. Hint: If you take a look at the members you can see that Time has 16 periods which is 12 months and 4 special periods 13 to 16 and descriptions S1 to S4. 1. Open the time membersheet, copy the time sheet values from the student dimension file and replace the entire contents of the time membersheet. Of course, you will need to process the dimension. a) Goto the Admin console → Select the Time Dimension → Maintain dimension 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 the left of column A. Then Ctrl C. c) In the Admin Console: Highlight the entire sheet → Paste the members into the time member sheet → Process dimension → Ok → Ok. Task 5: Updating the Category Dimension Objective: Change the delivered category members to ones that are needed for your STUDENT_## application set. Description: Modify the category members by copying and pasting members from the Student_Dimensions.xls workbook. 1. Open up the category membersheet and copy in the new members then process your dimension. a) From the tree view of the Admin Console: Select the Category dimension → Maintain dimension members → In your student dimension 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 Dimension Objective: Add properties and change the default entity members to ones that are needed for your STUDENT_## application set. Description: Copy and paste members from the Student_Dimensions.xls workbook. 1. 2. Add two properties to the Entity dimension: COUNTRY and REGION both with 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 → Add COUNTRY and REGION with a length of 10 → Modify dimension property. Delete the existing members. You may need to process the dimension twice. Also, use the 'Refresh dimension member' option to clear the cache and access the BW data directly. a) Select Entity → Maintain dimension members → Highlight the rows with 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 member sheet. (if you don't repeat the process above) b) Let's make sure that worked: Select Entity on the left → Select 'Refresh dimension member' on the right → Proceed through the message regarding the cache → Select the Entity dimension again → Maintain dimension 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 into the Entity members sheet → Change the owner and value from ADTWDFVM2001\BPCADMIN to ADTWDFVM2001\CPM-## for every 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 the system offline → Ok → Ok. c) Let's make sure that worked: Select Entity on the left → Select 'Refresh dimension member' on the right → Proceed through the message regarding the cache → Select the Entity dimension again → Maintain dimension members → The member sheet should be filled as you see above → 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 Dimension Objective: Change the default input currency members to ones that are needed for your STUDENT_## application set. Description: Modify the input currency members by copying and pasting members from the Student_Dimensions.xls workbook. 1. Open the Inputcurrency member sheet. a) From the tree view of the Admin Console, select the InputCurrency dimension. From the Action Pane, select Maintain dimension members. The InputCurrency.xls workbook is opened. 2. Copy the entire sheet with InputCurrency members from your student dimensions 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 the dimension. a) Go back to the Admin Console: Highlight the entire sheet → Right click and Paste → Process dimension → Don't take the system offline → Ok → Ok. Task 8: View the master data from the BW Application Server Go to the BW Data Warehousing workbench and browse the data for the product dimension. 1. If you haven't already, log on to the BW Application Server and then goto the BW Data Warehousing workbench. Goto your STUDENT_## appset and find the PRODUCT characteristic. Go into the definition of the characteristic and use the 'maintain' button to view the master data. a) Log on: In your remote desktop → Start → Programs → SAP Front End → SAP Logon → Maximize the screen → Enter User: CPM-## → Password: training → Logon. b) Let's start from the main screen of the BW Application Server: Open modeling → 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 BW workbench from the BW Application Server. Just enter /NRSA1 in the white command field from any screen and hit enter. Within the Workbench, click on 'InfoProvider' in the modeling Area on the upper left hand side.. c) Now select the InfoArea (these are folders, the icon is a double green diamond) Business Planning and Consolidation → Goto the 'Student_## ' and open it up → Double click on the PRODUCT Dimension → Have a short look at the tabs → Select the Maintain button → 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. Go back to the Admin Console. Continued on next page 108 © 2010 SAP AG. All rights reserved. 2010 BPC420 Lesson: Security Task 9: Creating a New Application Objective: 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 also retrieve data from multiple applications in the same application set into the same report. 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 the Application Set Student_## and then click on Application on the left hand 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 a name 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 3. BPC420 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 an application with the same dimensions as the source application and that'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 NEW APPLICATION'. a) 6. Now click ADD A NEW APPLICATION. Now let's see what's involved to change the dimensions in our new application via 'MODIFY APPLICATION' a) On the left hand side of your tree click on D_ACT## and then select MODIFY APPLICATION from the Action Pane. Note: Now we want to change an existing application. This is not 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 7. BPC420 Select the dimensions (category, entity, inputcurrency, product, p_acct, and time) and make Entity and Category securable. a) Use the double arrow left to remove all existing dimensions → Select the dimensions by double clicking as shown below → Make Category and Entity secure. Figure 126: Secured Dimensions 8. Now let's have the system remodel the Application via 'MODIFY APPLICATION'. a) Then click on MODIFY APPLICATION. Note: If a warning about journal entries pops up, continue with YES 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## InfoCube and enter its definition in display mode to see how BW characteristics are grouped into InfoCube dimensions. Open up navigation attributes to see how you can use properties in select statements. Then, confirm that there is only one key figure. a) In the BW Application Server → Data Warehousing Workbench → Select the Info Area (double green diamond): STUDENT_## → Select Refresh → Double click on D_ACT## → Open the 'folders' as shown below to see the characteristics and key figure in the BW model. Note: BW dimensions are 'folders' for one for more characteristics. BPC Dimensions are equivalent to BW Characteristics. 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 properties for every characteristic in the InfoCube: Figure 128: Navigation Attributes Select F3. 10. Confirm that BPC creates a real time InfoCube for each application and that they can be either loaded via BW or planned via BPC by viewing the Real-Time InfoProvider icon to the right of the InfoCube. Also, right click on the InfoCube and view the data mode options via 'change real time load behavior'. a) Verify that the D_ACT## cube is a Real-Time InfoProvider by hovering 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 click on 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 all Tasks Objective: Using the Admin Console, grant access to dimension members of the newly created application. Description: When a new application is created, you must define member access to the secured dimensions that reside in the application. This is required in order to use Web, Excel, Word and PowerPoint Interfaces with any newly created application. 1. Allow BPC access to the members of your new application by providing 'read and write access' in the AdminMbrAccPrf member access profile for both secure dimensions for all members. Perform this step for all three applications. Note: This profile was copied over from the ApShell application set when your STUDENT_## application set was created. Caution: Use the system 'drop downs' to do your selections, do not type. a) From the Admin Console, expand the Security folder on the lower left and then expand the Member 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, select Modify member access profile. e) Select Next Select the D_ACT## Application tab on the upper right and verify that your screen looks similar to the following: Figure 133: BPC Access f) On the first row, select Read & Write from the Access drop down list box 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 member selector dialog box. h) Select the All members in dimension checkbox as shown below, then select OK. ellipse button to open the 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 down list box and select Category from the Dimension drop down list box. j) In the Member field, click on the member selector dialog box. k) Select the All members in dimension checkbox then select OK. l) Verify that your screen looks similar to the following: ellipse button to open the 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 PrimaryAdmin delivered task profile. Activate the system, primary, and secondary task profile types. On step 2 include all tasks for each interface in 'selected interface tasks'. On step 3, assign this task profile to the ADMIN team. a) Open 'Task Profiles' and Select PrimaryAdmin and then Modify Task Profile. 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 shift them 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 'Selected Interface Task' list: Figure 137: Default Functional Tasks c) After that click NEXT and in the next screen move the ADMIN Team in 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 d) 3. BPC420 Then click NEXT, APPLY and then OK. Now you are authorized for all actions in the system. 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 Action Pane select Set Application Set Status. In the next popup select Available. Then click on Update Application Set Status. a) 120 Select your Student_## application set on the upper left and from the Action Pane select Set Application Set Status. In the next popup select Available. Then click on Update Application Set Status. © 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 Summary You 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 2 Navigating in the Interface for Excel Unit Overview After completing this unit, you will understand how to navigate in the Interface for Excel and to work with delivered BO PC templates. Unit Objectives After 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 Contents Lesson: 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 Overview The customer shall get a brief overview about navigation in the Interface for Excel. Lesson Objectives After 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 Example The end user wants to work with predelivered templates and needs some knowledge about how to navigate in the Interface for Excel. Now that your company or client has implemented SAP BusinessObjects Planning and Consolidation, you need to learn how to work in the Interface for Excel. You need to know all about the action pane, the 'E' menu's, the current view, expansion options, delivered templates as so forth. Figure 139: Microsoft Office Integration Business Planning and Consolidation 7.5, version for Netweaver combines the power of BPC with the rich functionality of Microsoft Excel, Word and PowerPoint. 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 the BPC 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 hierarchical level member displays, which also clears the list of recently accessed members. You reset the current view bar within Interface for Excel by choosing eTools Client Options Clear current view bar. Clear Local Application Information You can clear the files associated with an application from your client. After you perform this procedure, the next time you log on to this Interface for Excel application, you are prompted to complete the Connection Wizard, which allows you to select a server and any authorized application sets. You can clear the files associated with an application from your client by choosing within Interface for Excel eTools Client Options Clear Local Application Information. Refresh Dimension Members When you log on to an application set whose structure has changed (there are changes to dimensions and templates stored on the server), the system automatically updates your client information. You can also initiate this procedure manually, 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 and member information saved on the server by choosing within Interface for Excel eTools → Refresh dimension members. Refresh Dynamic Templates You can update the wizard templates on your client with the templates saved on the server by choosing within Interface for Excel eTools Client Options Refresh Dynamic Templates. Set Local Folder for Planning and Consolidation (for Clients) You can set a user-defined working folder on each client machine by choosing within Interface for Excel eTools Client Options Set local folder for Planning and Consolidation. 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 taken and which members, parent members, or top level members are represented in the active 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 various members, or selecting them from the Member Lookup. All the dimensions and members 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 or base 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 view information that your member access profile allows. The Member Lookup can be accessed if you click at the technical names of the relevant dimension within the Current View. A further possibility is via: Planning & Consolidation Ribbon → eTools → Select Members. Then select your dimension. A third possibility would be if you are in an open Report Template or Input Schedule and you execute a right mouse click at any place you will find the menu point “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 • • • • • 2010 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 for pasting into a spreadsheet. © 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. 2. 3. 4. From the Member Lookup, make sure the Filtering area is displayed. Select the Use the Filter check box. From the Filter area, select one or more properties on the left, and property values on the right. 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 Panel settings. Its possible that the Administrator creates new templates and adds them to the Template 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 “Planning Layouts” in BO PC. With the help of Input Schedules you can enter data and save it 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 EVDRE function. 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 a report 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 workbook performance. After setting the type, you can further customize the refresh options to suit your needs. Refresh and expansion: When you refresh a workbook, the system goes to the server and returns data values for the cells whose retrieval formulas are affected. When you expand a workbook, the expansion functions dynamically expand dimensional data. All refresh and expansion options for both reports and input schedules are enabled by default except for Refresh by sheet. Refresh workbook on worksheet update: The system automatically performs a refresh when a change is made to an affected data cell. Refresh after data send: The system automatically performs a refresh after data is sent to the database. If not selected, you can perform a manual refresh by selecting 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 expansion functions when the workbook opens. If you do not select it, you can perform a manual expansion by selecting eTools Expand All. Expand on CurrentView change: The system automatically expands the expansion functions when the current view is changed. If not selected, you can perform a manual expansion by selecting eTools Expand All. Refresh by sheet: When you tab from one worksheet to another in an EvDRE report, select this option to refresh each worksheet individually. Unopened worksheets are not refreshed. Allow users to change options: If you select this, users, who are not administrators, can set workbook options on a workbook. 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. You can use Expand by Overwriting Rows or Expand by Inserting Rows. When you select Expand by Overwriting Rows, the expanded members display in the rows below the expanded member, clearing existing members. When you select Expand by Inserting Rows, any rows below the expanded member shift down, and new rows are inserted to accommodate the newly displayed members. Set maximum expansion: For performance purposes, there is a maximum number of rows and columns to return when the row or column in the report or input schedule dynamically expands. For Microsoft Excel, the maximum number of rows is 65,535 and the maximum number 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 and the maximum number of columns is 16,383. Override current view settings: When you open a Planning and Consolidation report or input schedule in Interface for 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 can override 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 member names and values) of an empty cell on the workbook. Enter the names and values of the members you want to hard code. Select eTools Workbook Options , then select the two-column range of cells that represents the current view settings, and then choose Add. Choose the Remove button to remove the range. Note: The Override applies only to non EvDRE templates. It points to the control panel to control non-specified EvGET/EvGTS definitions. If you define a row/column, you can override only the dimensions for the page keys 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 when you 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 between the reports, a unique current view is used for each. Set worksheet password: You can set a Planning and Consolidation password on the workbook. A Planning and Consolidation password is required when the report or input schedule is distributed or collected using the Offline Distribution Wizard. The password is different from native Excel's workbook password. If you use the Excel password to secure a workbook, Planning and Consolidation expansions may not work properly. To set the password, select eTools Workbook Options from the Excel interface. Lock status: The Workbook Options dialog shows whether the current workbook is locked or unlocked. 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 a specific comment value, you can have it displayed as text in the cell or in a Microsoft 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 you can change some settings. This can be done via Control Panel which is symbolized by the two “+” icons in the Excel framework. If you open the Control Panel you can see the “EVDRE Ranges and Expansion section” withe MemberSet selections. This parameter defines the set of members to expand for the corresponding dimension. 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 corresponding dimension 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 and hard-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, the parent 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 the BPC 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 the server (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, version for SAP NetWeaver with experience with Microsoft Office 2007 Excel will benefit from: • The enhanced ease within BPC Excel through the use of the Excel 2007 Ribbon (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 for SAP 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 for SAP 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 BusinessObjects Planning and Consolidation 7.5 NetWeaver interface for Excel The Ribbon is the strip of buttons and icons located above the work area in Excel 2007, 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 see further options such as: • • • • 2010 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 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 Consolidation menus: • • • • eAnalyze eSubmit ePublish eTools Selecting any of these options from the Excel Ribbon will display a contextual menu that relates specifically to the option chosen Access to these options are controlled by the users security. If a user does not have access to a specific option in the Planning and Consolidation Excel interface, it will 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 navigation options 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 Manager activities 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 and About Function The Log On or Log Off icons in the Ribbon provide SAP BusinessObjects Planning and Consolidation users the ability to log on or off from Planning and Consolidation Excel in a single step. The About function provides information regarding the Planning and Consolidation 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 for SAP 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 for SAP NetWeaver with Microsoft 2007, the add-in works, but the Ribbon is not used (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 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. 2010 © 2010 SAP AG. All rights reserved. 145 Unit Summary 146 BPC420 © 2010 SAP AG. All rights reserved. 2010 Unit 3 Data Acquisition, Transformation, MultiProvider and BW Reporting Unit Overview After completing this unit, you will understand how load master and transaction data well as hierarchies from BW. You will also understand how to load data via Flat File. This unit also shows how to create a MultiProvider and Query Scenario based on plan data from BO PC. Unit Objectives After 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 Contents Lesson: Data Acquisition, Transformations, Packages, and Package Links ..............................................................................148 Exercise 2: Data Acquisition, Transformation, MultiProvider, and BW Reporting ....................................................................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 Overview This unit deals with all kinds of loading aspects concerning the BO PC loading technique. This contains loading of master data from BW and Flat File to BO PC and loading of transaction data from BW and per Flat File. All kinds of transformations will be shown too. In addition the loaded data shall be reported using a BW query on top of a BW MultiProvider. Lesson Objectives After 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 Example Your project team wants to get familiar with the BO PC loading techniques concerning 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 • • • • • • 2010 The Data Manager is the main back-end mechanism and allows you to do common data manipulation activities. It is implemented as process chains and the Data Manager can handle transactional 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 as templates 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 different package and make changes there. © 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 Management Packages. Underlying you have process chains. Most of them are delivered but you can also take 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 magnifying icon 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 is locked, 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, but you 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 at predetermined 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 successful or 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 a process chain is added. You can use pre-defined process chains as described before or custom built process 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 existing BPC process chain as template and copy it and then make the modifications in the 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 different instructions and parameters for the same SAP BusinessObjects Planning and Consolidation Process Chain. This avoids the need to copy the SAP BusinessObjects 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 be used to build packages: • • • • Standard Data Loading Packages Financial Packages Administrative Packages Example Packages. • These process chain templates can be displayed and edited in Advanced Business Application Programming (ABAP) transaction RSPC. Please note that the delivered process chains need to be activated in order to execute them. This is a standard NetWeaver BW feature. When you activate the process chains, the version changes from Delivered to Active. • • 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 it is easy to create a process type. Figure 169: Administration – Process Chains The above list shows the BW Process Chains contained in the Administration group. *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, version for 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 consists of three parts: - *Options - *Mapping - *Conversion. *Options concludes some parameters executed during executing of the data manipulation. They are described in the following slide. *Mapping is the area where the technical name of the dimension on the server and 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 the exernal keys from the flat file to the internal data base format of the key. Since the conversion is modeled in an Excel file the transformation file links to the conversion 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 Transformation File. Figure 174: *Options in the Transformation File 2/7 • 158 The upper slide explains which options can be used within the Transformation File. © 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 Transformation File. Figure 176: *Options in the Transformation File 4/7 • 2010 The upper slide explains which options can be used within the Transformation File. © 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 Transformation File. Figure 178: *Options in the Transformation File 6/7 • 160 The upper slide explains which options can be used within the Transformation File. © 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 Transformation File. Figure 180: Create a Conversion File Conversion files define the mapping by dimensions from external member names to internal member names. They also provide the ability to perform arithmetic and rounding on data as it is converted. You create one conversion file per dimension in a transformation. Each conversion file 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 dimension for which they are being used. • If you want to ignore certain external data, you can place the keyword *skip in 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 transfer transaction data from a BW InfoCube to a BO PC application. The target application is determined by the application set in the current view of the 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 and Consolidation 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 any existing mapping command for the member, such as *newcol, *col or *newcol(cash)+*col(1) Figure 184: Business Example Using *MVAL for Mapping Multiple Key Figures 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 for mapping multiple key figures to SAP BusinessObjects Planning and Consolidation dimension members. Here the intention is to map the 0BALANCE and 0QUANTITY key figures from the PCA cube into SAP BusinessObjects Planning and Consolidation dimension members ZBALANCE and ZQUANTITY of a user-defined dimension called ZKEYFIGURE. The syntax to accomplish this mapping is as follows: ZKEYFIGURE=*MVAL(0BALANCE|*NEWCOL(ZBALANCE)||0QUANTITY|*NEWCOL(ZQUANTITY)) • • Another commonly found scenario would be to utilize the account dimension to isolate the multiple key figures, rather than using a separate key figure dimension For example, you might elect to use the mapping: ZACCOUNT=*MVAL(0BALANCE|*NEWCOL(0000800000)||0QUANTITY|*NEWCOL(ZQUANTITY)) • Note: Be consistent when handing leading zeros in BW master data and SAP BusinessObjects Planning and Consolidation dimension members. – – 164 For example, the BW characteristic value 0000800000 on 0ACCOUNT in BW is different than account dimension member 800000 in SAP BusinessObjects Planning and Consolidation. Otherwise you may receive a Data Manager error message similar to the following: “0000800000 is not a valid command or column 0000800000 does not exist in the source” © 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 common MultiProvider and to build up a Query on top of the MultiProvider. Its not recommended to directly link the BW cube and the BO PC cube because of the different data qualities. Its recommended to first import BW transaction data into a BO PC cube and to create some data transformations to make the structures fit to the BO PC data quality. Then take this cube and a further BO PC cube and either create your own MultiProvider or take one of the automatically created BO PC MultiProviders. As you already know each BO PC applications produces a linked MultiProvider. 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 TIME dimension 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 process chain /CPMB/IMPORT_IOBJ_MASTER. • 166 Within the Select InfoObject dialogue box, the Refresh button is used to cache the BW InfoObjects in memory; Yet scrolling through the very long list of InfoObjects may be slow; The Search option can be used to quickly navigate to a specific InfoObject © 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 and Consolidation supports two operators: equal (=) and between (BT). All operations on a single attribute or hierarchy are <OR> operations. Any operations between multiple attributes are <AND> operations. • • • • • 168 When using the Set Selection with a master data hierarchy, the user does not have to import the entire hierarchy, rather a sub-tree can be selected by taking the member ID as root and specifying the level. For example, if Level =2, this means the two levels below the specified member 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. There is an option of whether to import hierarchy text nodes as parent dimension members. The user can maintain attribute values for text node in the transformation/conversion file. If the source BW hierarchy contains an external InfoObject, these values will not be imported into SAP BusinessObjects Planning and Consolidation concurrently. The user needs to import master data from such an external InfoObject using a separate Data Manager package. Set the Write Mode: if Overwrite is chosen, the master data in SAP BusinessObjects Planning and Consolidation will be replaced/overwritten by the new master data. If master data values are occupied by transaction data/hierarchy, the master data values are not deleted, while other unoccupied master data will be deleted. If Update mode is chosen, the property values will be overwritten if the ID is the same, while other master data will be kept and the new master data will be added. If Internal format is selected no conversion routine is used during the import process; If External format is set, then the related ABAP conversion routine will be used, if one is maintained on the source InfoObject from BW transaction RSD1 © 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 could be used to import cost center master data from BW into SAP BusinessObjects 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 SAP BusinessObjects Planning and Consolidation property name is on the left side of the equal to (=) sign, while the BW InfoObject is to the right of the equals sign. The last row shows an example for handling compounded InfoObjects like Controlling Area and Cost Center; In this case, the Controlling Area and the Cost Center will be concatenated together, while separated by an underscore (_); This design will guarantee unique dimension members are created in SAP BusinessObjects Planning and Consolidation, since the same Cost Center ID could be 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 BusinessObjects Planning and Consolidation member ID value for any hyphens (-) used in the BW 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('') ] demonstrates use of the split and join methods to remove any spaces which may exist in the BW master data values before importing to SAP BusinessObjects Planning and Consolidation dimension member IDs. Figure 189: Import BW InfoObject Master Data Hierarchy 1/2 To import master data hierarchies from a BW characteristic InfoObject, use process chain /CPMB/IMPORT_IOBJ_HIER. • 170 Within the Select InfoObject dialogue box, the Refresh button is used to cache the BW InfoObjects in memory. Yet scrolling through the very long list of InfoObjects may be slow. The Search option can be used to quickly navigate to a specific InfoObject. © 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 entire hierarchy, rather a sub-tree can be selected by taking the member ID as root and specifying the level. • • • • • For example, if Level =2, this means the two levels below the specified member 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 Consolidation concurrently. – – – 2010 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 the import process. If External format is set, then the related ABAP conversion routine will be used, if one is maintained on the source InfoObject from BW transaction RSD1. © 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 BusinessObjects Planning and Consolidation differently than expected above, then he/she must make sure the structure will not be changed. The hierarchy name in SAP BusinessObjects Planning and Consolidation must obey the naming conversion: PARENTH*. If the source hierarchy name doesnt follow such rule, the user must convert the hierarchy 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 which could be used to import cost center master data hierarchy from BW into SAP BusinessObjects 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 on both 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 ore more BW hierarchy names to the corresponding SAP BusinessObjects Planning and Consolidation hierarchy – obeying the standard SAP BusinessObjects Planning 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 spaces which may exist in the BW hierarchy nodes before importing to SAP BusinessObjects Planning and Consolidation. The second JavaScript example [ js: %external%.replace(“-”, “_”) ] is used to substitute an underscore (_) in the SAP BusinessObjects 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 SAP BusinessObjects Planning and Consolidation, it is also possible to specify in the NODE_NAME conversion file the following JavaScript [js: %external%.toString().replace(/\s+/g,“”) ] which uses a regular expression construct 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 following Web Admin parameters affect the behavior of file upload: • • • • • 174 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 Size of “upload data file” from Excel defaults to 100MB (can be configured in Web Admin). Microsoft Access data cant be directly uploaded through Data Manager. © 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 your data 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 Package for 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 data set and new records are merged into the existing records. The replace option however first deletes the original records for matching dimension members and then replaces them with those from the data set to be replaced. Figure 197: Import Transaction Data: Merge The upper graphics show how Merge 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 dimension members 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 of duplicate records This process chain imports transactional data from a flat file by clearing the data 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 Process Chain data types. This is a very helpful tool for the person who sets up any kind of 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 to BW 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 common receiver. You always have to create a 1:1 relation between sender and receiver per Copy Package. There is a better solution which can be modeled with the help of ScriptLogic and 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 cant do this working with the copy package since so transformation file can be added to a copy package so if you want to copy and revaluation you need the Import Package an need a transformation and conversion file which both include the revalution information. The transformation file contains the *Option: CONVERTAMOUNTVVDIM parameter and points to the dimension which will get a revaluation and *Conversion refers to the key figure value (AMOUNT) which will be changed by 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 per month 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 to both 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 transformation file to call the BAdI Create the transformation logic using ABAP Objects. Working with an include would be preferable. – Note: All BAdI implementations cannot be executed, if one is 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 Temp table Figure 206: Business Example Transformation File with Start/End Routines This business example shows a transformation file using new *OPTIONS keywords 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 Script Logic 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 Manager package. Historical reference: BW users familiar with earlier SAP planning applications like Integrated Planning or Business Planning and Simulation will equate the Package Link concept to what have been known as Global Planning Sequences previously. Figure 208: Updated Application Help The Application Help documentation for Data Manager has been updated for better clarity and completeness. 2010 © 2010 SAP AG. All rights reserved. 183 Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting 184 © 2010 SAP AG. All rights reserved. BPC420 2010 BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links Exercise 2: Data Acquisition, Transformation, MultiProvider, and BW Reporting Exercise Objectives After 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 Example You have data in the form of flat files as well as in existing InfoCubes that you need to load into your planning application. You also want do some actual vs. plan expense reporting using a BW query. Task 1: Import from a BW Key Figure based InfoCube to a BPC InfoCube (account based) Objective: In BW a source cube with multiple key figures with actual data exists and we want to transfer its data into your D_ACT## application. Description: When transferring data from BW InfoProviders to BPC Applications we have to take into account that sometimes the source will be a key figure based model. The BPC application however is always an account based model. Here you 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, use the lower one. 2. Go back to the Admin Console and access the Interface for Excel for D_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.001 etc. Continued on next page 2010 © 2010 SAP AG. All rights reserved. 185 Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting 5. BPC420 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 empty records with some blank fields in the sender cube). 6. Save your conversion file on the server which means the “Company” Folder and name it Conversion File “CONVERSION_CATEGORY_FYP_ENTITY.XLS” Note: The Conversion File must not be stored in the Examples folder! 7. The next step is to access the provided Transformation file: TRANSFORMATION_KEYFIGURE_ACCOUNT_MODEL.XLS. Take a look at the mapping section to see the transformation of the key figures to accounts. 8. Save and simulate your transformation file as TRANSFORMATION_KEYFIGURE_ACCOUNT_MODEL on the server using the company folder. 9. Use the 'loadinfoprovider' data manager import package to load the data from the S_ACT00 infoprovider to your application. Run it merge mode, without using default logic, and do not check work status. 10. Navigate to the BW Application Server and within the Data Warehousing Workbench 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 at the loaded Data for D_ACT##. Use the Evdre builder filter and the SELECTION property with a value of 'Y' for the P_ACCT dimension memberset, Enter EUR,GBP,CHF in the input currency memberset, and enter STORE1,STORE10,STORE16 into the Entity memberset. 12. Save your report as 'reports_actuals_2010' on the server in a new sub folder called BPC420. Task 2: Create the D_PLAN## Application Create a new application to store plan data Objective: Since we want to keep actual data and plan data in two different applications 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 copy of 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 member access profile to allow read/write on both dimensions for all members. Task 3: Manual Input Planning in D_PLAN## with reference to data in another Application Create some Plan Data with reference to actuals. Objective: Although we have a different Application for Actual Data we want to input data into the planning aplication with reference to the actual data in one input schedule. Therefore we use a preconfigured Input Schedule which refers to both applications in one sheet. We want to plan Revenues in in D_PLAN## in comparison to the actual data stored in D_ACT##. We only plan values for January of 2011 and only for DOGDRYPUPPY. Fixed costs will be transferred from Cost Center planning later Contribution 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 Cross Application Reporting Objective: You now want to add a second application to the BPC generated MultiProvider in your STUDENT_## info area in the Data Warehousing Workbench. Description: The BPC generated MultiProvider for application D_ACT## will be enhanced by adding D_PLAN## This will later allow you to create a BW query for an actual – plan comparison on this MultiProvider. Note: When you use BW queries on BPC data, the ACCTYPE property is not used to interpret balance sheet vs. income statement aggregation rules and sign display. In this case, we are only reporting EXP data so that is not an issue. Note: If you change the dimensions of the planning application in this scenario, the following steps will need to be repeated since BW will replace the technical name of the InfoCube. 1. If you haven't already, log on to the BW Application Server and then to the BW 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 comparison Objective: Creation of a query on top of the MultiProvider you created in the previous 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, and Product. 4. Create two time variables that will be used in the actual and budget data columns. 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 – Create COSTC (cost center) Dimension Objective: For your cost center planning scenario you want to maintain master data. Description: Master data is manually created for some cost center planning related dimensions. Note: We will create another Application called CC_PLAN## which shall contain 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 Application CC_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 the same as in the “Planning ” application. You should select application type “Financial” when creating this application and include the dimensions described in the table below. 2. Maintain data access authorization for CC_PLAN## in the Member Access Profile. 3. Logon to the Interface for Excel and select Application CC_PLAN## via the connection wizard. Task 8: Text and Attribute Import into COSTC from a BW Characteristic Objective: 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 to COSTC. Note: Compounding is used when non unique master data exists. In this case, a cost center is unique by controlling area which is similar to weather.com when the system requires a zip code to get the weather for a city. (one city id can be used in multiple states or 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 controlling area is required in the key for costc which means that member costc1 will be 1000_costc1 after the upload. The Properties Country, Region, owner, and reviewerwill be derived when loading master data since the source doesn't contain them. Looking at the master data for 0Costcenter a conversion file is will be used to skip cost center 1110 and AC30. Nodes of Hierarchies have to be created as members in the COSTC dimension. Currency and Compcode also have to be derived for the text node members. Task 9: Optional: Hierarchy Upload for COSTC from BW Objective: modeling of a Hierachy upload from a BW InfoObject. Description: Cost Center Text Hierarchy is loaded from BW into the COSTC dimension in BPC. 1. Open the provided conversion file and let's make sure we understand what the 3 sheets are doing: 2. Open the provided transformation file and save it to your application. Task 10: Optional: Loading of Flat File Master Data into the Category Dimension Objective: In this Lab, you will load master data the Category Dimension using Flat File Technique. Description: We want to load two further members for the Category Dimension just 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 Set STUDENT_## and your application CC_PLAN## are set and then upload your file on the “Server”. After that have a look at the Preview. As you can see no conversions and transformations 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 of transaction data for CC_PLAN## application Objective: Our starting point is the plan data for January, March, and April of 2011. Our scenario calls for us to use the data manager to copy the data in the subsequent months along with an adjusting factor (revaluation) that varies by month. This will require conversion files that are month specific. January will be copied 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 vary by month by cost elements (accounts). Description: Loading, Copying and Revaluation of Transaction data is configured in this Lab. 1. Within the “Interface for Excel” make sure that your Application Set STUDENT_## and your application CC_PLAN## are set and then upload your file on the “Server”. After that have a look at the Preview. As you can see no conversions and transformations will be necessary. Then, import the January 2011 data. 2. As our next goal we will copy our uploaded data from January to February 2011. 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 as REPORT_CCPLAN_2011_MONTH_DATA and leave this report open and 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 but this time with a cost element specific revaluation for each month. Note: Due to technical restrictions it́s not possible to construct one transformation file in which both Time and Amount for the relevant month can be marked up. Consequence: you will have to create 8 transformation files, each carrying two conversions, one conversion will be for Time and one conversion for the related Amount. For both Conversion Files we are going to need 8 sheets, one sheet for 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 Link Objective: We want to create a PACKAGE LINK to import and revalue May to December in one step. Description: Since we don't want to execute 8 revaluation packages individually we 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 Links Objective: Back to Sales application D_PLAN## we first want to give you the big picture in which direction we now want to go: It́s our goal to calculate contribution margin I using script logic Contribution 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 II To 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, for all Stores and Products. Revenue will later be calculated via script logic. Calculation of the contribution margin scheme will be done in the Forecast Category so that the manually planned Budget values in for the MultiProvider scenario will not be overwritten. 192 1. Upload the data files. 2. Create a package link for the 12 files. 3. Run the package link, check the data. © 2010 SAP AG. All rights reserved. 2010 BPC420 Lesson: Data Acquisition, Transformations, Packages, and Package Links Solution 2: Data Acquisition, Transformation, MultiProvider, and BW Reporting Task 1: Import from a BW Key Figure based InfoCube to a BPC InfoCube (account based) Objective: In BW a source cube with multiple key figures with actual data exists and we want to transfer its data into your D_ACT## application. Description: When transferring data from BW InfoProviders to BPC Applications we have to take into account that sometimes the source will be a key figure based model. The BPC application however is always an account based model. Here you 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, use the lower one. a) Return to your Data Warehousing Workbench session in the BW Application Server and search (use the binoculars) for InfoProvider S_ACT00 which is the BW source InfoCube. b) Have a look at the InfoObjects (fields) within this cube and its characteristic: Right click on the S_ACT00 InfoCube → Display data model → Open up the folders to see the fields. The following list shows which fields of the source cube are related to which destination fields in BPC and if a mapping will be needed within a BPC transformation file: S_ACT00 D_ACT## Mapping in Transformation File in BPC VERSION Category Version will be mapped to category SALES OFFICE ENTITY Sales office will be mapped to Entity BPCPRODUCT PRODUCT no Mapping (these id's will come over as is) Fiscal Year Period TIME Fiscal yr period will be mapped to Time Continued on next page 2010 © 2010 SAP AG. All rights reserved. 193 Unit 3: Data Acquisition, Transformation, MultiProvider and BW Reporting c) BPC420 Fiscal Year Variant BLANK no Mapping (these id's will come over as is) 0CURRENCY Input Currency: no Mapping (these id's will come over as is) Select F3 then Open the Listviewer for this InfoCube: Right click on the 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 the upper right. Note: This is the same as using the LISTCUBE transaction code (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 when working with the DataManager to load data that is not allowed. So, coming up we will exclude the 3 record from being loaded. We have to take this into account when modeling the transformation and conversion 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 for D_ACT##. a) 3. Open up 'Available Interfaces' → Interface for Excel → Connection Wizard → Next → Use a different user id and password → Enter a password 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. 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 → New Conversion 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, press the Ctrl key and drag the 1st sheet to the right and drop it, a new sheet with the same name and (1) will appear. Then just double 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 4. BPC420 Copy the CATEGORY sheet in the same conversion file and name it “FISCALYEARPERIOD”. Set up the sheet to convert 2010001 to 2010.001 etc. a) Follow the next screenshot for the mapping details: Note: Set the internal value for 2010.010 to numeric with two decimals (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 empty records 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” Folder and name it Conversion File “CONVERSION_CATEGORY_FYP_ENTITY.XLS” Note: The Conversion File must not be stored in the Examples folder! a) 7. eData → More → Validate & Process Conversion File... → Enter 'CONVERSION_CATEGORY_FYP_ENTITY.XLS' → Save → OK. The next step is to access the provided Transformation file: TRANSFORMATION_KEYFIGURE_ACCOUNT_MODEL.XLS. Take a look at the mapping section to see the transformation of the key figures to accounts. a) Lets access this file from your folder and save it to your application: 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 are mapped into Accounts of P_ACCT Note: Remember the datasets in S_ACT00 with three empty lines. Here we learn how to handle this in BPC since BPC cannot work with any blanks in a record. So we have to exclude the 3 records with blanks from being loaded. This is done via line 15 of the screenshot in the *Mapping section. To do this we'll use I_NON and skip I_NON in the conversion file 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 section of your transformation file. It can be used to filter the data from the source. Syntax: SELECTION = InfoObject1_techname,InfoObject1_value;InfoObject2_techname,InfoObject2_value Example: selection = 0SX_ACCS=US and 0SX_CSLC= 1 The Selection Parameter can only be used for extraction of transaction data from an InfoProvider. In the exercise, all data shall be selected from the source. So if you leave the parameter “Selection= “ unfilled then all data is 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 individual accounts 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 8. BPC420 Save and simulate your transformation file as TRANSFORMATION_KEYFIGURE_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 Data Type 'transaction data from NW BW Infoprovider' → Enter S_ACT00 (capital letters are required) →Save as → Enter TRANSFORMATION_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 from the S_ACT00 infoprovider to your application. Run it merge mode, without using 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 file select TRANSFORMATION_KEYFIGURE_ACCOUNT_MODEL → Confirm the 'merge' option → Select to not use default logic since we don'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 not using 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 package again 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 in S_ACT00 (key figure model) and after transferring 66240 records result in the D_ACT## (Account model). The Key figure model had 10 key figures. So one record in the key figure model results in 10 records in the account model. For all records in the source this would make 66270 in the account model. Since we skipped the 3 empty records (times 10) this makes 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 Warehousing Workbench 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 transaction code (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 to continue → Select the button at the top left 'Field select for Output' → Select all → F8 to adopt your selections → F8 on the data selection screen→ 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 at the loaded Data for D_ACT##. Use the Evdre builder filter and the SELECTION property with a value of 'Y' for the P_ACCT dimension memberset, Enter EUR,GBP,CHF in the input currency memberset, and enter STORE1,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 a) BPC420 Within the Interface for Excel first set your current view as given in the following screenshot: Expand the current view via the '+' → Left click each dimension name to use the hypertext. Note: The drop down only shows a users history of previously selected members. Figure 222: D_ACCT current view (your app will be d_act##) Note: If CE0000000 does not appear in your drop down, check the member sheet to see if the parents of members in rows 31 and down exists. If not, copy them in from the dimension members 7.5 file on your G drive. b) Then select HOME in the Action Pane Reporting & Analysis -> Build a 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 → Put p_acct and input currency in the rows and entity in the column → Right click in F48 → Evdre builder filter → Use the drop down to select the SELECTION property → Select property value 'Y' → Ok → Enter EUR,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 folder called BPC420. a) Goto eTools → Save Dynamic Templates → Company → Reports → Right click → create a new subfolder called → BPC420→ Enter the report name → Reports_ Actuals_2010 → Save → Close the Interface for 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## Application Create a new application to store plan data Objective: Since we want to keep actual data and plan data in two different applications 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 copy of D_PLAN##. a) Select Application on the left → Select 'Add a new Application' on the right → Enter a Name and Description of 'D_PLAN##' → Go to Step 2 of 4. Select the Finance application type → Go to Step 3 of 4 → Confirm that the D_ACT## application is selected as the source (mainly to determine the proposed dimensions) → Go to Step 4 of 4 → 'Add a New Application' → Ok. 2. After the creation of your application D_PLAN## maintain the member access 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 access profile'. 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 both acess 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 enter ALL instead of [ALL] you will get an error message about member access) Task 3: Manual Input Planning in D_PLAN## with reference to data in another Application Create some Plan Data with reference to actuals. Objective: Although we have a different Application for Actual Data we want to input data into the planning aplication with reference to the actual data in one input schedule. Therefore we use a preconfigured Input Schedule which refers to both 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 data stored in D_ACT##. We only plan values for January of 2011 and only for DOGDRYPUPPY. Fixed costs will be transferred from Cost Center planning later Contribution 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 to the Interface for Excel by using the connection wizard. Set your current view 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 through the format warnings. b) On the upper left, select the Office Button Open → My computer → Data Base (G:) → BPC 7.5 → BPC420 → BPC420 → Select Input_Schedule_ACTUAL_PLAN_SWISS_STORES.XLS → If prompted, answer YES regarding format differences → In A3 enter your 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 to get and send data. Below you can see the function in C13 for EVGTS. If you want to see the functions being used, select F13 and use the 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 which reads 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_## → Select Input_Schedule_ACTUAL_PLAN_GBP_STORES.XLS → In A3 enter your 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 D18 and 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) 3. 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. 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_## → Select Input_Schedule_ACTUAL_PLAN_GERMAN_STORES.XLS → In A3 enter 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 D21 and 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 Cross Application Reporting Objective: You now want to add a second application to the BPC generated MultiProvider in your STUDENT_## info area in the Data Warehousing Workbench. 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 be enhanced by adding D_PLAN## This will later allow you to create a BW query for an actual – plan comparison on this MultiProvider. Note: When you use BW queries on BPC data, the ACCTYPE property is not used to interpret balance sheet vs. income statement aggregation rules and sign display. In this case, we are only reporting EXP data so that is not an issue. Note: If you change the dimensions of the planning application in this scenario, the following steps will need to be repeated since BW will replace the technical name of the InfoCube. 1. If you haven't already, log on to the BW Application Server and then to the BW Data Warehousing workbench. a) Log on: In your remote desktop → Start → Programs → SAP Front End → SAP Logon → User: CPM-## → Password: training → Enter. Figure 233: BW Server - Easy Access screen b) Double click Data Warehousing Workbench: modeling → Within the Workbench click on InfoProvider in the modeling Area on the upper left hand side. c) Now select the InfoArea (these are folders, the icon is a double green diamond) 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##' as the second InfoCube: Figure 235: D_ACT Multiprovider - Select the D_PLAN## InfoCube b) Select the green check on the lower left → Select the 'Show/Hide Navigator' button to hide the two panes on the left → Note that the two InfoCubes appear on the upper left → Also note the icons that we will need 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 / active icons. Note: The BW310 class covers modeling of Multiproviders. c) Open the Navigation Attributes Section of your MultiProvider and de-select all Navigation Attributes in the ON/OFF column (only the 'O' may appear initially until you expand the column) since we don't need them in the query. d) Since we have added an InfoCube to the MultiProvider, we need to update the selection parameters to include both InfoCubes for the characteristics 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 comparison Objective: Creation of a query on top of the MultiProvider you created in the previous 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 Query Designer: 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 two InfoProviders → Select the one with the MultiProvider icon as basis for 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 Input Currency, Product, P_ACCT and Entity → Drag those same four characteristics 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 3. BPC420 Set up a hard coded filter for P_ACCT, Input Currency, Category, and Product. a) Select the Filter tab →Drag Input Currency Product, and P_ACCT from 'Default Values' into Characteristic Restrictions (this will result in a copy ie these characteristics will still appear in default values as well) → Right click on P_ACCT → Restrict → Scroll down to find REVENUE (this is the textual value) → Drag it to the right into 'chosen selection' → Ok → Right click on Product → Restrict → Locate 'Natural blend puppy food' (this is the textual value) → Drag it to the right into 'chosen selection' → Ok → Use the 'Wrench' icon to switch your 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 ACTUAL FROM GL and CURRENT BUDGET: Open the Category dimension → Drag Category to Characteristic Restrictions → Right → Filter → Drag ACTUAL FROM GL and CURRENT BUDGET to the right under 'chosen selections' → OK: Figure 241: BW query designer filter Goto Query and Save your query as STUDENT_##_QUERY_ACT_BUD for the technical name and description in your Favorites 4. Create two time variables that will be used in the actual and budget data columns. a) 218 Open the Time dimension → Open up the Time characteristic → Characteristic value variables → Right click → New variable → Right click on the 'new variable' → Edit → Enter Description and technical name: BPC420_YEAR_## Continued on next page © 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→ New variable → Right click on 'new variable'→ Edit → Enter Description and 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 dimensions for Time, Category, and Data Package and drag Time, Category, and InfoProvider into 'Details of the selections' → Right click on Time → Restrict → Show: Variables → Drag BPC420_YEAR_## to the right under '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 right under 'chosen selection' → Ok → OK → Save. b) Add a text variable for the Actual column header: Double click on ACTUAL DATA → To the right of 'Description' → Select the variable icon down arrow → New Variable → Enter a description and technical 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' with InfoObject 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 shot should 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 click on the 2nd (new) column→ Change description to BUDGET instead of ACTUAL → Use the 'wrench' to select the 'key/text' view → Double click on Category (lower right) → Show single values → Replace ACTUAL with BUDGET → Ok → Double click on InfoProvider (lower right) → Show single values → Replace D_ACT## with D_PLAN## → Ok → Double click on Time → Show variables → Replace the variable BPC420_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 7. BPC420 Run your query into the BEx Web Analyzer. a) Query → Execute → Enter User: CPM-## (select log on if you can't enter your id) → Password: training → Log on → You will see a prompt for the two time variables: Figure 250: Query - variable prompt Select Ok to see the results. Notice that the column headers have the correct 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 – Create COSTC (cost center) Dimension Objective: For your cost center planning scenario you want to maintain master data. Description: Master data is manually created for some cost center planning related dimensions. Note: We will create another Application called CC_PLAN## which shall contain 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 name and description of → COSTC → Goto step 2 of 3 → Entity type → Reference dimension: InputCurrency → Goto step 3 of 3 → Add these properties: 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'll need this in the dimension later and since it does not exist in 0Costcenter, 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 Application CC_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 the same as in the “Planning ” application. You should select application type “Financial” when creating this application and include the dimensions described 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 2 of 4 → Financial → Goto step 3 of 4 → Use a source application of PLANNING → Use a rate application of: RATE → Goto step 4 of 4 → Deselect dimensions → Add a new application → Remove all existing dimensions → 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 Access Profile. a) 3. Open up 'security' → Member access profiles → Select AdminMbrAccPrf → Modify member access profile → Next → Goto the CC_PLAN## tab → Using the system drop downs → Add two rows with 'read and write' access → One row for Category and one for Costc → Select All members for each one → Next → Next → Apply → Ok. Logon to the Interface for Excel and select Application CC_PLAN## via the connection wizard. a) If you had the Excel Interface open while you created your new application, close it and then open it back up by using the connection wizard. 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 from a BW Characteristic Objective: 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 server if 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 and language 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 → Double click the BPC420... hierarchy → Expand a few nodes: Note: Hierarchies can be loaded into BW or they can be created 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 because it only exists in the context of this hierarchy. h) Green arrow back twice to the hierarchy tab → Select the attribute tab → 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 on them): Figure 259: Cost center attribute tab i) View the attribute and text data: Select the 'Maintain' button → F8 twice: 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 upload later. The source master data for this scenario was built following the rule that for each store one cost center was created. 2. Now we have to configure the Master Data Upload from 0costcenter to COSTC. Note: Compounding is used when non unique master data exists. In this case, a cost center is unique by controlling area which is similar to weather.com when the system requires a zip code to get the weather for a city. (one city id can be used in multiple states or provinces.) In order to do this, here is what we need to do: The Compounded controlling area is required in the key for costc which means that member costc1 will be 1000_costc1 after the upload. The Properties Country, Region, owner, and reviewerwill be derived when loading master data since the source doesn't contain them. Looking at the master data for 0Costcenter a conversion file is will be used to skip cost center 1110 and AC30. Nodes of Hierarchies have to be created as members in the COSTC dimension. 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 conversion file → 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 your application: Start → Documents → My documents → G Drive → BPC 7.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 and process 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 and process transformation file → Master data texts from NW BW Infoobject → To select an info object use the drop down → Enter 0costcenter → 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 code will 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 g) BPC420 Add the BW IOBJ master data load package to your application: eData → Organize package 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_MASTER → 'Select' → Enter name and description: Import Master Data from BI InfoObject → select both task types Figure 268: Cost center md create package → Add → Save → Ok. h) Import the data: eData → System Administrative → Import Master Data from BI InfoObject → Run → Select 0costcenter via the drop down → 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/2010 for the time dependent master data selection → Set filter by attributes or 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 j) BPC420 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 the drop down to select TRANSFORMATIONFILE_MD_CCA → Set the dimension to COSTC → Finish → Ok → View status → Close the pop ups. Note: If no log appears, run the load again. n) Goto the admin console and display the new master data: Select the COSTC 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 from BW Objective: modeling of a Hierachy upload from a BW InfoObject. Description: Cost Center Text Hierarchy is loaded from BW into the COSTC dimension in BPC. 1. 2. Open the provided conversion file and let's make sure we understand what the 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 the ParentH1 column in the costc member sheet. c) Goto the Node_Names sheet, this is mapping node names to member id's. d) Goto the Parents sheet, this is mapping parent id's in BW to parent id's in BPC. 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 in this case: Figure 275: Hierarchy trans mapping → eData → Validate and process transformation file → Data Type: Master data hierarchy from NW BW Infoobject → To select an info object use the drop down → Enter 0costcenter → search → Ok → Set selection to the BPC420... hierarchy → Version: 'empty' → Member ID: '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 → Organize package 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 BI InfoObject → 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 0costcenter via 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 COSTC dimension → 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 Data into the Category Dimension Objective: In this Lab, you will load master data the Category Dimension using Flat File Technique. Description: We want to load two further members for the Category Dimension just 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 Set STUDENT_## and your application CC_PLAN## are set and then upload your 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 and transformations will be necessary. Then, import the new master data. 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-## → 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 → Select the data type: 'master data from flat file' → Select the CATEGORY flat file → Select the dimension CATEGORY → Save as → Enter name 'TRANSFORMATIONFILE_CATEGORY' → Save → You should have an accepted record count of 2 records for your simulation. c) Run the import package: eData → Run Package → System administrative → 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 → Select the CATEGORY dimension hypertext → You should see the 2 new members PLAN1 AND PLAN2. Task 11: Loading, copying and revaluation of transaction data for CC_PLAN## application Objective: Our starting point is the plan data for January, March, and April of 2011. Our scenario calls for us to use the data manager to copy the data in the subsequent months along with an adjusting factor (revaluation) that varies by month. This will require conversion files that are month specific. January will be copied 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 vary by month by cost elements (accounts). Description: Loading, Copying and Revaluation of Transaction data is configured in this Lab. 1. Within the “Interface for Excel” make sure that your Application Set STUDENT_## and your application CC_PLAN## are set and then upload your file on the “Server”. After that have a look at the Preview. As you can see no conversions and transformations 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 the 2nd drop down → Save → Ok → Ok → Preview the data. b) Create a transformation file: eData → More → New transformation file → eData → More → Validate and process transformation file → Select the data type: 'Transaction Data from flat file' → Select the Flat_File_for_TD_CC_PLAN_JAN2011.TXT flat file → Save as → Enter name 'Transformationfile_CCA_TD_2011_JAN' → Save → You should 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: e) APPLICATION CC_PLAN## CATEGORY BUDGET COSTC 1000COSTC1 INPUTCURRENCY EUR P_ACCT CE0001000 TIME 2011.001 MEASURES PERIODIC Let's run a report to view the data: Select Home → Reporting and analysis → 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) 2. Save the template: eTools → Save dynamic template → Company → Reports → Right click → Create folder → 'BPC420' → OK → Enter report name: REPORT_CCPLAN_2011_DATA → Save. As our next goal we will copy our uploaded data from January to February 2011. 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 as REPORT_CCPLAN_2011_MONTH_DATA and leave this report open and 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: d) APPLICATION CC_PLAN## CATEGORY BUDGET COSTC 1000COSTC1 INPUTCURRENCY CHF P_ACCT CE0001000 TIME 2011.TOTAL MEASURES PERIODIC Let's run a report to view the data: Select Home → Reporting and analysis → 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) 3. Save the template: eTools → Save dynamic template → Company → Reports → BPC420 → Enter report name: REPORT_CC_PLAN_2011_MONTH_DATA → Save. 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 2nd drop down → Save → Ok. → Ok. b) Create the conversion file: eData → New conversion file → Fill in as 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 → Select the data type: 'Transaction Data from flat file' → Select the flat file Flat_File_for_TD_CC_PLAN_MAR2011→ Save as → Enter name ''Transformationfile_CCA_TD_2011_MAR'' → Save → You should have 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 2nd drop down → Save → Ok. → Ok. b) Create the conversion file: eData → New conversion file → Fill in as 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 the Flat_File_for_TD_CC_PLAN_APR2011→ Save as → Enter name ''Transformationfile_CCA_TD_2011_APR'' → Save → You should have 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_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 5. BPC420 For May to December we copy from January to the relevant month but this time with a cost element specific revaluation for each month. Note: Due to technical restrictions it́s not possible to construct one transformation file in which both Time and Amount for the relevant month can be marked up. Consequence: you will have to create 8 transformation files, each carrying two conversions, one conversion will be for Time and one conversion for the related Amount. For both Conversion Files we are going to need 8 sheets, one sheet for each month. a) Access the conversion file for the May - Dec Timeframe: In the Interface for 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 for Excel → 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 time mapping 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 Interface for 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 the reference 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 the Flat_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 your simulation → Cancel → Close file. Caution: We aren't going to manually load 8 files. In the next task we will bundle them together in a package link and run all 8 at once. e) Repeat the two steps above for Jun to Dec. Task 12: Creation of a Package Link Objective: We want to create a PACKAGE LINK to import and revalue May to December in one step. Description: Since we don't want to execute 8 revaluation packages individually we 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 a) BPC420 eData → More → Organize package link → Right click → Add package link list → Enter name and description of 'IMPORT REVAL MAY TO DEC' → Add task → Import → Next → Enter 'MAY' as name and 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 the Flat_File_for_TD_CC_PLAN_JAN2011 import file → Select the TRANSFORMATIONFILE_CCA_COPY_JAN_TO_MAY_2011 transformation file → Use the 'merge' option → Use default logic → Next → Do check for workstatus → Finish → May now has a 'Y' for the '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 2. BPC420 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 Links Objective: Back to Sales application D_PLAN## we first want to give you the big picture in which direction we now want to go: It́s our goal to calculate contribution margin I using script logic Contribution 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 II To 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, for all Stores and Products. Revenue will later be calculated via script logic. Calculation of the contribution margin scheme will be done in the Forecast Category so that the manually planned Budget values in for the MultiProvider scenario will not be overwritten. 1. Upload the data files. a) In the Interface for Excel for the D_PLAN## application, Upload the SWISSSTORES CATS flat file on to the Server: Set your application to D_PLAN## with the dropdown in the current view → Goto eData → More → Data upload → Select the 1st drop down → My computer→ 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 the D_PLAN## application correct?) Flat_File_SWISSTORES_DOGS_x_p_cogs_2011.txt Flat_File_SWISSTORES_FISH_x_p_cogs_2011.txt Flat_File_SWISSTORES_BIRDS_x_p_cogs_2011.txt Flat_File_UKSTORES_CATS_x_p_cogs_2011.txt Flat_File_UKSTORES_DOGS_x_p_cogs_2011.txt Flat_File_UKSTORES_FISH_x_p_cogs_2011.txt Flat_File_UKSTORES_BIRS_x_p_cogs_2011.txt Flat_File_GERMANSTORES_CATS_x_p_cogs_2011.txt Flat_File_GERMANSTORES_DOGS_x_p_cogs_2011.txt Flat_File_GERMANSTORES_FISH_x_p_cogs_2011.txt Flat_File_GERMANSTORES_BIRDS_x_p_cogs_2011.txt c) Create a transformation file: eData → More → New transformation file → eData → More → Validate and process transformation file → Select the data type: 'Transaction Data from flat file' → Select the Flat_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 → You should 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 → Add package link → Enter name and description of 'LOAD X P COGS' → Add task → Import → Next → Enter 'SWISSCATS' as name and description → 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 the import 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 P COSGS link → Run → Finish → Ok → View status → It may still be running → 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: d) APPLICATION D_PLAN## CATEGORY FORECAST COSTC STORE17 INPUTCURRENCY EUR P_ACCT TOP_PER_UNIT PRODUCT DOGPUPPYDRY TIME 2011.TOTAL MEASURES PERIODIC Goto Home → Reporting and analysis → Build a report using a dynamic 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 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 2010 © 2010 SAP AG. All rights reserved. 263 Unit Summary 264 BPC420 © 2010 SAP AG. All rights reserved. 2010 Unit 4 Working with Logic Unit Overview After completing this unit, you will understand how to configure Script Logic and on the fly calculations. Unit Objectives After 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 Contents Lesson: Script Logic and Online Execution .................................266 Lesson: Script Logic and Central Execution ................................301 Lesson: Script Logic and Allocation ..........................................307 Lesson: Script Logic and ABAP Integration .................................324 Lesson: 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 Overview This Lesson will give you a short overview about Logic Types in BO PC and will then focus on Script Logic. The goal is to execute the logic online which means that the end user shall execute it by themselves. Lesson Objectives After 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 Example You need formulas to carry out some calculations in planning and so you need to 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 ability to define very powerful formulas for calculating Account dimension members 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 calculate data 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 to customize certain delivered functions to meet specific business needs, without having to understand scripting/programming. BPC's business rules can only be used for management and legal consolidation. The following Business Rule Tables exist: – – – – – – – 2010 Account Transformation Currency Conversion Intercompany Booking Carry-Forward Rules US Eliminations Validations Automatic Adjustments © 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 of MDX formulas, and the ApShell application set is pre-configured with a number of 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 functions designed to calculate and post amounts required to support common accounting activities such as: • • Currency translation Matching and elimination of inter-unit balances. In order to allow a customer the flexibility to customize (configure) these functions to meet their specific requirements “table-based” logic is applied. For each pre-defined function, one or more “Business Rule tables” exist in which the 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 to customize 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 performing calculations 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 ApShell application 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 in K2 are case-sensitive. Figure 309: Script Logic You access logic files from the Script Logic subdirectory within the hierarchy of an application. Figure 310: Types of Script Logic Default logic is a special logic statement that is executed on every write back to 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 cube and 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 logic calculations. You access the .LGF file through the Script Logic editor in the Admin Console. An .LGX file, which is the compiled logic file created by the system when you validate and save your logic. This is an executable version of the .LGF file that is not stored in Planning and Consolidation. Figure 312: Default Script Logic Default logic is a special logic statement that is executed on every writeback to an application. All logic in Default.LGF is run after data sends. Data is first committed 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 foreign currency translation and ICElim.LGF for intercompany eliminations. Your default logic can contain an INCLUDE statement to execute specific logic in real-time, such as currency translation if desired, rather than having to run a separate batch process. You access logic files from the Script Logic subdirectory within the hierarchy of 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 of data (known as Scoping), applies to it a set of user-defined formulas and derives an appropriate set of calculated amounts (Body/Code). These amounts are then written back into the fact table as if they were additional input data (Commit). Test/Execute function module BAPI_MDPROVIDER_GET_FUNCTIONS for a list 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 instruction INCLUDE. During the LGX generation of the script logic execution step, the statements in INCLUDE file are combined with main file. Working with *INCLUDE will facilitate debugging since you can debug each Include separately. Figure 315: Other Script Logic Running script logic Script logic can be automatically invoked each time the system sends data to the database. Logic contained in the default logic file is executed immediately after data is sent and you can see the results immediately. If other Script Logic Includes are integrated in the Default Include then the calculation of “other Script Logic” is executed when sending data. If this is not wanted the “other Script Logic” Include must not be integrated in the Default Include. In this case Script logic can be run from Data Manager for batch 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 calculations that do not need to be executed immediately. For example, you may decide to wait until all data has been entered in the local currency before generating the translated 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 available for your use. The file has the extension .LGF, which can be called at validation by using the INCLUDE function in your logic file. The logic module scans the library file for the appropriate formulas to use based on the information in the .LGF file. The following are examples of logic delivered with Planning and Consolidation: 2010 Allocation.lgf: runs an allocation Calcaccount.lgf: used to prepare Cash Flow; runs a Account Calculation Business Rule Consolidation.lgf: used to run a Legal Consolidation Business Rule © 2010 SAP AG. All rights reserved. 275 Unit 4: Working with Logic BPC420 Copy_Open- used to run a Balance Carry Forward business rule ing.lgf: FX_Trans.lgf: used to run currency conversion ICBooking.lgf: used for running Intercompany reconciliation and difference posting ICData.lgf: used to run Intercompany reconciliation ICElim.lgf: used for running Intercompany reconciliation MDXlib.lgf: library of MDX financial functions System_Constants.lgf: stores constant values for use within script logic. See the System constants file section that follows for more information. System_Library.lgf: includes basic examples of a set of keywords Validation.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 program UJK_SCRIPT_LOGIC_TESTER which is run from transaction SA38 in SAP NetWeaver BW. Input the application set and application you wish to test. lab In the Data Region section input the Dimension and Member IDs (similar to inputting your current view). Then specify your script location or copy/paste or input the logic directly in the lower-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 unequal sign 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 and in 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 criteria has 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 the same destination cell. The parameters of the REC( ) function specify what to modify of the original record. 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 tuple and priorities of the operations. Dynamic properties such as HLEVEL, PARENTHn are not supported in the REC statement. REC always needs to be accompanied by WHEN / IS / ENDWHEN. Stand-alone REC statements do not have any effect. You cannot use SIGNEDDATA or any measure name in a WHEN statement to write 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/EXPRESSION Instruction Note: You have the ability to use implicit Account members in direct MDX 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 calculations performed by the cube, and these calculations in turn depend on the results of some 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 calculation in turn depends on the calculation of CE0004030. The logic, if written in the above format, does not work correctly, because CE0004030 cannot be retrieved from the cube until its result has been posted to the 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 to calculate CE0661000. To force a write back of the result of the calculation of CE0004030 into the cube before the calculation of CE0661000, you can insert the instruction *COMMIT between 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 of records 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 subsequent business 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 explained later: 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 set of members with the members passed in the region for which the logic should be executed. This instruction is similar to the instruction *XDIM_MEMBERSET. The difference is that, while XDIM_MEMBERSET redefines the region passed by the 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 set of members with the members passed in the region for which the logic should be 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 can deteriorate significantly. Also, processing too much data in the memory will slow down the system for other uses and eventually run out of memory and an ABAP dump can occur even with high Roll memory settings. In this case, you can break the 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 an immediate NEXT for a set of members. Sets of members can be provided either directly in the FOR statement or through variable. The Logic Module supports any number of FORNEXT loops in the body of the logic 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 via properties 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 elements from a dimension and save it in a user-defined variable for later use anywhere else in the logic. The SELECT instruction is not specific to a given logic section, but it can be written 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 AND or OR keywords. Figure 333: *SELECTCASE For the coding line *SELECTCASE [ACCOUNT].CURRENTMEMBER.PROPERTIES(“CALC”) the MDX output generated would be: =IIF([ACCOUNT].CURRENTMEMBER.PROPERTIES(“CALC”)=Y,1,IIF([ACCOUNT].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 the appropriate MDX language. Figure 335: *FUNCTION – Single Line Function A user-defined function is the name of a placeholder that a user can insert in formulas in place of a corresponding MDX statement or part of one. This can greatly 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 file or in an included file. Note: If your function executes a division you do not have to check the denominator for Zero to avoid divide-by-zero error. The Script Logic engine 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 in formulas in place of a corresponding MDX statement or part of one. This can greatly improve the readability of a logic statement. The definitions of the logic functions can be inserted anywhere in a logic file or 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 time set is used as base period for negative offset and last period of the time set is used 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 set of members passed to the logic engine for a given dimension. This keyword can be 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-defined dimension. This keyword holds the actual name of a dimension of a given type, and can be used 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 of the 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 that wants to read a value from a further cube. Its also possible to read values from the same application which are not in the scope! 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 adding of dimensions is needed. Note: Reading multiple Measures within one LOOKUP for multiple lookup id is not supported Within a script, reads from the same Application needs to be written within one LOOKUP block. Multiple LOOKUP blocks for same Application is not supported. Note: RATEEUR in coding line “*DIM RATEEUR:INPUTCURRENCY=”EUR“ ” is a placeholder or variable not a dimension, not a member, 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 destination cube and is so created from the Source Application! Doing so we need functionality which tells us how to handle dimensions which can only be found in the source and those ones which you only find in the destination and how to map dimensions. Explanation to the upper coding example: DETAIL_PLAN is the target application, which has all dimensions of PLANNING except for P_ACCT. This dimension is replaced with P_ACCTDETAIL. Also, DETAIL_PLAN has two additional dimensions, namely PRODUCT, and MARKET. 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 library directory 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 the standard SAP Business Planning and Consolidation dynamic logic. By updating the dimension constants file with your dimensions, you avoid having to change or rewrite any of the standard functions that are included with SAP Business 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 all applications using the dimension). Powerful and effective tool to perform calculations, delivering the desired results 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 are absolutely required to be performed in real time Golden Rule 5: Keep in default logic only the calculations that are absolutely required 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 Overview It́s possible to execute Script Logic as an administrator, which means centrally after the end user finished their activities. Lesson Objectives After completing this lesson, you will be able to: • • Understand how to customize central execution of Script Logic The access concept for central execution Business Example The project team which introduces BO PC is interested in central execution of Script 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 the script 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. You can also include additional sections, graphics, demonstrations, procedures, and/or simulations. 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 maintain anything 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 can work with the package or only the administrator group. Therefore you will find the 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 added users to teams can fine tune the usage of package for the different user groups entering 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 per Team 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 and select it. If you de-select the wished Package the Team members cant see it nor of course select it. 2010 © 2010 SAP AG. All rights reserved. 303 Unit 4: Working with Logic BPC420 Figure 359: Dynamic Script Logic Editor: Logic Keywords – System variables In the dynamic script logic editor in which to configure your data management pop-ups you refer to system variables. Take a look at the preconfigured process chains and here in the process type “Run Logic”. To refer to the system variables within the dynamic scripting section, doing a mapping. Figure 360: Logic Keywords – Special Keywords Data Manager Prompts During execution of data manager via excel client a user will be asked to fill in the prompted value. The prompted values serves as a variable for 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) • 2010 The upper slide shows how to configure dynamic script logic to be prompted for a “Variable” during execution of the Data Management Package. © 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 Overview With Script Logic you can also define Allocations Lesson Objectives After completing this lesson, you will be able to: • • Understand the concept of allocations Set up allocations Business Example The 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 sender to several receivers. This feature is very often used in Planning as a top-down scenario. 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 special commands 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 Allocation Engine. Figure 364: Identify Key Elements in a simple Allocation Scenario • 308 The upper slide gives you a Business Scenario for Allocation and a reference to the BO PC commands which are necessary to construct the distribution. © 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 Editor vertically. Each vertical line represents the relevant data set Selections. Allocation should be run separately for each month, thats why the TIME dimension ist not mentioned in the WHAT Lines! You refer to TIME when executing the Allocation via a DataManagement Package. An exception is when you want to allocate one years data and refer to the data of the 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 the allocation 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 Allocation Engine. 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 Distribution Key • • • 312 This instruction can be used to define any arithmetic expression (written in the {expression} parameter) and may contain operands, parentheses, constants and one or both of the keywords USING and TOTAL, representing respectively the amount coming from the “USING” region (for example, the amount 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. © 2010 SAP AG. All rights reserved. 2010 BPC420 Lesson: Script Logic and Allocation Figure 370: Logic Keywords: USING & TOTAL –Selections for Distribution Key • • • • • • 2010 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 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 special example 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 into the 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 Asia for 2009.JAN in Category PLAN. The allocation shall distribute this budget to the leaves China, Japan, India, Rest of Asia (BAS(RASA)) in Category Budget in January 2009. The distribution shall take place according to the Actual Rent data of the BAS(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 allocation automatically the Script Logic coding has to be enriched by a *REC statement which 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 coding and allows this way to enter the source value as well as the sender and receiver entity of the distribution. These values are asked for when executing the Allocation via Data Management Package. 316 © 2010 SAP AG. All rights reserved. 2010 BPC420 Lesson: Script Logic and Allocation Figure 374: Example 3: Allocate working with *FACTOR=USING/TOTAL (1 of 3) In this example the Advertising costs in January 2009 for Entity ASA/Datasource Manual shall be distributed to all BAS(RASA) entities according to the External Sales in January 2008/Manual for these entities. Figure 375: Example 3: Allocate working with *FACTOR=USING/TOTAL (2 of 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 to Allocated. This is why in the upper coding there is no need to set the source value to zero writing a special coding line. Figure 376: Example 3: Allocate working with *FACTOR=USING/TOTAL (3 of 3) As you can see its always possible to work with system variables. Figure 377: Example 4: Using the Allocation to copy data from several sources to one common goal Here the allocation is used not to distribute data but to sum up data and copy the sum to a receiver. This is helpful since the Copy Data Managemenet Package is not able 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 category ACTUAL, for the three entities ITALY, FRANCE and UK, are copied into the corresponding 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 not use 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 copied into GLOBALOPS). Property not supported in ALLOCATION replaces property with variable using select 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 – Keep original Cost Element In this allocation example we want to distribute 120000 Units from Entity C9000 to Entity C1000 and C2000. The Account before and after allocation shall be the original account CE0004030. Note: Lines marked red with continuous line describe sender and receiver of allocation. Als Distribution Factor we refer to Account CE0652000 of both receiving entities C1000 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 to zero by a special coding line after the Allocation Run. This has been omitted 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 with Allocation Cost Element Note: Lines marked red with continuous line describe sender and receiver of allocation. See the blue dotted lines in graphic for Distribution Factors. In this example the source values have different accounts. These values shall be summed up and distributed according to the key to one common cost element. Figure 381: Example 7: Allocation with equal distribution – Keep Original Cost 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 for each sender cost element (1/2) Note: The continuous lines in red, blue and green on the right and left are related 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 values and distribute into one commun account but we want to keep the original cost element for each sender cost element. Figure 383: Example 8: Allocation keeping the orginal cost element for each 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 Overview The Project Team is interested in the ABAP Interface within BO PC. Lesson Objectives After 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 Example The 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 include BADIS. BADI is an acronym for Business Add-in. It is an SAP enhancement technique based on ABAP Objects. Important is that the script logic refers to the filter value of the BADI not to the technical name of the Badi. For instructions about implementing an SAP Business Add-In, see the ABAP online help at: http://help.sap.com/saphelp_nw70/helpdata/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 using START_BADI: https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/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 handle very specific use cases that would not be covered by the standard product effectively. 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 integration if 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 integration if you want to execute the BADI calculation centrally using a Data Management Package. 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 to call the BAdI Create the transformation logic using ABAP Objects. Working with an include would be preferable • • Note: All BAdI implementations cannot be executed, if one is 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 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 Temp table Figure 389: Business Example Transformation File with Start/End Routines This business example shows a transformation file using new *OPTIONS keywords 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 Overview In this lesson we will identify how and when to use dimension logic. Lesson Objectives After completing this lesson, you will be able to: • Understand the concept and set up of Dimension Member Formulas Business Example The 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 in use by multiple users! Don't get fooled by the development environment performance. The list of supported MDX functions is available from function module BAPI_MDPROVIDER_GET_FUNCTIONS. For more information on MDX language, in general, visit the Microsoft Developer Network site located at URL http://msdn.microsoft.com/enus/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 stored as 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,767 display in the formula bar. Earlier versions of Excel may have had a substantially lower limit for the number of characters in the length of cell contents. This was said to have been an issue for 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 special dimension member for the Dimensions of Type R (Rate Type). This member has to be called LC with description Local Currency. The property CURRENCYTYPE is required by all CURRENCY type dimensions. Figure 393: Maintaining Dimension Member Formulas You assign dimension formulas in the Formula column of the dimension member sheet. 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, expense growth, 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 the dimension and the member and separated by a period. The only exception is with the account dimension, where only the dimension member is needed. Standard arithmetic functions are available, such as addition (+), subtraction (-), multiplication (*) and division (/), as are the MDX keywords supported by SAP NetWeaver BW. New with SAP Business Planning and Consolidation, upper and lower case letter sensitivity becomes important for dimensions and dimension members, so be careful in your formulas! After saving your dimension members to the server, you should process the dimension. 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, calculated members, custom rollups, and calculated cells are evaluated, and the order in which they are calculated. Zero is the highest priority. The SAP Business Planning and Consolidation default Solve_Order is equal to 3 for measures and 5 for members. • • • 334 Solve Order is similar to some reporting systems “Formula Collision” setting when there are formulas in both the rows and columns of a report. Solve Order determines the order in which dimensions, members, calculated members, custom rollups, and calculated cells are evaluated, and the order in which they are calculated. Zero is the highest priority. © 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 compared to the example from the last slide. Figure 397: The Library File You can type MDX syntax expressions directly into the Formula cell for each member, or you can reference MDX functions from a library file. A library file is used to store multiple formulas that are referenced by dimension formulas. This makes maintenance of formulas used in multiple dimensions easier because they 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 MDX functions that help standardize your calculated members. Figure 398: Mdxlib.lgf Example You can view the library file contents from the Systemlibrary directory using the File Service (transaction UJFS) in SAP NetWeaver BW. The following standard functions are available in SAP Business Planning and Consolidation: • • 336 Basic Financial Formulas – Account Average and Growth Rate. Liquidity Analysis Ratios – Current Ratio, Quick Ratio, Networking Capital Ratio. © 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 using the *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: • • 2010 Speed – just like Excel formulas in worksheets, formulas defined in a dimension are usually calculated fast. Consistency – the same logic is applied to a given member in any application which uses the dimension. © 2010 SAP AG. All rights reserved. 337 Unit 4: Working with Logic BPC420 Considerations: • • • • 338 Formulas in a dimension are not flexible because they apply to levels in the dimension and in all applications using the dimension. If you want to apply a formula only to base level members or want a formula to be used in only one application you should use Script Logic. Consideration must be given to the impact of any dimension formulas to all applications sharing this dimension or all member combinations within an application. These formulas can affect retrieval performance if not used properly. © 2010 SAP AG. All rights reserved. 2010 BPC420 Lesson: Dimension Member Formulas Exercise 3: Logic Exercise Objectives After completing this exercise, you will be able to: • Do basic script logic programming. Business Example Using formulas is a very important feature in any planning solution. Script logic offers 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 test program on the BW Server. Use the shortcut 'UJKT' to access the script debugger. Try the validate and execute (simulate) options. If you enter incorrect 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 Execution In 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, multiply it 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 in march for another category. Continued on next page 2010 © 2010 SAP AG. All rights reserved. 339 Unit 4: Working with Logic 9. BPC420 Now we need to do the same as before except we want to write to 5 kpi's at once. 10. Optional: Now we need to do the same as before except we want to write to multiple 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 with specific property values are written to. 12. Create a variable for the *SELECT statement that can be used anywhere in the logic. 13. Create a variable for the *SELECT statement that can be used anywhere in the logic. 14. Optional: KPI1 to KPI4 shall be summed up and the sum shall automatically be written to KIP5. 15. Optional: With the help of the next logic we want to calculate Revenue in a user-defined function/formula. 16. We want to create an Include called “Function_Definition” which is a placeholder that will allow us to simplify our code by referring to script in a separate file. 17. Copy data from 2011.Jan to 2012.Jan by using the TMVL function and do a revaluation of 10% at the same time. 18. Now you want to accumulate/sum up the data from January and February using the TMVL function. The sum shall be written to February. This shall be done for KPI1 to KPI5 in parallel. 19. Optional: The same thing is possible to sum up the January and February value and to write this value into March of 2011. 20. Optional: Here is a simplification of the coding when you want to add two months, for example January and February and you want to write the sum to February. Since you don't explicitly mention the destination month the same month is taken that was given in the *IS statement. 21. Optional: We are now going to plan for three months: Jan to Mar and then we want to sum up the Jan + Feb value to Feb and then to take this result from 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 next buffer calculation (MAR). Idea: plan JAN, FEB, MAR manually Jan + FEB = FEB FEB + 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 member from the current view. This variable can be included not only in the X_DIM Memberset command but anywhere in the coding. SET is a special logic keyword here! Task 3: Cross Application Logic Objective: Now we want to get familiar with LOOKUP and DESTINATION_APP which allow an integration between two applications. Description: Lookup and Destination_App are appropriate for multi-application scripting. Destination_App writes record from the source cube. Lookup is only for reading values and Lookup is positioned in the application that wants 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 Application for and the D_PLAN## Application. 2. Now we want to input a value into the PLANNING application and read it in the D_PLAN## application. Our scenario is as follows: We plan values for the Planning Application in February for the CE0004510 account and 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*VALUE of the second account +KPI3*Value of the 3rd account + KPI4*Value of the 4th account) = KPI5 whereby we refer to Values of the 4 accounts from the planning application. Task 4: Planner Execution of Script Logic Objective: With the help of this lab we want to show how to configure a central execution 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 need to 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 2. BPC420 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 each of the following packages as template for your centrally executed script logic: • • The default formula packages which is specifically designed for pure Script Logic execution. Table Driven Logic packages such as ICDATA, US_ELIM, CONSOLIDATION and CURRENCY CONVERSION are able to run your logic scripts too. Task 5: Execute a Script Logic from an Excel button Objective: An end user often wants to execute a script logic with the click of a button. We want to show how to configure this. Description: Using a Package and linking it to a BO PC macro allows the end user to execute script logic per an Excel button. 1. A few Excel related activities are necessary to allow the creation of a an Excel button. Some Security related activities are also necessary. 2. In the account trend input schedule, insert a button in cell O45 Use this current view: 3. APPLICATION D_PLAN## CATEGORY FORECAST ENTITY STORE17 INPUTCURRENCY EUR PRODUCT DOGDRYPUPPY P_ACCT KPI_NODE TIME 2011.TOTAL MEASURES PERIODIC Now we want the button to execute a specific package instead of letting the user pick one. Continued on next page 342 © 2010 SAP AG. All rights reserved. 2010 BPC420 Lesson: Dimension Member Formulas Task 6: Allocations Objective: The goal is to show how the allocation function works and how it can be installed. Description: You have some data on a sender entity and you want to distribute this 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 several dimensions. Create the following members for dimension ENTITY and then Process Dimension de-selecting “Take System Offline ” and processing “members from sheet” ID EVDESCRIPTION PARENTH1 CUR-OWNER RENCY SENDER SENDER FOR ALLOCATION NODE_SENDER EUR ADTWDFVM2001\CPM-## RECEIVER_1 NODE_RERECEIVER CEIVER NO 1 FOR ALLOCATION EUR ADTWDFVM2001\CPM-## RECEIVER_2 NODE_RERECEIVER CEIVER NO 2 FOR ALLOCATION EUR ADTWDFVM2001\CPM-## NODE_SENDER NODE SENDER FOR ALLOCATION NODE_AL- EUR ADTWDFVM2001\CPM-## LOCATION NODE_RECEIVER NODE RECEIVER FOR ALLOCATION NODE_AL- EUR ADTWDLOCAFVM2001\CPM-## TION NODE_ALLOCATION NODE ALLOCATION EUR ADTWDFVM2001\CPM-## Continued on next page 2010 © 2010 SAP AG. All rights reserved. 343 Unit 4: Working with Logic 2. BPC420 Now select the D_PLAN## application and open its “Script Logic” node. There should be an existing file called ALLOCATION.LGF. If not, create a new one with the same name and open it. Copy the code from the allocation.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 will later use a data management package for it and won't refer to the allocation logic file in the Default Script Logic. 3. Goto the Interface for Excel for your application set STUDENT_## and your application D_PLAN##. First make sure that all new members are available by refreshing the dimension members. If the members still do not show up, try the Connection Wizard and if that does not work shut excel down via the task manager and launch it again. Change the current view settings so that they match the following: 4. Dimension Member Application D_PLAN## CATEGORY FORECAST ENTITY NODE_ALLOCATION PRODUCT NONE P_ACCT ALLOCATION_NODE RPTCURRENCY EUR TIME 2011.001 MEASURES PERIODIC Open the delivered input template Nested Rows, open the control panel and use 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 for allocation into your STUDENT_## package group. In the Excel Interface, goto 'organize package list' and add a new package called PACKAGE TO EXECUTE 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 'allocation parameter.txt' file in your logic file on the G drive. Note: In the last coding line you can see the script logic Allocation.LGF is hard coded. Note: We need to use Allocation_Logic_WDT since in the relevant process chain /CPMB/Allocation the 'Run Logic' Process Type has the technical name Allocation_Logic_WDT and not “Allocation_Logic”. We have provided the process chain and type the next two screenshots for you to see (you do not need to go there yourself): 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 the following 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 allocation script logic coding and enhance it as follows: after *ENDALLOCATION and 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 your packing since in the Allocation coding we used the X_DIM MEMBERSET command for Entity and consequently this command refers to all data not only to delta values saved after the last execution of the Management Package. Go back to your Input Schedule in BPC for Excel and press the “Refresh Workbook” 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 Packages Objective: During execution of a Data Manager package in a revaluation scenario a User shall be asked to fill in the prompted value as a user selection. This will add flexibility and could be used for 'what if' scenarios. Description: We want to show how to integrate these variables and then how to adapt the dynamic script logic with which you design your package popup. Business scenario: We want to increase the data for KPI1 to KPI5 by x percent 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. Only save 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 management package for prompts into your STUDENT_## package group. In the Excel Interface, goto 'organize package list' and add a new package called PACKAGE TO EXECUTE PROMPTS and link it to the ICDATA process chain. Modify the dynamic script by copying the code from the 'DYN SCRIPT PACKAGE 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 a markup 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 Script Logic Create a business add in and call it via a script logic file and have it execute on a real time basis by including it in the default logic file. We now want to show how to calculate a value using ABAP instead of Script Logic. Since many developers are not familiar with Script Logic Coding we want to show how 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 abap calculation. Task 9: Optional: Using a Start Routine in a Data Import Create a business add in and call it via a script logic file and have it execute during a data import. Here we want to work with a start routine which will check if the Amount for KPI1 is bigger than 2000 or not. If this condition is fulfilled the system shall send an 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 confirm the 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 Order Objective: Using Dimension Formulas and the Solve Order Feature to show Dimension Formulas work and how the order of dimension formulas can be influenced. Description: Working with Dimension Formulas and Solve Order will allow you to execute formulas on the fly as data is refreshed. The results are not stored in the database. Return to the Admin Console.. We now want to install two Dimension Formulas, one for an Account and one for a Product. Since both Formulas can collide if they are included in a report we 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 represents an account like gross margin %. Product3 will be the sum of 1 and 2 and therefore represents a 'group'. 1. Add a new P_ACCT formula. Now go back to the P_ACCT member sheet via 'maintain dimension members' and fill in the Property Formula for member Account 3 as you see below: IIF([P_ACCT].[ACCOUNT2]=0,NULL,[P_ACCT].[ACCOUNT1]/[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 we don't want to divide by zero), otherwise divide account by account2. and if there is a formula collision use a solve order tie breaker value of 1. (Lower values calculate first.) Select the product dimension and 'maintain dimension property'. Now input the FORMULA property with a length of 500 and select Modify Dimension Property afterwards. Now go back to the PRODUCT member sheet and fill in the Property Formula for member PRODUCT3 as given below: [PRODUCT].[PRODUCT1]+[PRODUCT].[PRODUCT2];SOLVE_ORDER=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 Dimension Members. 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-Trend template. Open the Control Panel using the “+” signs in the left corner and configure as follows: Figure 406: Dim logic control panel Save your four data records as shown below: SEND DATA → Send active worksheet in the Action Pane. If you get any information concerning how many 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 in both formulas. In the Admin Console goto 'Maintain Dimension Members' for the P_ACCT Dimension and for the Product Dimension. For ACCOUNT3 change the formula to SOLVE_ORDER=100. Select Save to Server. For PRODUCT3 change the formula to SOLVE_ORDER=1. Select Save to Server. Now select Process Dimension for the P_ACCT and PRODUCT Dimension. Don't forget to de-select “Take the system offline and to Process from 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 ACCOUNT3 according to the new solve order. Close your Excel Sheet and the Interface for Excel. 2010 © 2010 SAP AG. All rights reserved. 353 Unit 4: Working with Logic BPC420 Solution 3: Logic 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. 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 following current 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 for D_PLAN## → Select the office button on the upper left → Open → My computer → G drive → BPC 7.5 → BPC420→ BPC420-##→ Logic folder→ 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 g) 2. BPC420 Save your input schedule on the server: eTools → Save dynamic templates → Company →Input Schedules → BPC420 → Enter: 'LOGIC' → Save. In case you need to debug your script logic, you can use the script logic test program on the BW Server. Use the shortcut 'UJKT' to access the script debugger. Try the validate and execute (simulate) options. If you enter incorrect code such as removing the '*' from a line, what happens? a) Log on to BW From 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 in the 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 how to launch the ABAP debugger Enter '/H' in the command field → Enter → Select the 'Execute' icon → You should now be in the ABAP Debugger Control screen. c) Let's try running the script in simulate mode: Enter the data region as 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 shown below → 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 cogs of 50 → Send data → You will notice that contribution margin did not calculate 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 var cogs and we should do the same for revenue since that is also being using as a source of the calculations: In the admin console → Select Logic_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 Execution In 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, multiply it 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 Interface for Excel → eTools → Refresh dimension members → Set the following current 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 e) BPC420 TIME 2011.001 MEASURES PERIODIC Change the Logic input template: Open the column group in column H for the logic template → In F52 → Enter BAS,SELF → Expand all → Clear input → OK → Enter 100 in kpi1 → Send data: Figure 421: Logic 2 report 2. 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 SCRIPT LOGIC → Save. 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 it to 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) 3. Input zero for your base level members → Send data. 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 SELECTION property 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) 4. Input zero for your base level members → Send data. 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 the local 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 temporarily store results. Local variables can be called multiple times in one 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 the local 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) 6. Input zero for your base level members → Send data. 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 on data 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 the admin console → Open the D_PLAN## Application → Script Logic → Create new logic → LOGIC_7 → Ok → Enter the code as shown below: 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 memory whether 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 g) 7. BPC420 Input zero for your base level members → Send data. 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) 8. Input zero for your base level members → Send data. We need to do the above plus add jan and feb for kpi1 and book it to kpi1 in march 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 will add the 'flash' values of kpi1 for jan and kpi2 for feb and book the 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) 9. Input zero for your base level members → Send data → Set your current view to category: flash → Input zero for your base level members → Send data. Now we need to do the same as before except we want to write to 5 kpi's at 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 calculation for March in ACTBUD for all relevant members and *FOR works with a variable which was called %KPI% in this coding example. *IS can't be accompanied by a variable! *IS * means that you operate on the entire selection having a starting value together with *XDIM_MEMBERSET P_ACCT=KPI1. The *REC command is always accompanied by a *WHEN statement. 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 will add the 'flash' values of each kpi for jan plus feb and book the sum 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 logic looks 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 base level members → Send data. 10. Optional: Now we need to do the same as before except we want to write to multiple 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 will add the 'flash' values of each kpi for jan plus feb and book the sum 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 base level members → Send data. 11. Optional: Now we need to use a filter in the code so that only members with specific 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 master data maintenance for the 5 KPIs. We had selected “C” for KPI5 and Property “SELECTION”. Now we want to refer to this Property and although we plan data for all 5 KPIs in January we filter the data before the logic is executed so that the logic shall only be executed when the relevant KPIs carry property B! We do this working with the XDIM_FILTER statement which only returns base members and thus 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 anywhere in 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 allow Properties.*SELECT is a second possibility to refer to properties needed in connection with the XDIM_MEMBERSET statement. *XDIM_MEMBERSET doesńt allow Properties. *XDIM_FILTER is one possibility to reference properties within the scope. Further ideas to our business logic: We plan 100,200,300 and so on in January for all 5 KPIs and only for the KPÍs with the property “Selection” = “B” the values shall be multiplied with 1.1 and written into February. Then the sum of January and February is written into March but for ACTBUD. To get the correct KPÍs we in general define how to find a list of IDs using the property SELECTION with B. This list found by the system by our *SELECT coding line and is saved in a user defined variable called %SELVAR%. In our case we refer in the *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 → Check your 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 level members → Send data. 13. Create a variable for the *SELECT statement that can be used anywhere in 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 whereas KPI1 to KPI4 have Selection = B and thus will calculate for March. We now work with *SELECTCASE which is an alternative to the IIF MDX statements and expands as MDX IIF statements! IIF statements perform an 'if then else' operation. *SELECTCASE is a shorter statement compared to IIF but both produce the same performance. Concerning performance the *WHEN/*ENDWHEN statement has a 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 be done for the relevant accounts. If the Property Selection is 'C' then a calculation for April will be done 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 logic looks 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 automatically be 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 can only use one formula and it must be a MDX formula. Working with *ADD has a better performance than working with the 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 by the 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 logic looks like this: Figure 454: Logic 15 compiled code 15. Optional: With the help of the next logic we want to calculate Revenue in 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 is price. This function is referred to by a placeholder name and the function placeholder replaces a corresponding MDX formula. Doing so you can increase the readability of a statement and set the placeholder/function wherever you want to which will decrease the number 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 your current view to 2011.Q1 → Open the column group in H → In F52 → Enter: CE0008000,CE0008500,CE0002100 → Expand all → Enter a quantity 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 logic looks like this: Figure 457: Logic 16 compiled code 16. We want to create an Include called “Function_Definition” which is a placeholder that will allow us to simplify our code by referring to script in a separate file. a) Create a new script file for the function: In the admin console → Open the 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 it much 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 a price 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 a revaluation 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 kpi node. The tmvl function is looking 16 periods ahead of jan 2011 which will be jan 2012. Remember, our time dimension has 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 INPUT SCHEDULE 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 base level members → Send data 18. Now you want to accumulate/sum up the data from January and February using the TMVL function. The sum shall be written to February. This shall be 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 using the offset the code is adding the input values for jan and feb together 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 in Feb → 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 February value 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 jan and 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 in Feb → 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 two months, for example January and February and you want to write the sum to February. Since you don't explicitly mention the destination month the same month 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 in Feb → 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 then we want to sum up the Jan + Feb value to Feb and then to take this result from 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 next buffer calculation (MAR). Idea: plan JAN, FEB, MAR manually Jan + FEB = FEB FEB + 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 TEST SCRIPT LOGIC → Enter 100 for kpi1-5 in Jan and 200 in Feb and 300 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 f) BPC420 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 member from the current view. This variable can be included not only in the X_DIM Memberset command 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́s month according to the Schedule configuration is automatically taken for a calculation. For your information: Although we aren't using it in this example, a further Logic keyword “DIM” exists which returns the 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 logical keyword DIM will return VERSION if the technical name of the 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 → Enter 100 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 Logic Objective: Now we want to get familiar with LOOKUP and DESTINATION_APP which allow an integration between two applications. Description: Lookup and Destination_App are appropriate for multi-application scripting. Destination_App writes record from the source cube. Lookup is only for reading values and Lookup is positioned in the application that wants 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 Application for and the D_PLAN## Application. a) Since we are working with two applications, we should take a look at 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 PLANNING Application → 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 has dimension that is not found in the destination application: REPTCURRENY, P_DATASRC, P_ACTIVITY ADD_DIM Keyword: If the destination application has dimensions that do not exist in the original application, these can be added to the passed records: INPUT CURRENCY, PRODUCT. P_ACCT , ENTITY, CATEGORY, TIME, MEASURES are the same in both applications. To calculate a new value inside a *REC( ) statement, you can assign a source value or multiple values that are outside the scoped data for a FACTOR or an EXPRESSION instruction using the LOOKUP function. Hereby you can refer to the same or a different application! Note: Only the value is important for further calculation not the granularity! Continued on next page 2010 © 2010 SAP AG. All rights reserved. 399 Unit 4: Working with Logic e) BPC420 Set your access in PLANNING: Security → Member access profiles → AdminMbrAccPrf → Modify member access profile → Goto step 2 → Planning tab → Use the system drop downs to set up these two accesses: 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 access PLANNING. 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 → Expand all → 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 and analysis → 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 in the D_PLAN## application. Our scenario is as follows: We plan values for the Planning Application in February for the CE0004510 account and 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 dynamic template → Account trend → Ok → Set your current view and enter the data as you see below → Expand all → Send data → Send active worksheet → 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 you send data: Switch to the D_PLAN## application → Open the Input_Schedule_Test_Script_Logic → Set your current view as you see 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 3. BPC420 We need to reference data in PLANNING again. In application D_PLAN## we now want to calculate (KPI1*Value of the 1st account + KPI2*VALUE of the second account +KPI3*Value of the 3rd account + KPI4*Value of the 4th account) = KPI5 whereby we refer to Values of the 4 accounts from the planning 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 from selections out of scope are also possible this way. Reads from the same application needs to be written within one 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 not allowed. e) Input values in PLANNING: 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 → Expand all → Send data → Send active worksheet → Yes → Cancel: Figure 482: Logic 32 planning report f) Input values into D_PLAN## and trigger the logic when you send data: Switch to the D_PLAN## application → Open the Input_Schedule_Test_Script_Logic if necessary → Set your current view as you see below → Enter: February 2011 enter 11 for KPI1, 22 for 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 Logic Objective: With the help of this lab we want to show how to configure a central execution 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 need to turn off the default logic by inserting '//' in front of the code. a) Comment 'out' the default logic: In the admin console → Open the D_PLAN## Application → Default.LGF → Enter the // as shown below: 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 your current view as you see below → Open the → INPUT SCHEDULE TEST 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 2. BPC420 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 each of the following packages as template for your centrally executed script logic: • • a) The default formula packages which is specifically designed for pure Script Logic execution. Table Driven Logic packages such as ICDATA, US_ELIM, CONSOLIDATION and CURRENCY CONVERSION are able to run your logic scripts too. First navigate as follows in the Interface for Excel: Home → Manage Data → Maintain Data Management → Manage Packages (Organize List). Create a new “package group” called STUDENT_## and for this package group create a new package: Right click in the yellow area → Add package → Select the drop down to view process chains → Select the 3rd app group → Left click on /cpmb/icdata (we could use any other package as well) → Select → Check both task types → Enter a name and description as follows: Figure 487: Script logic package b) Select ADD → SAVE → SAVE → OK. c) Modify the data manager dynamic script: eDate → Organize package list → Student_## → Right click on your new package → Modify package → 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-## → DYNAMIC SCRIPT WITH FILE VARIABLE → Open → Copy the code → Replace the 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 a variable, to allow selections for P_ACCT in the packagés entry mask. You also entered PRODUCT which can't have a variable since it is a customer specific variable. So hard-code PRODUCT here. Then create a prompt so that the user can enter the relevant Logic file. %FILE_NAME% is a variable too, a placeholder for the file which 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 → Select these 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 → Double click the formula log to see the detail → Close the pop ups → Refresh workbook → Voila! Figure 491: Script in package result Task 5: Execute a Script Logic from an Excel button Objective: An end user often wants to execute a script logic with the click of a button. We want to show how to configure this. Description: Using a Package and linking it to a BO PC macro allows the end user to execute script logic per an Excel button. 1. A few Excel related activities are necessary to allow the creation of a an Excel 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 → Trust Access to the VBA project object model: Figure 493: Enable macros c) 2. Ok. In the account trend input schedule, insert a button in cell O45 Use this current 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 TO EXECUTE SCRIPT LOGIC → Send 500 in jan for kpi1 → Left click your new button → Student_## → Run your new package → Enter LOGIC_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) 3. Etools → Save dynamic template → Company → Input schedules → INPUT SCHEDULE WITH MACRO BUTTON → Save. Now we want the button to execute a specific package instead of letting the 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 EXECUTE SCRIPT LOGIC”,“/CPMB/ICDATA”, ““””, “STUDENT_##” Note: You can also see below what the 'assign macro' looks like 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 the VBA screen → Single left click your button now! Figure 497: Select a file Task 6: Allocations Objective: The goal is to show how the allocation function works and how it can be installed. Description: You have some data on a sender entity and you want to distribute this 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 several dimensions. Create the following members for dimension ENTITY and then Process Dimension de-selecting “Take System Offline ” and processing “members from sheet” Continued on next page 414 © 2010 SAP AG. All rights reserved. 2010 BPC420 Lesson: Dimension Member Formulas ID EVDESCRIPTION PARENTH1 CUR-OWNER RENCY SENDER SENDER FOR ALLOCATION NODE_SENDER EUR ADTWDFVM2001\CPM-## RECEIVER_1 NODE_RERECEIVER CEIVER NO 1 FOR ALLOCATION EUR ADTWDFVM2001\CPM-## RECEIVER_2 NODE_RERECEIVER CEIVER NO 2 FOR ALLOCATION EUR ADTWDFVM2001\CPM-## NODE_SENDER NODE SENDER FOR ALLOCATION NODE_AL- EUR ADTWDFVM2001\CPM-## LOCATION NODE_RECEIVER NODE RECEIVER FOR ALLOCATION NODE_AL- EUR ADTWDFVM2001\CPM-## LOCATION NODE_ALLOCATION NODE ALLOCATION EUR ADTWDFVM2001\CPM-## a) Goto the Admin Console → Entity dimension → Maintain dimension members → 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 temporary cache → Select Entity → Maintain dimension members → The data you entered should still be visible. Continued on next page 2010 © 2010 SAP AG. All rights reserved. 415 Unit 4: Working with Logic 2. BPC420 Now select the D_PLAN## application and open its “Script Logic” node. There should be an existing file called ALLOCATION.LGF. If not, create a new one with the same name and open it. Copy the code from the allocation.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 will later use a data management package for it and won't refer to the allocation 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 the G Drive → Validate and Save → Ok. Figure 498: Allocation logic 3. Goto the Interface for Excel for your application set STUDENT_## and your application D_PLAN##. First make sure that all new members are available by refreshing the dimension members. If the members still do not show up, try the Connection Wizard and if that does not work shut excel down via the task manager and launch 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) 4. Goto the interface for Excel eTools → Refresh dimension members → Set your current view as you see above. Open the delivered input template Nested Rows, open the control panel and use 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 a) 5. BPC420 In the Interface for Excel Data Input → Build a schedule using a dynamic template → Open → OK → Click on the plus sign (+) above column J to access the Control Panel → Change your Control Panel settings to match the one above. → Expand All → if asked 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. To execute the allocation we have to add the data management package for allocation into your STUDENT_## package group. In the Excel Interface, goto 'organize package list' and add a new package called PACKAGE TO EXECUTE ALLOCATIONS and link it to the allocation process chain. Modify the dynamic script by copying the code from the 'allocation parameter.txt' file in your logic file on the G drive. Note: In the last coding line you can see the script logic Allocation.LGF is hard coded. Note: We need to use Allocation_Logic_WDT since in the relevant process chain /CPMB/Allocation the 'Run Logic' Process Type has the technical name Allocation_Logic_WDT and not “Allocation_Logic”. We have provided the process chain and type the next two screenshots for you to see (you do not need to go there yourself): 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 Data Management → Manage Packages (Organize List). For the STUDENT_## package group create a new package: Right click in the yellow area → Add package → Select the drop down to view process chains → Select the 3rd app group → Left click on /cpmb/allocation → Select → Check both task types → Enter a name and 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 logic Allocation.LGF is hard coded. 6. Run a package and select your new allocation package. Run it for the following 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 members from the table above → Next → Finish → Ok → View status → Close the boxes → Refresh workbook: Figure 505: Allocation result Note: As you can see the sender with 2000 is not automatically set to zero! Therefore you will either have to enhance your script logic program to reach that goal or you don't put the Sender and both Receiver under a common node but on different nodes that never have a common upper node so that no doubling/summing up of data can occur. 7. Now the sender value has to be set to zero! Navigate to your allocation script logic coding and enhance it as follows: after *ENDALLOCATION and 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 your packing since in the Allocation coding we used the X_DIM MEMBERSET command for Entity and consequently this command refers to all data not only to delta values saved after the last execution of the Management Package. Go back to your Input Schedule in BPC for Excel and press the “Refresh Workbook” Button to see the results. a) In the admin console: Open the allocation.lgf file → Enter the code as shown: 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 members from the table above → Next → Finish → Ok → View status → Close the 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 Packages Objective: During execution of a Data Manager package in a revaluation scenario a User shall be asked to fill in the prompted value as a user selection. This will add flexibility and could be used for 'what if' scenarios. Description: We want to show how to integrate these variables and then how to adapt the dynamic script logic with which you design your package popup. Business scenario: We want to increase the data for KPI1 to KPI5 by x percent 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. Only save 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 management package for prompts into your STUDENT_## package group. In the Excel Interface, goto 'organize package list' and add a new package called PACKAGE TO EXECUTE PROMPTS and link it to the ICDATA process chain. 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 SCRIPT PACKAGE PROMPTS.txt' file in your logic file on the G drive. a) In the Interface for Excel: Home → Manage Data → Maintain Data Management → Manage Packages (Organize List). For the STUDENT_## package group create a new package: Right click in the yellow area → Add package → Select the drop down to view process chains → Select the 3rd app group → Left click on /cpmb/icdata → Select → Check both task types → Enter a name and description 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 'dyn script 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 3. BPC420 In edata: Run a package and select your new package with prompts. Use a markup 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 prompts for the revaluation %'s → Enter the values as shown: Figure 514: Package prompts Next → Enter in the 5th variable → Next→ Use the members from the table above → Next → Finish → Ok → View status → Close the boxes → 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 Script Logic Create a business add in and call it via a script logic file and have it execute on a real time basis by including it in the default logic file. We now want to show how to calculate a value using ABAP instead of Script Logic. Since many developers are not familiar with Script Logic Coding we want to show how 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' in the 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' → Enter the 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 e) BPC420 Continue → Local object → Save → Open the node on the upper left so 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 to switch the screen into change mode → Position your cursor after the first 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 be referenced 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) 2. Continue → Save → Select 'enhancement implementation' on the upper left → Activate → Goto the local objects tab if necessary → Select all of the STUDENT_## objects → Enter → The BADI is complete. 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: *INCLUDE LOGIC_34.LGF → Validate and save. Continued on next page 2010 © 2010 SAP AG. All rights reserved. 431 Unit 4: Working with Logic 3. BPC420 In the interface for excel in D_PLAN##, send in data to confirm the abap calculation. a) Test your sample abap code: In the interface for excel → Set your current view as shown → Data input → Build a schedule using a dynamic template → Account Trend → Ok → Open the control panel → Delete the settings in C56 → Planning & Consolidation → Expand all → Enter 5 for CE0004010 and 4020 → Send data → Send active worksheet → Yes → Close → You should see the sum in 4520: Note: This simple example is built to sum data changes not stored values so if you do any testing, it would be best to zero out the accounts and start fresh each iteration. Figure 524: ABAP on line Result Task 9: Optional: Using a Start Routine in a Data Import Create a business add in and call it via a script logic file and have it execute during a data import. Here we want to work with a start routine which will check if the Amount for KPI1 is bigger than 2000 or not. If this condition is fulfilled the system shall send an 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' in the 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' → Enter the 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 left so 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 to switch the screen into change mode → Position your cursor after the first 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 upload if the Amount for KPI1 is bigger than 2000 or not. If this condition is fulfilled the system shall send an error message and not load the relevant 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 be referenced 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) 2. Continue → Save → Select 'enhancement implementation' on the upper left → Activate → Goto the local objects tab if necessary → Select all of the STUDENT_## objects → Enter → The BADI is complete. In the interface for excel for PLANNING, simulate a data import to confirm the abap if statement. a) Test your sample abap start routine: In the interface for excel → Set your 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 → Select the file → Open: Figure 534: Start Routine Data file b) Create a transformation file: Goto eData → More → Create transformation 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 c) BPC420 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 Application Server → 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 Order Objective: Using Dimension Formulas and the Solve Order Feature to show Dimension Formulas work and how the order of dimension formulas can be influenced. Description: Working with Dimension Formulas and Solve Order will allow you to execute formulas on the fly as data is refreshed. The results are not stored in the database. Return to the Admin Console.. We now want to install two Dimension Formulas, one for an Account and one for a Product. Since both Formulas can collide if they are included in a report we 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 represents an account like gross margin %. Product3 will be the sum of 1 and 2 and therefore represents a 'group'. 1. Add a new P_ACCT formula. Now go back to the P_ACCT member sheet via 'maintain dimension members' and fill in the Property Formula for member Account 3 as you see below: IIF([P_ACCT].[ACCOUNT2]=0,NULL,[P_ACCT].[ACCOUNT1]/[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 we don't want to divide by zero), otherwise divide account by account2. and if there is a formula collision use a solve order tie breaker value of 1. (Lower values 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'. Now input the FORMULA property with a length of 500 and select Modify Dimension Property afterwards. Now go back to the PRODUCT member sheet and fill in the Property Formula for member PRODUCT3 as given below: [PRODUCT].[PRODUCT1]+[PRODUCT].[PRODUCT2];SOLVE_ORDER=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 Dimension Members. 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-Trend template. Open the Control Panel using the “+” signs in the left corner and configure as 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 active worksheet in the Action Pane. If you get any information concerning how many record are saved, confirm with YES. You should get the following results: . Figure 540: Results Product Last Leave BPC for Excel open. a) 2. Use the directions above. Case 2: PRODUCT3 shall be calculated before ACCOUNT3 We will reach this goal by just changing the solve order number in both formulas. In the Admin Console goto 'Maintain Dimension Members' for the P_ACCT Dimension and for the Product Dimension. For ACCOUNT3 change the formula to SOLVE_ORDER=100. Select Save 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 Save to Server. Now select Process Dimension for the P_ACCT and PRODUCT Dimension. Don't forget to de-select “Take the system offline and to Process from 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 ACCOUNT3 according to the new solve order. Close your Excel Sheet and the Interface for Excel. a) 442 Use the directions above. © 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 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 • 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 5 Business Process Flows Unit Overview After completing this unit, you will be able to work with Business Process Flows Unit Objectives After completing this unit, you will be able to: • • Understand the Concept of BPFs See how to Customize BPFs. Unit Contents Lesson: 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 Overview Business Process Flows is a method of defining a business process within the context of SAP BusinessObjects Planning and Consolidation. A BPF guides end-users through a pre-defined process. Lesson Objectives After completing this lesson, you will be able to: • • Understand the Concept of BPFs See how to Customize BPFs. Business Example With the help of Business Process Flows we want to guide the end user through their 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 a business process successfully. A BPF is not equivalent to workflow but they have some features similar to workflow that guide the users to the next action, show the activities that the user is expected to perform, enable opening of the steps upon completion of previous steps 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 SAP BusinessObjects Planning and Consolidation actions regardless of whether they are there in BPF or not. For example, a user can create an input schedule if he/she has access to do so even if 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 Planning and 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 Microsoft platform BPF instances are based on user selection of the dimensions. The dimensions to be selected as instance identifier are from the controlling Application. BPF instance access is same as that in SAP BusinessObjects Planning and Consolidation, version for the Microsoft platform. It assigns access to the BPF instance for the instance monitor or the ability to see the 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. The errors identified during validation must be resolved before creating an instance from that template. Please note that no manual entry is allowed for entering dimension members or owners. 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, those changes will not be automatically incorporated in the instances that have been already generated. However, any subsequent instances that will be generated from that template will inherit 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 error upon 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 Application Set 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 and branding. – Product name = “SAP BusinessObjects Planning and Consolidation” – Flex based interface The End user will have a different experience – – 454 Introduction of some new user interface paradigms which will become part of the standard UI (User Interface) harmonization As such, actions will not always be located within the “Action Pane” © 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 not responsible 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 Action Pane. 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 order they 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 but still 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. It means all emails can be customized. In Email body some variables can be used. In runtime they will be replaced by real 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. It means all emails can be customized. In Email body some variables can be used. In runtime they will be replaced by real 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 466 © 2010 SAP AG. All rights reserved. BPC420 2010 BPC420 Lesson: Business Process Flows Exercise 4: How to build and administer Business Process Flows Exercise Objectives After 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 the activities of the planners and to monitor the status of the provess. Description: We want to create a Business Process Flow for the Cost Center Planning Scenario and since we have planners who are responsible for certain accounts, 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 your BPF 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 468 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. © 2010 SAP AG. All rights reserved. 2010 BPC420 Lesson: Business Process Flows Solution 4: How to build and administer Business Process Flows Task: Business Process Flow (BPF) Objective: With the help of a Business Process Flow we want to direct the activities of the planners and to monitor the status of the provess. Description: We want to create a Business Process Flow for the Cost Center Planning Scenario and since we have planners who are responsible for certain accounts, 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 your BPF 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 lower left → 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 → Confirm CC_PLAN## as the Controlling application. Figure 574: Define BPF Note: The p_acct dimension of the CC_PLAN## application will 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 practice to select at least two dimensions to define an instance. The instance will be used to determine the status of the steps. d) Select 'C. Set Access' on the upper left → Select users → Move your user id to the right to the 'Selected' box. Figure 576: BPF access e) Create step one: Select 'Next' → Add → Make your selections as you see 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 after completion. If this is set to ‘No’ that step can’t be reopened during execution. Opening criteria All Step Region will enable opening of the next step only after all step regions are complete whereas in case of Matched Step Region when you complete a step region, the next step opens for the same step region. The first step of the BPF always opens regardless of the opening criteria. Defining these options will be important for the second step onwards. Note: You can select any property as the owner property. The property that you select must have fully qualified user name. The same rule applies for the reviewer property that you will use in the next BPF step you will create. Note: You can choose any property to be the reviewer property. However it is a good practice to name the properties accordingly 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 of involvement in the step. You can select up to six dimension members. The available selection formulas are SELF, BAS and DEP. Note: To select a dimension member, first left click in the field and it turns gray, then left click again and a selector box pops up. You can select up to six. Note: The ‘Choose reviewer property’ is grayed out because you did not check the box ‘Enable Reviewers’ in the earlier screen. You can select any property as the owner property. The property that you select must have a fully qualified (including the domain) user name. The same rule applies for the reviewer property 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 k) BPC420 'Define step region criteria': Figure 583: Step 3 region criteria l) 2. Select Ok → Ok → Save → Ok. Create the first Sub Step. a) Create the Cost Center 16 sub step: Select Step 2→ Select ”Add New Sub Step' → Add a name and description as you see below: Note: Properties are grayed out since they are only maintained for 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 the Interface 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 can add more actions if needed. b) Set up the first cost center 16 action: Select the COST CENTER 16 sub step → 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 by clicking the ‘Browse’ button. Since you selected Category and Time in the instance identifier, you have an option to inherit those values from the BPF instance. 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 active worksheet → 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 COST CENTER 17 as the name and instruction → Ok → Select the COST CENTER 17 sub step → Copy → Enter COST CENTER 18 as the name and instruction → Ok → Save → Ok → Next → Select COSTCENTER17 → 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 the current 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 CENTER REPORTING step as shown below→Set the current to 'Inherit from BPF 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, you will use that template to create a BPF instance that you will execute in the next lab. b) Create an Instance: Select your BPF → 'Create BPF Instance' → Set the 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 your domain 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 d) BPC420 '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 → Select your 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 for the 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 Excel Interface 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 view automatically 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 view automatically 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 view automatically 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 → Back to my activities: Figure 608: BPF Step 2 kpi1 region approved Note: Step 3 was set to 'all step regions', therefore the third step will only open when all the preceding step are completed for 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 Allow Reopen 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 steps 2,3,4,5 are re-open enabled and you want to reopen step 2 after you have completed step 5, then you have to go back sequentially. Hence in that situation, you will re-open step 5,4,3 and then 2 in that order. In your example here, you are opening only one step. Note: The status of the second Step is now “Reopened” and not 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 'my activities': 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 for kpi2 → 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 see the finalize option on the upper right. u) 6. 'Finalize' your BPF: On the upper right → Select 'Finalize process'. Archive your finalized bpf instance. a) In the admin console: Select business process flows → Manage bpf instances → 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 Instances Report → 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 the command 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:Type S for the System Template and Type C for the Customer Template. So you can only create one Type C variant per Email Template ID which will then have priority! In the upper Screenshot you can see that for Email ID 1 already two Templates. 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 could create one C version clicking at the “Create” Button. Please dońt do that. . . 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 to configure 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 web server 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 to access 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 Summary You should now be able to: • Understand the Concept of BPFs • See how to Customize BPFs. 502 © 2010 SAP AG. All rights reserved. 2010 Unit 6 DrillThrough Unit Overview After completing this unit, you will be able to understand the Drill Through Concept in BO PC. Unit Objectives After completing this unit, you will be able to: • • Understand the Concept of Drill Throughs Set up a Drill Through Scenario Unit Contents Lesson: 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 Overview In this lesson we will see how to build drill through interfaces and use execute them from the Excel Interface. Lesson Objectives After completing this lesson, you will be able to: • • Understand the Concept of Drill Throughs Set up a Drill Through Scenario Business Example The End User wants to drill down from their Input Schedule or Report to Google to get some detailed information about an account member and secondly the end User would like to jump to a BEx Analyzer Report from their BO PC template. Drill Through Lets' 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 to drill down on member data within dimensions. You can drill down on members in a worksheet, or you can drill down on charts and graphs. Drill down is conducted within one report in the Excel interface whereas drill through 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 selected cell in an Excel report. You can define a number of drill-throughs and its possible to define several drill-throughs per dimension. Here is an example of why you may want to use the drill through feature: When SAP BusinessObjects Financial Information Management (FIM) is used to load data into Planning and Consolidation from external data sources (flat files, tables, 3rd party applications, or other EPM applications), this data is often transformed and aggregated. Planning and Consolidation only stores the final data, and users may want to drill-through into the details of the data that is stored in a FIM repository (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 Planning and Consolidation system administrator must be granted access to the Manage DrillThrough 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 be granted access to the End User DrillThrough task. Figure 630: Administration Configuration (1 of 3) In SAP BusinessObjects Planning and Consolidation 7.5, version for SAP NetWeaver, 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 Basic Information From the Basic Information screen, enter a Drill Through ID and Description. Then click Next. Figure 632: Administration Configuration (3 of 3) Wizard – 2. Parameter Mapping & 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 dimensions and mapped to a user-defined value. The value of URL parameters can be mapped from dimension member or property 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 you want to see this number broken out by customer. As long as you know where that data 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 define a drill-through to show the Journal entries that contributed to the final numbers for the Commission member. Figure 633: Mapping Parameter %CURRENTUSER% • • 2010 %CURRENTUSER% can be passed as the parameter value in the URL mapping This returns the current domain and SAP BusinessObjects Planning and Consolidation 7.5 user name © 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 the URL 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) server information can be saved as a SAP BusinessObjects Planning and Consolidation Web Admin parameter and then dynamically passed as a parameter value in the Drill-through URL mapping • To configure a Drill-through to a BEx query using the system parameter, proceed as follows: 1. 2. • • The BEXSERVER parameter can be maintained either at the AppSet or the Application level, but if maintained for both, the Application level takes priority 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 server name will be replaced for %BEXSERVER%. For simplicity in demonstration, this is an example of a Drill-through which calls the Google search engine using URL: http://www.google.com/search? The URL Parameter [q] will be filled with the user-defined variable for the current 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 is set between: • • The URL Parameters and the BEx variable name using the User Define Value source The URL Parameters and the Dimension ID using the Time and Account dimensions Figure 639: Business Example 3 – Drill-through to a BEx Report (2 of 3) In this example a SAP BusinessObjects Planning and Consolidation report is shown with the cursor on a cell containing Account CE0004010 and Time 2006.JAN. Upon executing the Drill-through, these values are automatically passed to the variables 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 514 BPC420 © 2010 SAP AG. All rights reserved. 2010 BPC420 Lesson: Drill Through Exercise 5: How to Set up and Administer Drill Through Exercise Objectives After 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 Example While 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 Query for details for example that don't exist in SAP BusinessObjects Planning and Consolidation. Task 1: URL Drill Through Configure the URL drill through to BING.COM in the Admin Console and use it in the Interface for Excel. 1. Configure the URL drill through in the Admin Console for your STUDENT_## Appset and PLANNING Application. 2. Use the URL drill through in the Interface for Excel. Task 2: BW Query Drill Through Configure the BW Query the Admin Console and use it in the Interface for Excel. 2010 1. Configure the BW Query drill through in the Admin Console for your STUDENT_## Appset and PLANNING Application. 2. Use the BW Quer drill through in the Interface for Excel. © 2010 SAP AG. All rights reserved. 515 Unit 6: DrillThrough BPC420 Solution 5: How to Set up and Administer Drill Through Task 1: URL Drill Through Configure the URL drill through to BING.COM in the Admin Console and use it in the Interface for Excel. 1. Configure the URL drill through in the Admin Console for your STUDENT_## Appset and PLANNING Application. a) Goto the Admin Console. b) In the Admin Console: On the upper left → Open up the Applications folder → 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 an account 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) 2. Save your drill through: Select Next → Apply → Select your drill through to see the summary in the Admin Console. 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' → Interface for Excel → Select your STUDENT_## Appset and PLANNING Application → 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 → Select BING_## → 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 Through Configure 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 your STUDENT_## 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 Applications folder → 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 the BPC420 Drill Through Parameters file on the Gdrive to copy in the url and 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 Through Parameters file → Copy the url → Back in the Admin Console → Select the parameters tab → Fill in as shown below: Note: Everyone in the class will be jumping to the same query destination ie, the BPC420_query. Note: Input your 3 position server id. The BW Server id varies by class and group. Your trainer should have given you the system id already. If not, you can access it via: Remote computer → 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 filter criteria, you need two 'filters'. The iobjnm (info object name) and its technical BW id is the first. The 'value' is fed from your cursor 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 could easily put more dimensions in the drill through to pass more filter values but we are keeping it short and sweet here in class. Figure 651: BW Drill Through – Test Result f) 2. Save your drill through: Select Next → Apply → Select your drill through to see the summary in the Admin Console. Use the BW Quer drill through in the Interface for Excel. a) From the Admin Console: Select 'Available Interfaces' → Interface for Excel → Select your STUDENT_## Appset and PLANNING Application → 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 a report using a dynamic template → Subtotal by account → Open→ Ok → Open the column group → Put entity in the rows (F47) → Set the memberset in F48 to BAS: Figure 653: BW drill through conrol panel → Planning & Consolidation → Expand all → Position your cursor on 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 Web Analyzer. 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_ACCT and Time → Now it is displayed in the rows → And the values should look like this: Figure 657: BW Query with detail Note: The drill through target in this case is a query built on a BW Infocube that is also a BPC PLANNING Application just like yours. The target could easily have been on a number of other BW tables, views, and data sets. Continued on next page 526 © 2010 SAP AG. All rights reserved. 2010 BPC420 Lesson: Drill Through g) 2010 Save your template: eTools → Save dynamic templates → Company → Enter: Query Drill Through → Save. © 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 Summary You 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 530 BPC420 © 2010 SAP AG. All rights reserved. 2010 Unit 7 Administration (optional) Unit Overview After completing this unit, you will be able to understand Master Data Validations, Audits, Concurrency Locking, the Work Status Concept and Transports. Unit Objectives After 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 Contents Lesson: Master Data Validations .............................................532 Lesson: Audits ..................................................................543 Lesson: Concurrency Locking.................................................556 Lesson: Transport...............................................................559 Lesson: 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 Overview Validations are designed to prevent “incorrect” records being saved to the cube. Lesson Objectives After completing this lesson, you will be able to: • • Understand the concept of master data validations Configure a master data validation rule Business Example An example for a master data validation is when you have specified an intercompany account that shall only be booked with one special Trading Partner. If this conditions is not fulfilled the system shall generate an error message when sending 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 an intercompany 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 validation rules will be created from. In most cases, it is the Account dimension, but it can be 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 want to check the value of another dimension (e.g. IntCo) whenever a record is written to a certain account member (e.g. ICSales). The rules are created at the “Dimension” level, not at the application level. Thats why 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 at the Dimension level, you can see now that any rules created for the ACCOUNT dimension 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 in Advanced Business Application Programming (ABAP) system. All configuration is 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 User Interface (GUI). In future it will be eventually moved to the SAP Business Planning 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 driver dimension for each Application. Figure 662: Assign Driver Dimension If you leave the driver dimension empty, then no validation rules will be applied to this Application. The Edit Rules icon allows you to jump directly to maintaining the rules for one dimension. Before clicking on the button, a row must be selected. The help popup (F4) window displays only the dimensions assigned to the application. 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 asking to select which driver dimension for which you want to maintain rules (you can select 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, and the 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 can belong to multiple rules (e.g. ICSALES in Rules 1 and 3), which would make it an AND condition (must pass 1 and 3 to be valid). Figure 665: Maintaining Rules When maintaining a rule you can change the following: • • • • 536 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. © 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 contains the member COMMISSION, HEADCOUNT or SALARIES, then on the same record, 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 is I_RESDEVUK OR I_RESDEVUS OR NON_INTERCO. Figure 668: Maintaining Rules In this example Rule, there are three points to note: • • • 538 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 a warning, but you can continue. The BADI Implementation has been selected in this example. You can click on the BADI name provided to create the implementation. See the Technical section for details. © 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 to another AppSet. If the Applications or Dimensions are different, it will just copy the matching entries. If nothing could be copied, you will get an information message. You will get warned if the Target AppSet already has Validations customizing defined, 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 different modules: Journals, Manual Planning and Data Manager. Turning validations On/Off allows you to specify whether you want the rules that have been implemented to actually be obeyed. By default, all modules are turned “Off”. Note: “Manual Planning” means BPC for Excel and BPC Web input by users. 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 records to a cube which fail a validation check. The text in the error message is: • Member SALESUSNCENTRAL not valid for dimension ENTITY in validation rule 00000002 Figure 673: Other Considerations When performing a “Copy AppSet” action, all Validations configuration is copied as well. Likewise, for “Delete AppSet” all Validations configuration is also deleted. When performing a “Copy Application” action, then only the settings by module (i.e. On/Off for Journals/Manual Planning/Data Manager) and assignment of driver Dimension are copied. Likewise, for “Delete Application” just these two components will also be deleted. For transporting, Validations can be configured in either Development or Production (up to the customer to decide). If requested, all Validations configuration 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 validations configuration. 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 Overview Let's take a look at the GRC related features of BPC. Lesson Objectives After completing this lesson, you will be able to: • • Activity Audit Data Audit Business Example Audit is designed to capture system activity and changes. Capturing audit information is required to meet external regulatory authorities as well as the internal controls of a business. This could be relevant for consolidation applications as well as for planning applications. To comply with statutory regulations and SOX (Sarbanes-Oxley) requirements, it has to be ensured that all security changes as well as changes to the configuration are tracked. This enables external auditors to perform the audit as well as giving them confidence into the system. For internal purposes, Audit can be used to ensure that the configuration of the data model and other administrative changes are 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 intended to provide internal and external stakeholders enough information to monitor the system 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 administration perspective using the Administration area in the Interface for the Web. Once the audit data has been captured, it can be reported on using “System Reports”. It is possible to export these reports to Excel. • 2. Data Audit: Captures “transactional” data changes – i.e. capture information on changes to records in an Application. Data audit is captured at the Application level. You can turn Audit On/Off, and control other settings from an administration perspective using the Administration area in the Interface for the Web. Once the audit data has been captured, it can be reported on using “System Reports”. 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 the system. 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, BPC tracks activity for the following functional tasks: Application set and application setup, User and team setup. To enable activity auditing 1. 2. 3. Start BPC Administration, and from the Administration Configuration action pane, select Manage activity auditing. Select Enable Admin Activity to record all administrative activity, and select Enable user activity to record all end user activity. Click Update. “User Activity” includes:Set Work Status locks. Admin Activity includes: • • • • Add/Modify/Delete/Copy operations for AppSets, Applications, and Dimensions (including Process Dimension) Security Changes (add/change/delete users, teams, and task/member profiles) Web Admin Changes (AppSet/Application parameters; Document Types/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 can set it up by application and category. 2010 © 2010 SAP AG. All rights reserved. 545 Unit 7: Administration (optional) BPC420 To manage audit data 1. 2. 3. 4. 5. Start BPC Administration, and select Manage data audit from the Administration Configuration action pane. From the Select Application field, select the application for which you want to set properties. Select Enable Data Activity to turn on auditing for the selected application. 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 the selected application. Select a category, then select one or more tasks to audit. Select the Select All button to select all of the task check boxes, or select the Clear All button to clear all check boxes. Scheduling of Audit-Saving not required. Audit records are written asynchronously to DB. This design was chosen to achieve 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 any notification. 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 and Consolidation 7.5, version for SAP NetWeaver to support a more seamless tracking 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 and Consolidation 7.5, version for SAP NetWeaver to support a more seamless tracking of system activities This includes several detail enhancements such as: – – – – – 2010 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 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 SAP NetWeaver, 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 • • • 548 All changes related to activation and deactivation of audits is logged into the 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) © 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 be found 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 BusinessObjects Planning and Consolidation 7.5, version for SAP NetWeaver Activity Audit log. Note that two additional columns would normally be displayed named “App” (for Application) 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 and Consolidation 7.5, version for SAP NetWeaver, auditing of BPFs has been introduced as well. The logging can be categorized in 3 topics: • 2010 TEMPLATES, INSTANCES and STEPS © 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 the Application level. Both audits can be activated in the WebAdmin Web page. The general activation is 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. The basic administration parameters are set in the WebAdmin environment Reporting of Audit data is possible via the system report framework of SAP Business Planning and Consolidation. Already archived records cannot be reported anymore within the system report framework. Nevertheless, they are still available in a Data Dictionary table in Business 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 Overview In the unlikely event that two planners send data for the same intersection at the same time, BPC will handle the conflict according to the architecture described below. (and very well as a matter of fact) Lesson Objectives After 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 another data lock anywhere in the Business Intelligence (BI) system, the whole request is 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 during the 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 to define 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 do not post delta values (e.g. Journals), in which case, the package size is always 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 Objectives After completing this lesson, you will be able to: • Understand the transport concept of BO PC Business Example Transports is a central service for migrating development of Appsets before and after testing. Transports provide a core functionality within SAP Business Planning and Consolidation and is used when development objects are moved out of the development environment. The ability to use and configure the SAP Business Planning and Consolidation Transports, a component used to manage the life cycle of SAP Business Planning and 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. SAP best practice recommends that development is not done directly in a production system since this can lead severe issues due to a lack of testing In previous versions of SAP Business Planning and Consolidation, the transports was 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 in SAP NetWeaver BW, discussed later. Figure 690: SAP BPC Transports Overview Transports provide core functionality within SAP Business Planning and Consolidation and are used to move development objects out of the development system. Transports allow you to manage the lifecycle of SAP BPC projects by allowing you 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 complete backup and restore. There are some objects which do not get “transported”, as outlined later in this section. The tools being used to support transports in BO PC are not new, but the objects being transported are. Only Appset transport is supported. All Appsets (including ApShell) can be transported. 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 in SAP NetWeaver BW. SAP would not recommend changing Appsets, applications or custom logic in production systems, however if a customer wants to change reports in production they have this option. Note: Typically SAP recommends moving all objects out of Development but understands the need for organisations to have their own governance policies that make sense for them. For instance a customer may wish to develop reports directly in production. A report might not perform well, but there is no risk to the data in the system by doing this. The TLOGO value of “REPT” would control reports. If the CHANGE_IND field is set to “P” it will not be picked up by transports in development as the system expects 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 and directories under the conversion files directory Example: For the last record NFIL, pattern_id = 4, this will select the directory only, 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 a dimension 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 standardised transport 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 not release it, and user 2 creates a request for the same AppSet, then user 2s request overrules iser 1s request. In this case: When a request is created, the data for that AppSet is deleted and rewritten to the 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 a SAP 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 you intend 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 Overview As you proceed through the planning or close process you will need to restrict the activities users can use to change the data. Lesson Objectives After 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 Example Work 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-level explanation 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 in an 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 modifying submitted data. Example: For example, your month-end close business process requires that a specific set of data 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 locks the 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 application using a specified criteria. The end result is a locking of a region within a given application (similar to data-slices in Business Planning and Simulation (BPS) and Business Intelligence (BI-IP). Work Status allows structured and unstructured data to be monitored during the collection 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 and application 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 can be 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 is typically a subsidiary. A manager and/or a high level group processor, will start the review and consolidate the data (specific calculations/logic execution). After the group consolidation is run, the data can be locked from changes so that 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 of deliverables in the APPROVALORG field on the Setting Application Parameters page: • • • 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 Sheet for this OWNERSHIP driving dimension, and process this dimension. Note: You can have different OWNER carrying dimensions per application set. There is no limit to the number of dimensions in an application set with the owner property, Only one dimension will be designated for the owner dimension for work status per application Only one property per dimension can be named “owner” – this rule applies to all property names, they must be unique. • 2010 Functionality of an owner: The owner of an entity can set the work state to any state designated as an Owner state. The manager of an entity can set the work state to any state designated as a Manager state. © 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 your business 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 Move package 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” with internal code of “0” with “both” for Controlled by. This work state must be 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 to five work status dimensions. (limit designed to ensure optimal performance). The dimensions you select as the work status dimensions (Yes or Owner) are the variables in your business process which means that their selection might change based on who submits data. Typically, Time is a work status dimension since data 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 dimension is the owner dimension. This dimension is always part of the upper mentioned Variables. The owner dimension includes the owner property. The owner property determines who can edit a work status setting. Very often the Entity includes the owner property. • SAP Business Planning and Consolidation 7.5, version for SAP NetWeaver allows setting any combination of between 3 and 5 dimensions as relevant for locking, despite the dimension type. So Work Status can also be configured for an Account type dimension. Figure 708: Owner or Manager execute Work Status – which pop-ups do they see? The upper slide shows the pop-ups the Owner and Managers receive when changing 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 set of given criteria. You can filter the report to the specific region of the cube for which you want to get the work state. You specify report parameters, which include start date and time, end date and time, and member values for the dimensions that track work status. The work status report shows Data State, which is the current work state for the data. 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 on the active application). To run the Work Status report, choose Launch BPC System Reports → Workstatus Report 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 and Consolidation 7.5, version for SAP NetWeaver. Figure 711: Notification – EMAIL (Continued) Email Notification is only available in SAP BusinessObjects Planning and Consolidation 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 and Consolidation 7.5, version for SAP NetWeaver and not delivered feature in 7.X. Note: There is a reporting function EVLCK available as well. This function 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 Objectives After 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 Validation Objective: We are going to set up validation rules that only allow certain member combinations to be sent to the Infocube or prevent incorrect data records from being 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_ACCT in your PLANNING application so that invalid combinations will not be allowed. Then you will demonstrate the system error when you try to enter values that are not allowed based on your settings. Note: The “Driver ” dimension is the one dimension per application wh ose members are used to compare against other dimension members to see if they are permissible. There is only one driver dimension per application but it can be used as a point of comparison with any other dimension in the application. 2. Go to the Interface for Excel in the STUDENT_## application set and the PLANNING Application and first set your current view as follows: Then create an Input Schedule of Type Account-Trend . Don't change the configuration and enter 100 for each of the relevant accounts. Select Send Data. Since this combination was a wished combination, saving of data 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 Validation Rule 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 the Operator 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 Status Set up and test work status 1. 2. Set up work status for your STUDENT appset and PLANNING application. Test your work status settings in the Interface for Excel Task 3: Optional: BPC Activity & Data Audit 1. 2010 Now let's take a look at how to turn on and use the system reports. © 2010 SAP AG. All rights reserved. 581 Unit 7: Administration (optional) BPC420 Solution 6: BPC Administration Task 1: Master Data Validation Objective: We are going to set up validation rules that only allow certain member combinations to be sent to the Infocube or prevent incorrect data records from being 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_ACCT in your PLANNING application so that invalid combinations will not be allowed. Then you will demonstrate the system error when you try to enter values that are not allowed based on your settings. Note: The “Driver ” dimension is the one dimension per application wh ose members are used to compare against other dimension members to see if they are permissible. There is only one driver dimension per application but it can be used as a point of comparison with any other dimension in the application. a) In the BW Application Server, enter UJ_VALIDATION in the command field on the upper left and then press “Enter” . Within the “Initial Screen” enter STUDENT_## as application set. Then click at the Assign Driver Dimension button and fill in P_ACCT for your “PLANNING application.” After that click at the button Save Driver Dimension Settings. Press BACK and then click at the button Rule Maintenance. A new pop-up comes up called “Validations Maintenance - Which Dimension?” 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 “Rule Description” fill in Accounts with Activities & Datasource . Navigate to the field “Assigned Members” and click at the Multiple Selection button. In the next screen stay on the “Select Single Values” tab card and enter KPI1 in the first line, KPI2 in the second line and so on until line 5 with KPI5. After that press the “Copy” button. In the “Validation Logic” section make sure that “Use Logic Table ” is selected. 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 will be back in the Initial Screen and should click at the buttonTurn Validations On/Off. In the next screen select open the Matchcode for 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 the Initial Screen open. 2. Go to the Interface for Excel in the STUDENT_## application set and the PLANNING Application and first set your current view as follows: Then create an Input Schedule of Type Account-Trend . Don't change the configuration and enter 100 for each of the relevant accounts. Select Send Data. Since this combination was a wished combination, saving of data 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 Validation Rule 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 application set, application and current view are set as given in the above . Then click as follows: Data Input → Build a Schedule using a dynamic 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 for KPI1 to KPI5 and then in the Action Pane section select Send Data → 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. Now change the current view as given in the screenshot and then enter 100 for KPI1 to KPI5. Click Send Data → Send Active Worksheet and in the next pop-up select “YES” and then “CLOSE”. Due to the changed current view selections you should receive the error message described in the relevant screenshot. 3. Return to the Customizing of your Validation Rule and exchange the Operator 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 Rule Maintenance and select P_ACCT for the “Dimension” field and press Continue (Enter). Mark your “Rule Number” and then select “Edit Rule”. 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 button Turn Validations On/OFF and check if the following settings are still 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 view within your Action Pane that P_DATASRC = UPLOAD is selected. Enter 200 for KPI 1 to KPI5. in the Action Pane section select Send Data → 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 message as 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 Status Set 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 'work status' → Your settings should look lik this: Figure 721: Appset work status before 2. b) Add a new work state → Enter a name and description of REVIEWED → Continue → Add new work state → Reorder work state → Move approved 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 the planning application: In the admin console → Planning application → Work status setting → Make your selections as you see below → Save work status settings: Appset Dim Name Work State Category Yes Entity Owner Time Yes Test your work status settings in the Interface for Excel a) Goto the Interface for Excel: In the PLANNING application → Make the 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 → Modify work status → You will be taken to a web screen → Use the blue hypertext to set FLASH, HEADQUARTER, 2007.TOTAL → Continue → Check: 'Set Children' so that children inherit the status from their parent: 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 → Account Trend → 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 Audit 1. 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 were previously recorded): In available interfaces → Goto the ”Interface for the 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 may vary) 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 'Available Interfaces' → Select 'Administration' → Manage data audit → Make your 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 level members for the other dimensions → enter 200 → send data → send active 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 Summary You 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 8 Appendix Unit Overview Unit Objectives After 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 Contents Lesson: Business Planning and Consolidation – A Technical Overview 598 Lesson: Comparison BI Integrated Planning and BPC – Strategic View 603 Lesson: Appendix: Comparison BW Integrated Planning and BPC – Evaluation Criteria ..............................................................607 Lesson: Business Planning and Consolidation – Some Technical Aspects ...........................................................................609 2010 © 2010 SAP AG. All rights reserved. 597 Unit 8: Appendix BPC420 Lesson: Business Planning and Consolidation – A Technical Overview Lesson Overview [Enter a brief overview of the lesson.] Lesson Objectives After 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 business use 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 Type Dimension 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 Distribution done by one User Figure 738: Top-Down Planning in BPC 2/3 - Budgeting and Distribution done 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 Distribution using 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 Objectives After 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 • 2010 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 there are planning plus consolidation requirements in Federal Government opportunities in North America. Note, SAP BusinessObjects Planning and Consolidation is recommended for all new Government opportunities outside of North America. © 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 and BPC – Evaluation Criteria Lesson: Appendix: Comparison BW Integrated Planning and BPC – Evaluation Criteria Lesson Overview Lesson Objectives After 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 – Some Technical Aspects Lesson Overview Lesson Objectives After completing this lesson, you will be able to: • Business Example Figure 744: SAP BusinessObjects Planning and Consolidation 7.5, Version for the Netweaver Platform The upper slide gives you some technical information concerning BO PC 7.5 NW focussing 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 Netweaver Platform - Server and Database This slide focusses on the supported servers and databases. Figure 746: Supporting Platforms in the BPC Version for the 7.5 Netweaver Platform - Client and Internet Explorer The upper slide gives you an overview about the supported clients in BO PC 7.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 Summary You 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 Summary You should now be able to: • • • • • • • • • • • • • • • • 2010 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 SAP AG. All rights reserved. 613 Course Summary 614 BPC420 © 2010 SAP AG. All rights reserved. 2010 Appendix 1 Comparison 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 – Evaluation Criteria BPC420 Figure 748: Creating Planning Applications with SAP NetWeaver BW Integrated Planning This is a schematic overview about how to the administrator and the project team set 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 BusinessObjects Planning 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 – Evaluation Criteria 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 – Evaluation Criteria 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 – Evaluation Criteria 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 Technology view. Figure 761: Evaluation Category Technology 2/3 Comparison of both planning software components concerning the Technology view (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 Technology view (continued). Figure 763: Evaluation Category Time Comparison of both planning software components concerning the Time perspective. 2010 © 2010 SAP AG. All rights reserved. 623 Appendix 1: Comparison BW Integrated Planning and BO PC – Evaluation Criteria BPC420 Figure 764: Evaluation Category – Strategy / Risks / Sustainability 1/2 Comparison of both planning software components concerning Sustainability and Risk. Figure 765: Evaluation Category – Strategy / Risks / Sustainability 2/2 Comparison of both planning software components concerning Sustainability and 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 – Evaluation Criteria 626 © 2010 SAP AG. All rights reserved. BPC420 2010 Appendix 2 BO PC – Some Technical Aspects Figure 767: SAP BusinessObjects Planning and Consolidation 7.5, Version for the Netweaver Platform The upper slide gives you some technical information concerning BO PC 7.5 NW focussing 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 Netweaver Platform – Server and Database This slide focusses on the supported servers and databases. Figure 769: Supporting Platforms in the BPC Version for the 7.5 Netweaver Platform – Client and Internet Explorer The upper slide gives you an overview about the supported clients in BO PC 7.5 NW. 628 © 2010 SAP AG. All rights reserved. 2010 Appendix 3 Data 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/or transaction data to the File Service or to the Application Server. This capability may be used to transfer data from SAP BusinessObjects Planning and Consolidation to another (non-SAP BusinessObjects Planning and Consolidation) application. Export packages may otherwise be used to move data (that is not collected in the change and transport system) from one SAP BusinessObjects Planning and Consolidation system to another SAP BusinessObjects Planning and Consolidation system, such as a typical system landscape architecture containing three 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/or transaction data to the File Service or to the Application Server. This capability may be used to transfer data from SAP BusinessObjects Planning and Consolidation to another (non-SAP BusinessObjects Planning and Consolidation) application. Export packages may otherwise be used to move data (that is not collected in the change and transport system) from one SAP BusinessObjects Planning and Consolidation system to another SAP BusinessObjects Planning and Consolidation system, such as a typical system landscape architecture containing three 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 and Consolidation master data or transaction data to another SAP system, for example to the ERP system in the SAP Business Suite, new Data Manager packages have been provided to export data using a Business Add-in (BAdI) Within the custom BAdI implementation, developers can codify, using ABAP Objects, where and how to store exported data, and they may even call importing protocols to retract SAP BusinessObjects Planning and Consolidation data into a target SAP system. An export BAdI definition is achieved with the following steps: • • • • • • • • • • • 2010 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 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 is the limitation from ADMIN API which could not support packaging; This is 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: • • • 632 New Data Manager export packages offer the ability to send master data and/or transaction data to the File Service or to the Application Server This capability may be used to transfer data from SAP BusinessObjects Planning and Consolidation to another (non-SAP BusinessObjects Planning and Consolidation) application Export packages may otherwise be used to move data (that is not collected in the change and transport system) from one SAP BusinessObjects Planning and Consolidation system to another SAP BusinessObjects Planning and Consolidation system, such as a typical system landscape architecture containing three environments: Development, Test, and Production © 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: • • • 2010 New Data Manager export packages offer the ability to send master data and/or transaction data to the File Service or to the Application Server This capability may be used to transfer data from SAP BusinessObjects Planning and Consolidation to another (non-SAP BusinessObjects Planning and Consolidation) application Export packages may otherwise be used to move data (that is not collected in the change and transport system) from one SAP BusinessObjects Planning and Consolidation system to another SAP BusinessObjects Planning and Consolidation system, such as a typical system landscape architecture containing three environments: Development, Test, and Production © 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 and Consolidation master data or transaction data to another SAP system, for example to the ERP system in the SAP Business Suite, new Data Manager packages have been provided to export data using a Business Add-in (BAdI) Within the custom BAdI implementation, developers can codify, using ABAP Objects, where and how to store exported data, and they may even call importing protocols to retract SAP BusinessObjects Planning and Consolidation data into a target SAP system An export BAdI definition is achieved with the following steps: – – – – – – – – – – – 634 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 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. This is the limitation from ADMIN API which couldn't support packaging. This is 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 Consolidation Temp table – – 2010 If the reader gets empty data but the flag more data is true, this will be taken as abnormal and there must be something wrong, and the data package will not be passed to transformation. And of course BADI will not 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 mean there is no data in source. And the data package containing no data will be passed to transformation, and BADI will be called. In this scenario, the BADI can generate some records if the user likes © 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 files to upload, the data to export, or the target applications for selected data. – When multiple prompt commands are entered in the same script, the system combines all of the prompts into one dialog box. This rule applies to all prompt commands asking for the selection of a file, a delimiter, or text, but not to the COPYMOVE and SELECT prompts. • The COPYMOVE and SELECT prompts are presented individually, with as many dialog boxes as prompts are found in the script. All file selection prompts return the name of the selected file with the complete path. 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 insert a 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 the configuration of the pop-upsof data management packages. We dont go into detail in this unit and in the next unit we refer to dynamic script logic in the exercise section showing some customizing feature to modify data management pop-ups. The upper command is used to allow the user to select only non-calculated members (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 noncalculated data range n/a [variable] The name of the returned %SELECTION% variable [label] The text to display to the Select the desired data user range [dimensions] The dimensions from which to select members Category, Time, Entity Activities %DIMS% is the dimension list in the current application. The value can be ACCOUT, ENTITY, TIME PROMPT(SELECTINPUT,,,,“%DIMS%”) %SELECTION% is the result that the user selects in the Run Package dialog box. 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, you can 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 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 noncalculated data range n/a [variable] The name of the returned %SELECTION% variable [label] The text to display to the Select the desired data user range [dimensions] The dimensions from which to select members Category, Time, Entity Activities %DIMS% is the dimension list in the current application; The value can be ACCOUT, ENTITY, TIME. PROMPT(SELECTINPUT,,,,“%DIMS%”) %SELECTION% is the result that the user selects in the Run Package dialog box; 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, you can 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_variable],[label],[dimensions]) 2010 Where Means MEMBERFROMTOINPUT This is the function name n/a [source_variable] Source variable %SELECTION% [target_variable] Target variable %TOSELECTION% [label] The text to display to the Enter Source and Target user [Dimensions] The dimensions to select from © 2010 SAP AG. All rights reserved. Default Value Category, Time, Entity 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 MEMBERFROMTOINPUT keyword 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 BusinessObjects Planning and Consolidation dimension. It is to be used when importing master data Syntax: PROMPT (DIMENSIONNAME, [variable],[label],[combo style],[default value],[dimensions]) Where Means Default Value DIMENSIONNAME Select a dimension n/a [variable] The name of returned variable %COMBOBOX% [label] The text to display to the Make your selection user [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 the selected items. Any number which is not 0 – The item the user selects can be any value, which do not need to be one of the items in the selected items. 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 the attribute and hierarchy selection; It is used to import master data from a BW InfoObject. Syntax: PROMPT (MASTERSELECTION,[variable],[second variable],[label]) Where Means Default Value MASTERSELECTION Select InfoObject and selection n/a [variable] Variable for the selected InfoObject %INFOOBJECT% [second variable] The second variable for the selection %MASTERSELECTION% [label] The text to display to the n/a user Figure 782: Business Example – HIERARCHYSELECTION This command is used to prompt the user for selecting an InfoObject and the hierarchy selection; It is used to import a hierarchy from a BW InfoObject. Syntax: PROMPT (HIERARCHYSELECTION,[variable],[second variable],[label]) 2010 © 2010 SAP AG. All rights reserved. 641 Appendix 3: Data Management – Add-on Information BPC420 Where Means Default Value HIERARCHYSELECTION Select InfoObject and selection n/a [variable] Variable for the selected InfoObject %INFOOBJECT% [second variable] The second variable for the selection %HIERARCHYSELECTION% [label] The text to display to the n/a user Figure 783: Business Example – DIMENSIONMEMBER This command is used to prompt the user for selecting a dimension and its members; It is used to export master data. Syntax: PROMPT (DIMENSIONMEMBER,[variable],[label],[the second label],[dimensions]) Where Means Default Value DIMENSIONMEMBER Select a dimension and the members n/a [variable] Variable for the selected InfoObject %DIMENSIONMEMBER% [label] The text to display to the Make your selection user [second label] The second text to display 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 current application. 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 to export transaction data. Syntax: PROMPT (MEASURELIST,[variable],[label]) 2010 Where Means Default Value MEASURELIST Select Measures n/a [variable] Variable %MEASURES% [label] The text to display to the n/a user © 2010 SAP AG. All rights reserved. 643 Appendix 3: Data Management – Add-on Information 644 © 2010 SAP AG. All rights reserved. BPC420 2010 Appendix 4 Add 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 the original 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 and WHEN/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 5 Drill 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 Year from SAP BusinessObjects Planning and Consolidation to the ERP system. It may be the case where SAP BusinessObjects Planning and Consolidation dimension member IDs may not be identical to the ERP master data. If this situation exists, a mapping can be maintained in the dimension member property 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 SAP BusinessObjects 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 is set between: • • 648 The URL Parameters of the ERP field and the Dimension by way of mapping a dimension property which converts from the SAP BusinessObjects Planning and Consolidation dimension member ID to the ERP master data. The URL Parameter ~okcode and the OK Code value from the ERP system using the User Define Value source. © 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 is shown 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 the variables 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. • • • • 650 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 © 2010 SAP AG. All rights reserved. 2010 BPC420 Appendix 5: Drill Through to ERP Figure 791: Prerequisite for ERP Transaction Drill-through Finding the URL for ERP Transactions. Parameters – place the cursor on any field and Press F1 Help. Then click on the Technical information button. Here Account Number is shown to be RACCT-LOW • 2010 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 information button. © 2010 SAP AG. All rights reserved. 651 Appendix 5: Drill Through to ERP BPC420 Figure 792: Prerequisite for ERP Transaction Drill-through Finding the Parameters and the OK Code in ERP. • • • • • • • 652 Drill-through to multi-screen transactions (such as transaction code OBD4 - G/L Account Groups customizing) are not supported due to the complex user-interface, which requires the need to select the relevant row and then go into a subsequent details screen. However, Drill-through to most list or document display type transactions should 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 © 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-up window to enter a parameter value may not work when launched from SAP BusinessObjects Planning and Consolidation 7.5. For example the first time you launch transaction KE24 Profitability Analysis line items, you may be asked to Set the Operating Concern, which is really a call to transaction KEBC. But these types of pop-up dialogues can often be avoided by setting user parameters via transaction SU3. It may also be possible to setup two Drill-through IDs to break such a transaction into separate parts from SAP BusinessObjects Planning and Consolidation 7.5. 2010 © 2010 SAP AG. All rights reserved. 653 Appendix 5: Drill Through to ERP 654 © 2010 SAP AG. All rights reserved. BPC420 2010 Appendix 6 Master Data Validation and Example BADI Implementation Figure 794: Example BADI Implementation (1) This is an example BADI implementation used for creating a custom validation rule. 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 must specify “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 run for 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 exporting structure 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 must be 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 658 © 2010 SAP AG. All rights reserved. BPC420 2010 Appendix 7 Concurrency 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) the locks, the more time consuming it is to check them, and the more memory required to store the locks. Therefore, less granularity would mean a better performance and less memory storing the locks. But less granularity would also mean that possibly too big a region would be 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 the optimal way to lock a region that covers all the records being written back, while not locking too big a region. Two types of locking exist which are in a trade-off: Record Level Locking and Data Region Locking, both are used in the Concurreny Locking Algorithm described before. They are combined to allow optimal Time Consumption and Storage Capacity while checking. Locking Data Regions implicates that you may lock more than necessary but you will have a better performance. Locking Data Records implicates worse performance because of the fine granularity 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 saved for a combination of Sales_CA and 2012.FEB and no lock will result for this combination. • • • • Instead of record level locking if we do the region level locking then first we have to identify the region. The easiest way to locate the data region is to take the lowest and the highest values for each dimension and build an interval. That means we can lock the data region for Sales_US and Sales_CA for 2012.JAN and 2012.FEB. This locks 4 records instead of 3 (note that record level locking had locked 3 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 they will 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 SAP NetWeaver, there is no option in the User Interface (UI) to maintain anything about concurrency locks. The administrator can fine tune the parameters in the table UJR_PARAM but that this through SAP Graphical User Interface (GUI) “transaction UJR0” and not through 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 System automatically 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 System automatically 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 when Sending 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 the technical 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 the same that is used by BPS/BW-IP. This means that if for some reason a customer is having BPS, BW-IP and BPC in the same BW system, then all the three solutions will share the same locking framework. More information is also available in the BW documentation: http://help.sap.com/saphelp_nw70/helpdata/en/44/588168ce8c08fae10000000a422035/frameset.htm This documentation also describes the system parameters (transaction RZ11) that are applicable to the locking engine. 664 © 2010 SAP AG. All rights reserved. 2010 Appendix 8 Work 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 work state 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 Feedback SAP AG has made every effort in the preparation of this course to ensure the accuracy and completeness of the materials. If you have any corrections or suggestions for improvement, please record them in the appropriate place in the course evaluation. 2010 © 2010 SAP AG. All rights reserved. 669