SAP BPC Embedded Fundamentals for Planning Applications | Daniel Easton | Skillshare

Playback Speed

  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

SAP BPC Embedded Fundamentals for Planning Applications

teacher avatar Daniel Easton

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

25 Lessons (2h 51m)
    • 1. Welcome

    • 2. BPC Embedded Fundamentals

    • 3. Using Real-Time InfoCubes

    • 4. Filters and Queries

    • 5. Our First Planning Function

    • 6. Using SAP BPC Embedded Environment

    • 7. Using EPM AddIn Workbooks

    • 8. Browsing and Compressing Data

    • 9. Using Multiproviders

    • 10. Local Providers

    • 11. SAP BusinessObjects Analaysis, Edition for Microsoft Office

    • 12. Standard Planning Functions

    • 13. FOX Formulas

    • 14. Characteristic Relationships Derivation, Delete and Repost

    • 15. Characteristic Relationships as ABAP Managed Database Procedure

    • 16. Top Down Distribution

    • 17. Finalising the Application

    • 18. Planning Functions as AMDP Part I

    • 19. Planning Functions as AMDP part II

    • 20. Security

    • 21. Work Status

    • 22. Data Audit

    • 23. Debug FOX using CL_RSPLFR_CONTROLLER

    • 24. Currency Translation

    • 25. Add Buttons to A4O

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.





About This Class

This Entry Level to Intermediate SAP BPC Embedded/BI-IP course will help you master many important techniques to start creating sophisticated, integrated planning applications that utilizes the power of SAP Business Intelligence.  

Note: I will use BI-IP as short form for SAP BPC Embedded from now on.  

The course is designed so that you can master all the techniques gradually, starting from basic and relatively simple techniques before moving on to the more demanding techniques that Business Intelligence Professionals use to create planning applications for their customers.  

The course will take you step by step through the process of creating a revenue, sales quantity and price planning model. The course is not just demos and Powerpoint slides, but a practical walk-through on how to create and end-to-end planning application.

From this course you will learn:  

  • Fundamentals of BI-IP,

  • The structures involved, such as InfoProviders, Aggregation Levels, Filters, Sequences and more,

  • Create all the required objects in BI-IP, tips and tricks and more advanced design considerations;

  • Query design for planning applications;

  • Basic FOX to enhance our application with calculations and;

  • Tying the whole planning application together into a BoA workbook;


  • This course assumes no knowledge of BI-IP.

  • Some BW experience would be helpful.

Meet Your Teacher

Class Ratings

Expectations Met?
  • Exceeded!
  • Yes
  • Somewhat
  • Not really
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.


1. Welcome: Hello and welcome to the SAP BPC fundamentals for application designed course presented by me on Berta Swiss Sturza. I'm a safety consultant with over 20 years of experience in various, he said, be technologies both as a functional and as a technical consultant, and it is my goal to transfer some of this experience to you as you progress through the course. The aim of this course is to enable you to design, configure and roller to complete planning, application and sat BBC Embedded will be our We'll start off this course with the design of a simple planning application, and that is to familiarize you with the basic functionality and terminology that is available in B. I. G. General. Drill down into more complex functionality to enable you to design advanced planning applications will cover the tops of in providers the reporting and input functions available with invaded BPC as well as B r. I p. Well, then go to basic planning functions and move on to advance planning functions and then the functionality available to manage the BPC process. This entry level two intermediate level courses are deal for anyone with no or limited sap BW experience who wants to expand this skills into sepia I. P B c abated. So thank you for enrolling in this course, and I hope years as much fun working through this lecture as I have creating it. I'll be posting frequent updates to the school, so be sure to check back regularly. 2. BPC Embedded Fundamentals: welcome to set BBC Embedded Fundamentals for application desire. In this introduction lecture, I'll be or intimating you on the fundamentals of SAT BBC Invaded will be R P. Introduce you to the transaction or its plan and given over the off the BBC were clock. Remember, these aspects will be covered in more detail and later lectures, but this will provide a good starting point to familiarize yourself with the terminology used before we continue a quick word on the term invaded embedded. This results off the merger between Step BBC and B R I P and the merger and to provide the following a complete planning and consultation application that can be deployed on premise or in the cloud full integration off planning into sap bw there to models and tools. A rich set of sap Hana Optimize planning functions strong focus on business uses in line of business specific functionality to coordinate planning functions and planning processes such as work staters, the E P. A mix of clients and the web You I and it is imbedded into set your P financials and simple finance on sap Hana so onto the architectural set BBC invaded. If you're familiar with separate W you know that we can extract actual information and more sedate er from the your P system into the SAP BW system. We cannot, however, plan on a static infra que we need to create a real time info provider to plan on. We convene, use the planning modeler represented by transaction or its plan to create the aggregation levels. Fault is planning functions and sequences and so forth. To interact with that real tell me for providing the Web client gives us access to certain administration functions such as work status and security, and also local providers. To further enrich our planning application, we can then use infiltrated queries through either the e. P m, adding bow all the way to manually input Datar and to run up planning functions and sequences. I would now like to give you a quick preview off the application of going to build. We are going to build a quantity and price plan application where we need change the quantity and upon saving the system, will automatically calculate the re Vinnie based on price planning that we've before price planning will be on the till group level in various currencies. Detailed quantities will sit on material level, and we can also plan quantities on an aggregated level and then disaggregated to the detailed material records using the existing planning records as reference. We will also build several planning functions and sequences based on standard plenty functions provided by BRB as well as custom functions in Fox to manipulate the dietary courts that we've planned back to the architecture on the components within the system. The planning modeler can be accessed with Transaction Oris plan in separate BW. It's a topic transaction or his plan. Get the planning modeler where we can see the infra provider aggregation they will fault is planning functions and sequences. For example, we're going to create the plan intra provider. We conceive of various settings off this infra provided that we're going to use well, it's the aggregation levels that contains a subset off the in for objects within our infra provida. The fault is which we can use as a control and their contents generally the target data. We're going to write it in the planning functions, for example, Fox formulas and the planning sequence that eventually gets hooked to the workbook in the Web you are or admin client. We're going to perform several administration seatings. For example. We're going to configure work status, search on data watered at perform certain modeling and security functions we also have away in for templates. We're going to perform some planning as well a sit our work status. 3. Using Real-Time InfoCubes: in this lecture, we're going to cover the Yusof Real time Info, accuse real time info cubes represented top of activity and in the planning application we get to perform, which is revenue planning, we're actually going to do two types of activities. One. It's quantity planning and one is price planning. The real Time Info Cube also consists of the modernise characteristics and key figures and his right optimized. So let's look at our planning scenario. We're going to perform volume planning on the tool period and the key figure is going to be quantity. While price planning will be performed on the teal group, you level with the key figure off price within the going to bring the two together to calculate, or even you, which is quantity times price on its various dimensionality ease and then we're going to also perform. The calculation will be saved the data, but we'll cover that in much later lectures in our planning scenario, material period and so on will be in a single infra cute. But we're going to split the various sub activities into aggregation levels to make the process more manageable. To create a real time info que we go to transaction or s, I won Select the in for area. We want two years, right Click on it. And so I create infra cute began Tikrit and in for cuticle prod plan and we're going to call it product planning. Not that this is a standard in for Cuba, and we're going to sit the rial tongue indicator to be able to plan on it. And if we running on sap Hana, it'll specify sap Hana optimized in for cute with this, then press on, create in the edit INF acute screen. We can add our dimensions and are key figures on off already added them. You can find the list in the downloadable materials to simply copy them in. If you're not familiar with how to create dimensions and at the inn for objects to add a dimension, you right click on dimensions create new dimension and into the night to add in for objects to the dimension. Simply right. Click her to infer object, direct input and type in in for object. You want, for example, zero veto for value time and did I mention appears to remove in for objects? Simply drag him out and sang with dimensions on the settings. We can see the IMF acute talk to stand in for cute, said Hannah Optimized. We have no external SEPA interview at this point, and auditable is also not switched on. Once we finish with editing, the infra cute we can activate now that we've created are in for a treat acute. It is available, introduction or say one can see that it's a real time in for Q and a set. Hannah optimized, infra cute, unexpurgated creator. Educationally, you can either created introduction Orissa one by right clicking on our kids, going to planning specific properties. It's I create education level ball weaken created Introduction Oris plan. And this is our preferred lit method off creating education levels before we create aggregation label. Let's quickly look at the infra providers in production or its plan. You can see all our characteristics and key figures and the central seatings. We can see that we have a planning sequence that will run whenever we save data, and this will be explained in a later lecture. The characteristic relationships can see which characteristic relationships are running and with with its with the reversion or not. and again. This is in a later lecture and also the data slices Now in our coast. We're not going to create that dislikes historically on the kids, but we're going to. But we're going to use work status, and you can have a look at work status in the relevant lecture to create the aggregation level. We go to aggregation level tab. We're going to correct aggregation level fraud B or C and creates delegation level exists on an infant provider, and this will be cross planning. Once we're in the aggregation level, we can select which characteristics from our infra provida we're going to add to argue casually. And we do this simply by dragging and dropping now. Price planning, you might recall we're going to do in fiscal year level, so we drag the time characteristic to the time characteristic dimension. We're going to plan on material group level and the version and we're going to plan on price. Note that whenever we drag in price and activate, the relevant unit is also displayed. Once we created aggregation level, we can display it in transaction or so one again. We cannot manage it, and we can also not display data. This is because the aggregation level is a virtual provider that sits on top off our product plan in first provider, we can now move on to creating a fault is on our infiltrated query. 4. Filters and Queries: in this lecture, we're going to look at queries and forces now the several planning related sittings inquiries that must be seat, and we'll go through each of these in more detail. But let's just quickly discuss what is required. Key figures must be set to allow for input. It's on the planning tab off the key figure. The infiltrating sitting must be addict. The query must be citta running plan murdered. So in the properties off, the career itself must sit to be, start query and change mint. The characteristics will say to display Marsa data. Now this is not always under center quiet, and we'll go through the various settings and very sonorous when this is required and then all intersections must be addressed. So it's the final fault, faulty sort of fine introduction or its plan. And the fault is, and I'm going to create the Fulda Prod PRC. If 01 it's frantically called price planning, and I'm going to use aggregation level front PRC now the selections to find the target area to which we're going to write and remember that all intersections need to be addressed, so the filter is the control to ensure that we're writing to each dimension and what that dimension is. So for fiscal year variance we're going to restricted to care for fiscal year will be available. And it's BP for Scheer, single value mandatory and my version. It's going to be available this wall, and it's going to be my vision single into a tree mandatory. My currency is going to be restricted to euros. And once I'm finished defining my falter, I save. Once my fault has been created, I could move on to bigs in Big's, we're going to create a query based on the aggregation label. Some of aggregation label product, pure sea will be selected. And then I'm going to select the filter arches created, which is proud, pure. See if 01 Now I can add further restrictions to the query, but it discouraged. My filter is efficient. Next, I'm going to get the final rows and columns in my rose. I'm going to drag my material grip and into my columns my fiscal year. No, no, because the other time instants like vision and unit and currency, has bean defined in the falter, it is sufficient to drop them into free characteristics next, I'm going to drag Marquis, figure into the query at this point with addressed all the dimensions within the aggregation level. So the query will be in portrayed e except for the sittings we need to make. So the first seating is we need to make the key figure planning relevant. So under its properties planning tab, we go to Infer Treaty next fiscal year needs to be made extended, more sedated, displace and it extended tab. We go to Marseille data, and we did the same for material group, and we'll do the same for currency and vision. This wall makes we check that the query starting plan murdered set on the query properties we go to planning and we can see that the started for you is sick by default. We can now save the query. So let's execute the query and plants and records. The quickest way to check whether you're sitting for an import really queries or correct is to execute the query in transaction or sortie. So let's generate our port Procuracy key Triple. Wanna clear? We just created execute and these the variables based on a filter Animal planet from the inversion 700 so we could see immediately that they are some blank feel so I can plan prices against several material groups. Now you see that blank values against the key figure has been returned for the material groups, and that is because we sit material group and fiscal year vision and fiscal year variant as more sedate. Er, if we did not see to this masa data well sited US posted values, we will not get very subversion 700 because the only person so they're sitting off the masa dose is important if you want to plan to you combinations. So let's save those values. Go out and let's see what the effect is if we go and change your query. Two posted families. So in my query, I go to material group, extended percent values safe. I returned to the query monitor, Regenerate the query execute and but to my fiscal year. So let's plan against version 700 again, and now we only get the post it fairly. So the values the material groups with no posted that is still not displayed, so I might be missing out on combinations to plant, so they're sitting more sedated this is posted values are very important in the introduction are stated that one off the prerequisites for making career in pro treaty is that all intersections must be addressed. So what is that me? If, for example, we specified a query that we can planet two virgins. So in this case, version zero inversion 20 but only material in time bar in the rows and columns the square . We will not be in poor Treaty because the key figure and intersection off characteristics are not unique. What is a lot and what will make the query input treaty is if we drag version to the columns, and now we have each off the characteristic values as a unique intersection against the key figures in this guy's. We can plan the query. Let's at the version restriction toe a query. We'll add version zero and saved the query. Going to transaction or a sortie will regenerate the report executed for 2016 and first in 100 and we cannot plan the query. But adding vision to a columns, Michael Intersection unique, and we can plan Bailey's again 5. Our First Planning Function: in this lecture, we're going to create a first planning function. We're going to copy data from one version to another, using the standard B R I P planning function for copy. So we get to copy from Version zero, and we're going to select version zero with the variable source version to another version 500 began to select that fusion using a variable this wall. The formula will contain the source version, while the filter will contain available for the target vision. So let's create a first planning function and attitude planning sequence. The greater planning function regarded production or its plan. We select falters and you might recall before really created a faulty for infiltrated query . And I'm going to use this falter as a base for my planning function. Somebody to copy this, falter to filter, too. Get a description, and she might note that we're using the same education level, this wall, my selections, we going to use the same variables and values as for infiltrated query. But we're going to make one or two changes. First of all, the filter contains the target failures. We were going to write the data to so we need to change the version, and here we're going to select the variable Paul it vision and we go to limit the copy to the currency euros on and we're going to save the Fulton. Let's create our planning function. We're going to create planning function, prop your CPF one, and it's going to be the function talk copy given a description copy version. And we're going to use the same aggregation level as we defined for a folks now, in a characteristic usage, the fields to be changed. This version because we copying from one version to another version we're not going to do for conditions at the moment. Thinking on parameters, we select an individual key figure on when we click on key figures. The list of key figures in the aggregation level will appear, so we're going to select the only one available, which is priced. Then we're going to create a parameters so far from will be the variable source and off target will be the variable target er's and this variable must be the same as the variable in a falter. And those are the only two parameters were going to enter this stuff so we save and the vehicle selection screen will appear. We not obliged to put any variables in here to save the function, and we can go next. We go to create the planning sequence so we're going to create planning sequence. Brought pure D is triple what it will be copy process time. It's going to be a planning function, the level it's going to be approach Piercy aggression level. The filter will be proud PRC's if to the one we just created and the planning function probably the prop your CPF one planning function. Let's execute are planning sequence. The first step is to select the planning function we want to execute. The next step is we select the variables and these are the variables that come from the falter, as in the case of target data and fiscal year, all the planning function in the case off the source data. I also have two options and execution. Either I can execute the state, which means that the staple execute on Hannah. If that is available, else it will execute on the application server. If we executed with stress, we're going to execute with this with trace and we can see the results said 12 frequent has been generated and it's easier the application, the planning function executed on the application soup. Next we cannot check the results. So are blocked characteristics those characteristics that are not being changed or displayed so we could see the results for ah fiscal year, Material group and so on. He convinced the results under display content and the we can see the new record that has been created. So the reference the source access the reference. While the new data record has been created in version five of five, we could say, if the data I'm not going to do in this case but let's executed a Gaitan with the same parameters and this time we're going to execute it on the Hannis of it. And there we could see execution mode is in memory. The same record number of frequent has been created, but now we don't have a trace available. I'm going to say, if the data let's revisit our planning function on Alberta conditioning, I want to put in a condition where warmer material groups except unassigned copies to the target version. Else it copies to version one Some are condition I'm 80 marketing group as my field full condition. I now have this condition. Selection on my selection is going to be everything except hash. So exclude hash I into my parameters. I'm a parameters there, sourced to target version. I'm going to create another condition. We a month former material group Ash and they for that parameter sit or that condition, I'm going to create conditions I'm going to copy from my source, so that remains the same to version one and save off course after Slick Marquis figures as well and safe, it's execute our planet sequence again. The same variables appear, even though I've got two sets of conditions are only half one variable in my planning function now in executed. It's going to execute with an era because we did not specify version one in the target area , but let executed and see if we get that era. And there it is. It's his value for characteristic version one. It's not included in the selection, so we can go back to our falter and add vision. Zero Vision one. Two more falter. Execute the planning sequence again. Just make sure forces are correct an artist Successfully Bean Britain and we could see only one record has changed. So if we go to hash, we can see that there's a before and after view. And the often view is now the 100 that has been copied from the reference that it also means that if there's a before equal, it means that they are really has being a price plant in that vision for that intersection . But now we've over return it with a new value. Note that the value that we copy to Father Five reminds the 6. Using SAP BPC Embedded Environment: Let's return to the architecture slide recovered in one of the previous lectures. Now, up to this point, we've worked exclusively in sappy W in the planning model, but now we're going to cover the use off the embarrass environment. If you have any experience in the standard model, you know that we knew create the environment the system generates in for area real time in for providers and in for objects, all in its own name space. In contrast, embedded Sam PPC environments do not have their own corresponding in for area. So why do we need a BBC invaded environment? The BBC in bed environment? Alas, access to the E P M Adan as well as configuration for BP ifs Web templates in potentials work status, then die toe ordered can refer to the downloadable materials to this lecture. For more comparisons between the standard and abated versions. To create an environment in embedded BBC, go to the Web admin client, select the current environment, click on manage all environments and click on the create the top defaults to invaded. We'll call the Environment prod plan and a description production planning and create now previously in the standard Fisher. You could only create an environment by copying the existing environment or the default delivered environment. In BBC invaded. The environment is created directly. The creation is also foster because the system doesn't need to create a new name space with the info cubes in for objects, key figures and so on. To create a model, go to your administration tab. In the Web, you are click on models and click on New. We're going to create a model called Broad Plan, and it's going to be product Glennie. Click on Next. You re select the infra privada, Go to our product planning in for Cube and click on Create. The Model is now being created and thinking on it. We can view that I mentions as well as the info object that has been assigned to their mentions, the navigational attributes on the key figures. We can also see the aggregation levels that has been to find on this product planning model and any related multiple virus. If there are any now, the question arise. How many models should be used? The general rule is that you should create one model in for Cuba multiple Vaida, but that is generally dictated by the planning scenario. For example, you'll have one model full cap explaining one will for actual planning and so on. 7. Using EPM AddIn Workbooks: in this lecture, we're going to cover the use of e p. M. Adding the e P. M. Adding for Excel is, of course, the main user interface for planning and analysis Off invaded sap BPC date It requires a new connection that I am a or information access connection and this connection provide services to work with sap BW queries with without variables retrieved a teasing TPM reports entrance save data and execute I'd be functions at this stage The e p a Madden is fairly buggy And that is why I prefer business objects analysis to access the e p a. Madden I could go to my web client ey go to eat them office Adan African Ppm office batting for exile We can all create the new connection. So under connections I'm going to create the connection We need to change the connection type too sappy w by a provider and into ALS the parameters once of into the parameters, I can connect and select my environment broad plan and my model prop planets. Well, I could be in generate the connection name. Okay, Okay. And once I flogged in, I can go and search for my queries. So list of the career is available already displayed, and you can see that I can also more career recess fire. It's and awful really created and mark my price man Inquiries, favorites I'm going to selected. I entered my variables and my query is displayed. The E p m. Adding has its own ribbon with various options, and we'll cover some of these later on. Now, in this input query, let's click on the report and I can go and get the report. And here I can drag and drop Cyril Field so I can select for material group either specific material groups for display or display. It walks so that all will come as default from the query fillets at members you can see. Now we've got I need a list off the mature groups he selected in the fort. I could go and change my variables, and I can go and select a new set of variables 2017 for example. But let's stick to 2016 or any vision, so let's go to version 100 in an infiltrator. Queria obviously wanted service and data, so let's change the price version 100 25 75 and we controls for the data. Now. The date is in the planning by for at the moment. And if I do not want to save the data, I can roll back to the previous earth Stet I made the date is 5 50 Once we've planned the data, we can save the data. Okay? We can also perform some basic navigation within the report. So on the e p in pain on the context panel, we can drag and drop like so we can drug. So, for example, currency out of the roads and into the page access. And now the square will no longer be planning. Enabled us? Well, because we haven't addressed each of the dimensions in the aggregation label uniquely so. If I try to save data at this point, I will get an error message inside, try to submit that on a non inflatable field. But when I go to the page access and the currency member, I can double click on that, select a member euros, and now I can plan again so I could change that price. 201 euros. I'm sure you'll agree that at this point the report looks pretty horrible because no formatting has been applied to apply formatting. We go TPM it report. Options apply dynamic formatting on. Okay, we then go to view formats on the E. P M for mating. She's is displayed, and I could go and apply formatting so we can either apply it on hierarchy level Dimension members, but liar own column banning and so forth. I'm going to apply that I mentioned in the property formatting on after I fused. The normal eggs are formatting. I could go back to my report and click on Refresh, and now the formatting has been applied. Next, let's discuss context. Context specifies the dimensions in the associative members for a specific connection and represents the dimensions that are included in the current Keep your model and the members that are used in the current display of the report. So let's look at context in the meantime, off Also, former tomorrow report a little bit just to make it look nicer. But context is displayed just below the e p m. Ruben. Now, if I change the context member and in this case, currency to GDP, it has no effect because my page access member currency has a selection off euros, but not the context member. So if I stood Context Member selection, the displayed members are now adjusted. According to the Context member, the E P M functions are formulas than an evilly territory specific informational data and to make a report behaving a certain way, providing power and flexibility to reports. You can enter an e p m function directly in the formula bore and to make it easier to create and edit formulas and minimize typing and syntax errors. You can use Microsoft Office Excel formula or to complete, so after you type equals E. P. M. A dynamic drop term, a list of all weepy and functions is displayed below the soul. You can also use the Microsoft Excel Standard Insert Function dollars box by clicking the insert function, but and from the E P in town off the ribbon. So let's add context. Selection to material group. First, we're going to change her report so that material group, sometimes the context member only we cannot add material group to the page access because then it won't be displayed in the rose. Next, I'm going to enter the technical name off the material group and hard it because this might not mean anything to the user to enter the description. So the user know what he selects, and I'm going to enter the formula. So as soon as I into equal ZPM, the list of available functions is displayed on our twenties context number formula and close the bracket. They don't go to go to the E p M rumen click on insert function, and I get the list off arguments. And in this case, I'm going to select the technical name off the dimension that are fitting. Click OK, and the that. I mentioned it so I can double click and select what you remember I need to display and that Dimension Members thing displayed. Next, we're going to add a planet Seacon store workbook. This planning sequence is going to copy the data from Vision 0 to 100 on over writing the existing process to add planning sequence to go to planning objects. Right click on this connection select and we select our planning, function or planning sequence. I'm going to select the planning sequence that I've already added is a favorite, and to execute the planning sequence. We first adjust. The variables are source. Version is era. Forget is 100. And to execute simply right, click and say execute. Once I'm happy with the results off the planet sequence, Aiken safe this workbook to the server. To do that, we go save safe in platform to serve a folder, and I consider to the public folder and I'll call this price plant and save this. The report or in potential is now available and servicer. Forgot to open server folder I am prejudice available. 8. Browsing and Compressing Data: to take a comprehensive approach. We also need to look at the data first from a Sir BW and then from a sap and then model a point of view. But before we look at the data, let's look at what data we've entered in preparation for this lecture. Up to this point, we've done price planning, and we can see that we've planned prices. Former chill grips in a fiscal year on the price for material group Why be if to is 250? So let's go on display the day 18 b. W. We can display the data either through transaction this kid or by managing the infra cute. I'm going to use DP aggregates, and I'm going to select my material group. Why B F. T. In version zero for currency, euro and my fields for output. I'm going to select all characteristics and execute there. We can see the process that has been planned, and this feud demonstrates that the real time in for Cube works the same way it wars has. Delta recalls a written to the database to get the net result. Compression is used to reduce the redundancy off the database by aggregating data over common key fields. In effect, it eliminates the request study from the database. Let's look at the manager of the inn for Q. We can see that they are several and compress requests as well as one open request. In order to compress the infra cube, we need to close this open request. And to do that, we right click on the IMF Acute. Cut it. Planning specific properties, change real time load behavior. Switch the cube to load murdered and switch the cube again to planning mirth. When you're going to manage, we can see that the request has now been closed to compress regard to collapse. Now, usually compression is performed in a process chain. But the sisters the demonstration on how to do it manually we select the request rd. So this is the loss Request rd in the kid. We'll take on with your elimination. This eliminate from the cube. Any records that AKI gets up to zero and press release going back to my requests, we can see that all the requests has now been compressed. Going back into the list, kid, we see that there is now only one record and that request study has been eliminated. Let's browse the dirt, Answer panna and view the memory consumption statistics to view the Doten. Hannah. We go to our sex system in the Hannah modeler, expand the catalogue and go to tables. Now, if already applied to falter and to apply the filter in your system, go to fault is and in this case went into the plan assistant in returns, the fact table and two brass it there to be simply right. Click on the fact table. Go to open day to preview, and they weaken. Display the debt for the all the prices To view the memory statistics. We right click occur to open definition at a runtime information, and we can view memory consumption in both Maine On Delta storage compression triggers emerged off the data from Delta storage to the main memory, which increased performance because subsequent reads won't have to merge the data from Delta and Main memory. Now let's see it in action. First, let's plants and values in our query, and it's changeable prices to 500. Going back to Hannah, we can see that there has been in effect on memory mine memory consumption is not 63 while Delta storages OTA one. It's got compressed the cube and see what the effect is on memory consumption. I switched the Cube to close the request and then compressed the kid Cristano compressed and going back to Hannah. Remember the consumption of 63 dealt off Writer one. When you refresh to the their test made from Delta Storage two main memory. 9. Using Multiproviders: Let's review the simple into in planning application we created. We started in sappy W with the real time info que Then we create the education level and a copy planning function. In the query designer. We built a planning enabled query on the education level In the Web client. We created an abated environment and model. Finally, in the e p m X Aladdin, we created an e p. M. Work on our scenario. We only use one real time info que. But in many cases you'll need to use multiple infra providers. For example, you might want to stall granular actual data in one in for provider and lists granular plan data in another. Or you might want to plan on product processing one in for provider and at the same time, planned quantities and revenue in another. You can do this with the multiple Varga as a refresher. Multi providers can be used to union data. Well, there is no data in a multi provider. It is a structure that you can use the reporting and planning scenarios enables multiple in for providers. Of course, we could have used the multiple Vaida in our previous scenario by adding an additional info provider to it for the quantitative. Very many planning. In reality, you should always use multiple virus, even if you only need one real time. Info. Que because they provide flexibility for modeling changes such as adding and near infra provider well, switching to a different infra privada. Therefore, using multi providers provided lower cost off maintenance for design changes to create a multiple varta are gutted transaction or is a one. I never get to my infer area, right click and say Create multiple Varta. My mantra provider will be plan in p click, Click on Create I can be insert for the Infra Cubes, Integrated Search for Rafe Plan and Select Reef Plan and Prospects in my multi provida it It's screen, I can add that I mentions I'm going to add war murder mentions. I'm going to remove the unused I mention add my time characteristics and add monkey figures . They need Teoh identify the characteristics, and I'm not going to create a proposal for all and do the same for my key figures. I convene. Activate my multiple fire. Now that we've created a multi provider, we can go and create. I think you guys should label to create a mega Ghoshal. Able we go to transaction or its plan. We're going to create the egg aggression level planning P 01 Call it price and we can dragging the required in for objects. If you're familiar with Seppi W you know that it provides thean for provida in for object. This allows us to read and write to specific infra providers. Using our formulas, we cannot activate their aggression level. The creative elopement remains the same for the multiple Vaida as it was for the drill timing for provider and the exact definition off. The query can be found in the documentation in the downloadable materials, but let's just quickly discuss the settings again. First, the characteristics in a rose Oh more so data sickened the query. It starts in plan mode, and the third change have made here is because we were commits The multiple via the key figure is restricted to a single infra provida price plan. The next step in creating a planning application, based on a multiple idea, is to create the model to create the model. Go to the wave. You are administration on models. We didn't click on you. We're going to create a model plan in P. Next, we navigate to, um ultra Provida and select the individual cubes. Now you might expect to select the motor provided directly but the invaded functionality. Such a security data. Waterton song is based on the info cubes and not in the model provider. Click or next and create a model. It's been created and clicking on it. We can see the underlying in first providers. Let's plan some data using the e. P. A. Madden now for really creates the connection. And he can refreshing hard to create the connection in the previous lectures and after a flogged in I'm going to look for my query. This McQueary more could is a favorite well into the variables vision Syrah, The school year 2016 currency Euro and I can plan prices suffering into the price, but we can go and change some others 500 and so on. Now the undersigned member for material group here plays an important role in planning. We can use this member to plan on a higher level than the characteristic we want to plan on and then top do topped on distribution and Dr Distribution will be a topic will discuss in some more detail later on. So let's display the debt in the multiple water. Go to the provider right click, click on display data fields for selection or characteristics, and we can display and that you can see the process that we've planned and also the infra privada, because we've restricted zero Prosky figure to the intra provider. 10. Local Providers: The main use case for local providers is to provide a quick, ad hoc reporting and planning solution. Local providers are tables and seven Hannah that can be used without any corresponding separate WN for objects. So it's a potential low cost development alternative that can be configured without any support from our i t. The use goes for a local providers based on a planning user who has a flat fall of actual data to upload into a database and being performed both manual input and automatic planning fire planning functions to further develop the results. It the flat false are attached to the downloadable materials For this lecture to create a local provider, you go to the web. You I go to administration in for providers, local providers and new. We'll create the local provider. Cool price On mixed In this step, you need to upload a flat file that is used to derive the structure off the resulting sampan a table and provide the initial results. It the farm must be in a C S V. Extension will change the separated two comma click on next. In this state, we can turn on data ordered to track who made changes to the data. This causes the system to add their toe ordered fields into the SAP Hana type and we'll select are key figures on mixed. We also create a model for a local provider and will call its local cross notes that are local provider has been created. The system has also created an aggregation level as well as a query. We converted the generated aggregation levels. Introduction Oris plan. Note that the field names start with an at three B and although there listed under in for objects that don't exist in the normal Seppi w dictionary, but they're only exist in CEPA. Hannah, in the query for the locals provide a scenario. All of the fields off the aggregation level have been placed into the query. The characteristic restrictions are set to single values. The characteristics in the rose off sit to display more so data and the key figures are sit till our input. The query is also set to start in plan when we view the Queary in the e p. M, adding we can see that the roast displayed and we can change the prices when we view the dirt. Answer panna. We can see that the data changes were recorded so my data changed from 52 to 50 was recorded and because we turned on their toe ordered, the CEP Hannah or Table also includes four fields the user data mode, the time stamp and the source. We can see from a fall upload to change in the query. In the previous scenario, we assumed that we're not going to use in for object. Let's see what the effective if we need actually do select in for objects for our local provider in our steps to create the look of order in the third state map in for objects are going to make company Kurt in for object and select zero come good and going to do the same for material and select with two. The rest of the states remain the same looking at a queer in the e p. M, adding we can see that all the company Kurds and materials are not displayed as would be expected since it is accessing sap BW in for object and not just the local in for object that was created when we uploaded the far 11. SAP BusinessObjects Analaysis, Edition for Microsoft Office: in this lecture will cover Business Objects Analysis Edition for Marcus Soft Office. All the functionality is too numerous to cover in a single lecture. I'll be covering the concepts off data sources and how to add infiltrated Query to a workbook. How to do data entry and add new records, as well as adding some planning sequences after I flirted. Analysis are machine started Excel. I could see that these an analysis Rubin available. Now, before we start, we need to make sure that planning group is available and this is not sit on default. So to get the planning group in the ribbon, go to file analysis, sittings advanced, and we make sure that the shirt plan agree Option is ticked. Next, I committed my query or data source, so click on it's a data source selector to source, and I'm kind to select my price Planet. Query notes that we don't use the model set we created in BBC and be away, but we can create a created Ari Cheonan in for Provida or a query. Next, Select variables and we can create fear. Insys Wall enough already created a variant and to change a new variant For example, if I want to say to 500 are simply changed the description and safe the variance, it's changed back to zero and execute my MP treaty query. It's not in my beer. I will book and I can change prices. For example, I could change the price of five of five. Rollback functionality is also available, sir, If I do not want to change the price to five of five, could simply clicking back two previous safety state If I want to save the data after replanning, click on safe data. Let's explore the beer I functionality a little bit further by changing our planning scenario at the moment, replanning in single currency in a single version. Let's change that so that we plan in multiple currencies as well. It's multiple versions. The first chance we're going to make is to a fault. First began to remove the euro restriction from a currency's. Next, we're going to add vision Sierra to our version. This means that version zero will always be displayed in addition, toe whatever version we select and say next we go to a query. In our query, we can see that the filter has been adjusted and we conceive Asian zero as well as the variable on the currency restriction has been were amazed. But we're going to keep the currents restriction in the query, and we're going to restrict our currencies to your US dollars, pounds and Canadian dollars Now, since we need to uniquely address I into section on our key figure. We also need to add our version and make sure that the displays and more sedate ER as well as currency make sure that the values on more sedated and we say Next we go todo I and we receipt our data source and we'll inter Vision 100. And they we have a query on multiple versions as well as multiple currencies, and we can plan process for the various currencies. Now let's assume you want to have a scenario way. We're not restricted to these four currencies, and we want to dynamically ad that process in a foreign currency. Let's go back to our query. First, we removed the restrictions. We just added, We'll keep the currency display, but we'll keep on Post Advani's and save going back to be a We received her diet assholes and then we could see only posted values. Let's, for example, say we want to plan a price in yen for product, replied the rt, the bottom of the B o a query, this several open lines that we can use for these new combinations. So I'm going to paste in wide yard, too, talking Japanese yen and say the price of 1000 saving the data will move the price. Two R, B or T. And that's how I dynamically ad currencies and prices in foreign currencies without adjusting the falter. Next, we're going to add I can't be process planning sequence to work, but we're going to adjust it to fit a current scenario. First, we're going to go to a fault and removed the euro restriction. Second, we're going to remove the hard coded variable value one from a full time so are full to the target areas. Now sit to target vision for multiple currencies. Next, I'm going to go to my planning function and we're going to remove the field. Four conditions sitting for material grip cut two parameters and they we still have the source vision variable. So the functional copy from souls to talk to add a wukan B. I regard two components. Click on the workbook is planning, function or planning sequence on a planet. Sequences prod your C search and there's a copy. Prices sequence with its variables will change the variable for source to zero and then to execute right click on execute planning sequence. And they are. Prices have been copied from version 0 2100 and safe. The last step. We're going to performance to save the workbook. To save the workbook, we go to file and not assist safe. We're book, and they would choose a role that has been allocated to our users and discuss. I'm going to use the BBC user all and save. 12. Standard Planning Functions: in this lecture will be covering some of the standard planning function. We'll cover the clear revaluation and repost function. We'll add them to a workbook and they look great. Some folks Kurt. To emulate the copy function, let's further develop our planning application by adding a clear sequence. This clear sequence will delete all the prices from a specific version. We already have a planning secrets to copy process and will use this as the base for a clear secrets to create the function to clear QWERTY planning functions, we go to create planning function broad Piercy Pft. The function type is delete and we'll call it clear prices. We will not add any conditions and under parameters, the only parameter we need to select is the key figure we're going to delete. In this case, it's price makes me going to copy the planning sequence. Teoh are clear planning sequence. Call it clear prices and since aggregation level and filter has really been copied or we're going to change, are we going to change? Is the planning function and safe returning to be a We're going to add the planning sequence to overbook the clear prices sequence and we're going to executed are clearing version 100 and saved the data. Knicks were going to do the repost function. The repost function is going to repost values from version 102 110 to create three post function planning functions again. And we're going to create planning function broad Pure CP three. The function type is repost and we're going to call it repost prices the fields to be changed. His version and there are no conditions on the parameters. We select the key figure again, which is price. And then we create the parameters. Now the parameters has to be single values. You can't use variables. The system will still save the planet function. Even if he interview herbal between executed, it will return an era. So in this case will post from Vision 100 to version 100 teen and save. We convene gutsy B o A and at the planning function to and then execute test reposted and you can see version 100 is not clear. And after we served the data entering the prompts for version, 110 our values now is now displayed. The next function we're going to look at is reevaluation. Reevaluation takes a key figure Valley and escalated by percentage. So if we look at the sequence that are four really created these variable called revaluation factor and that's 12 to our prices in our source version, 110 will be escalated by 12%. So let's execute this planet seats, and we could see that the process has been escalated. Now I can run this again, and it will re escalate the prices. That is probably not the behavior that you would want. In all instances. You would probably want to use a reference version and then escalate the value and write it to a target vision. For that, you will have to use Fox. Let's look at the seater. So my planning sequence. I've created a new falter and the city's off. This filter can be found in the downloadable material, but let's just look at it. I've got a variable for currency. That's an optional variable and source version, which is a mandatory bearable with my fiscal useful. Looking at the function itself, there's no feels to change only field for conditions and under parameters. The condition is the same value as my falter for version parameters contains a variable zero factor, which is the fact that we're going to escalate the value by and then I allocate that factor to a key figure to now We've covered three off the stand and b R I P planning functions. The next planning function we're going to create is a piece of fox skirt that emulates the copy function to create the planning function planning function. Seven. We go to planning functions, create the function type is formula. We're going to give it the name Fox Copy, and that is just to say, present from our standard planning functions and the aggregation level, it's broad piracy. The fields to be changed and feels for conditions work the same as all the other planning functions in this guy's. Since we copying from one vision to another, we change version, go to parameters and the opera display gives us the Syntex. So the first key here is the key figure, followed by a low fields to be changed. Such a copy from version zero Division 500 the Kurds as follows the General Syntex is key figure target characteristics equals key figures, source characteristics in this case. Price in target versions 500 equals price from source Vision zero and save INBio. We can add this planning function. These are planning function and we can execute and saved the data. When we go and change our prompts to Vision 500 we can see that the status of island 13. FOX Formulas: in this lecture, we're going to the could Fox. We're going to look at variables, leaps the use of internal tables and then began to debunk some of the Kurd that we've written. Fox Coat generally is in the structure off data declarations. First, where we declare a variable and type it. For example, we can click clear a local variable of talks, your fist spur or a variable in a sign, a key Think of early to it, for example. L factor type. If, and we look at the different data tops a little later on Nexus the operations, and generally it is in the format of a key figure, followed by a list of in for objects. And those in for objects are the fields to be changed. In our first example, we're going to look at the variables and leaps. We're going to take a value and copy it from version zero for 2016 to version 500 and several fiscal use. So, in this case, from fiscal year 2017 to 2022 how ever we don't want to heart Curtis values, we're going to create variables and use those variables and the user will specify from which source version to which target version. We're going to copy it and then specify a single fiscal year and then copy that single fiscal year to an interval off fiscal years. Now, if you recall from a previous lectures, that falter contains the target values. So all the variables in two we're going to define and a filter and everything else in the from we're going to define in a formula for the scenario awful, really created the falter, and you can find the details off how to create the filter in the downloadable material. But let's discuss it. The variable values contains the target values to which we're going to write. So in this case, the interval for fiscal year as well. Asan Target Vision. Now let's look at our folks curd because copying from one fiscal year to several fiscal years and one version Teoh a target vision. We changed the fiscal year and the vision fields. Looking at parameters, I get my Fox editor and it starts off with the data. Declarations for source and target versions are defined as type zero version, and here a fiscal year makes you need to look through the values in the intervals it off a skier on our clear at variable sea off top integer that will serve as the index value within that interval. Next, I need to find out the number of values in the intervals. They are fescue and and I do that by the clearing. Viewable enough time integer. I said I to the first position within my interval. Next, using the var V function, I get the value off the source of the target versions that is entered in the variable screen as well as my source fiscal year. And I'll get the number of values in that interval for their office cure using divorcee function. And then I looked through all the interview values, so I do. In times that is the number of items. Within that interval, I get the target fiscal. Using the var I function and addressing the interval with my counter on a force. It starts with one. Then I write the prostitute Target intersection. So, looking at the opera display key figure fiscal year version, I do it in the same sequence. So zero price monkey figure, the target fiscal year and target version equals zero price. My source. Fiscal year, my source solution and then increments see by one. So let's look at the fox coat. Inaction off already added it to planning sequence. So later on it was It's here, looking at the variables. I'm going to copy it to Target Vision 100. The interval for the fiscal years 2017 to 2021 doesn't target fiscal years. My source. Fiscal years. 2016. My source version. Solution zero. It's executed in Try Smart and once have executed it. I can see that 95 records has been generated and looking at my block characteristics of for euros for Mr Group Wybie for two new records has been created between 17 to 2021. I cannot save the data now. We're going to look at the for each loop before each loop is an easy way to look through all your data with. It isn't reference data variables or a selection. In this example. We're going to calculate the average price of all material groups in a specific version and year and write the result to material group ash. Let's look at the average price calculations planning sequence on still using the product. Piercy Planning I Aggression level The filter is a new falter for the average price calculation containing two variables. Both of mandatory one is for fiscal year and oneness full version. Both are single values this wall and looking at the planning function because we reading the name material groups and writing Teoh the unassigned material group the field to change is the mature group. And looking at the Fox First is the day to declarations with the clearing. One variable off type material group we're clearing the key figure top son in would be a type integer, and that's going to carry the number off. Mature groups were reading. Sum is the sum off the material groups. Then we looping for each until group in our reference data. If the material group is not initial and the material group is not hash because we don't want to include the hash Artem again in the calculation off the average price, we sum it up. So we say the price of the material group, plus the previous some equals, didn't you? Some increment the counter and then simply writing to the target tree called? We said price for the Arnason Material Group is the sun divided by the number of items to get the average. Let's calculate the average price for 2016 for Zhan zero well executed in trace mode and off the execution. We see that four ECU assessment generated. One record has been changed. If we now display, for example, for my euros, we can see that the average price it's not 500.18 written against the an aside material group and we conserve the data. The last topic and Fox began to cover or internal tables and debug. We're going to build on the previous scenario off calculating the average price. However, to illustrate the use of internal tables, were first going to leap through the material groups right the price to the internal table and then leaped through. The price is written to the internal table to calculate the average price and writer to the Cube. Looking at the planning sequence for our average price calculation with an eternal table, we're still using the same aggregation level. The same falters. Our previous scenario and the planning function stool only has one field to be changed, and that's the material group looking at the Fox data decorations and occurred up to this point. If it is the same, we have an additional statement to define the Internal Table tab. It has a variable of its certain types of El Material group of type zero material group on A specified as a key. And then we have a key figure. Type is well to carry the price, the internal title must have at least one key and one on key field. The loop is similar, except we write the price to the internal table and we specify the variables l pricing. The tool group equals zero processes your material group. We then have ah break point to debug and then relieved through the each entries of each material group in our internal table and do the calculation off the average price. Select executed. Our variables are still too many 16 for vision, sirrah. And once we executed, it stops at a break point and we can be an interrogator internal table, for example. And there we see the two material groups before all those block characteristics. It will stop at each block characteristic because the curd is executed within each of those blocks, and when we finished executing, you could see this new recruits changed since we already saved the records in a Prius, Samara. 14. Characteristic Relationships Derivation, Delete and Repost: characteristic relationships are controls that ensures that only valid characteristic combinations are posted. For example, in our scenario, we want to make sure that the correct material group is derived for each material. But we can also use it to, for example, derive the basing it off measure off the material for cost centres to derive its profit center, offer a position to derive its payroll area. There are several scenarios for characteristic relationships. First is there to input recombination. Chicken occurs as well as derivation and then post processing. We're going to repost data based on and maybe a new characteristic relationship will re posting off invalid combinations to valid combinations and then the deletion off invalid combinations as well. In the downloadable material for the square, you'll find the set up off the aggregation label falter as well as the infiltrated query. But let's quickly look at our education level In our infra provider. We have material Greek, but we have not added it. Teoh our education level. If we add this mature grip, tear gas a little without configuring characteristic relationships, we will not be able to save the data because we have not addressed each intersection uniquely let's look like we're e and save full to if 1000 quantity but 1000 for 2016 Vision zero and let's look at the data in the queue. So am I proud Plan infer provider for me to 1000 we can see a quantity of 1000. However, no material group is derived. Let's configure the characteristic relationship. I note that we're not making any changes to aggregation level query. We go to infer, provide a product plan, go to eat it on the tab, characteristic relationships. We're going to create a new characteristic relationship. The type is with the elevation. This allows us to keep the mature group outside. Off the education level are characteristic relationship time. It's a tribute, the characteristic We're going to build this relationship on his material sources material and talk it characteristic a zero material group and safe. They see what the effect of a characteristic relationship is based on a derivation for the same material. If 1000 leads plan a quantity again off 1000 and I've deleted the data from the Cube in the meantime, so we'll save the data going back to the Cube. We can see that the material group has been derived on written into the queue. Let's look at how characteristic relationships help with validation off data entry. I'm good to capital group to my education level in my career. E I'm going to add material group, suppress the totals. Aunt switch on Morsi data and safe INBio a going to receive my daughter source. All material groups are displayed, but only the valid line is available for input. If I should choose to save against on invited line, I can't even save the data. But why would we even want to show the material groups against the material to which it doesn't belong? So let's only display those material groups valid for that material. To do that, we go to the query, click on Material Group and under extended display. We switch on characteristic relationships and safe the query. When we go back to be, I reset the query. Only the veil of combinations on are displayed, and it says in the info 98 characteristic combinations has been generated, so we cannot plan the date again against the material and the correct material group will be derived, and we can still save the data. Let's look at the first of our purse processing sonorous that off elite invalid combinations in my workbook, Off added, Does it lead invalid combinations planning sequence and they're awesome. Invalid combinations, for example. These invalid combinations could have occurred through a day to load. It's look at the sit up My delete Invalid combinations Planning sequence contains the deleted valor, commendations, planning function. The function contains no feels to change only feels for conditions, and in this case, there are no conditions. Planning. Falter contains two variables and the rest of the items or hard coded and the lost item. The aggregation level is a near aggregation level, and it contains all the characteristics off my info provider. That is a prerequisite for working with characteristic relationships Is that your aggregation little must contain all the characteristics. Let's see what the effect off our planning sequences. So I'm going to executed for version 0 2016 And by the way, my query, the material group is on posted values. So let's execute the sequence and we could see that the invalid combinations has been deleted and only the valid combinations have a value against it. and I could save my data. The second post processing off characteristic relationships we're going to look at is re posting. We have our invalid combinations back and I'm going to execute it to show what the effect is we can see the effect is different than a delete in that all the invalid combinations has been added to the existing valid combination. I could save the data. Let's look at the configuration in the planning sequence, the aggregation level and the full tourists exactly the same as for the delete. Either a new function has been created. It is the function type repost on basis of characteristic relationships and the fields to be changed is my material group, and that is also the field to be derived. And when I create this planning function, all the fields that are derived there is derived. A check box is default and the on additional parameters 15. Characteristic Relationships as ABAP Managed Database Procedure: hello. In this election, we're going to look at characteristic relationships again, but the stomach going to create a characteristic relationship as an am DP for Hannah execution In the previous lecture, we derive the material group from the material using an attribute in this lecture, we're going to replace it. Act tribute, Look up with an I am DP the steps he created and appears as follows fistic anti created costs that inherits from close CL or SPL scr exit place. They were going to implement to find a specific interfaces. Create the top Smith It's in the sequel could and then we're going to create the handed procedure. Using transaction s is 38 following the first is execution. The last step is very much dependent on the service back you're on and might not be required for all versions off. So let's move on to create a close. So the first thing we need to do is create the clothes and I mentor Corretja's eat seal see or for characteristic relationship and in Prod Plan and Sina's it mosques. Soon a suppressant it hospital wanna create object and then yes, and I want to create it a Kloss a usual ever close final and I'm going to call it CR four fraud and and I'm just going to save it is a local object. The first thing I need to do is to activate the close and once have activated it. I can go to properties change and then a sign. A base close sale or spill is C or exit base, close as the super close and again active it. So once it activated, I could go to interfaces and we can see that the interfaces are inherited from us based cloths are super close. And then I'm going to assign the characteristic exit HDB into first to this class. So the exits with in memory execution the marker interface will assign when we in eclipse. But this is a good start, so thank event. Next, we need to create a types. So let's go look at the characteristic relationship transaction Oris plan and we can see for our attribute. Look up. We have material, a source and mature group as the target. So the type that we build in our close needs to have to feel. So if we go to tops will create two tops Fist will be a structure on. The other item will be a table first will be public And if we go Teoh direct entry of type . We said these types of talked just used mobile notation beginning off a structure Time will contain material time The I uh huh material and it will contain material groups A metal group Time The, uh uh I'm metal group. So we taught them the same. It's the info object in VW and off tennis Childs and in thine teach, as is the table time. So that will be a type standard table if I could just place the coding tax standard table off Teenies with default key and the active it. Now let's look at the method. We will implement two methods. The first set a redefinition off the derive methods from a base course. This Abbott fullback will simply continue using our ABBA up implementation off the characteristic relationships without the need to do any sequel script program. It may be that the Abbott fullback performance is good enough without reverting to further implementation in sequel script, then simply leave the implementation off method its sequel script in Folk Blank the second method is our sequel Script Implementation, and we'll call that product plan derive. And in that case, we need to add our method name to you the Gate sequel Script information under the parameter e procedure named Derive. Now little occurred implementing these methods. I'm in eclipse in my project and in the cloth. So the first thing we need to do is we need to add our marker interface. So we simply going to add the market inter first by if I am dp market HDB and that is its interactive clause. So we can also see that our tops definition is here that this is a standard May 3rd Gate sequel script in. For that we're going to leave blanket this guys on the first method we ain't going to implement These are Abbott implementation. So that's simply a redefinition. And I'm going to post in the current and you can find it a full Kurt in the downloadable materials. So the method is the derive method from a base glass. Close your exit base and it's a redefinition. And now the implementation off this clause. I'm also just going to paste the code in on we can discuss it. The implementation off this myth that is a simple, select statement from material so little through the code first began to to clear some contents. Constance So Material Material group And they feel symbols also for Material Material Group and then began to a sign the material and the material group this just correct the code. So off the structure CS chairs Osias Chairs is the structure that is post to this method as a important parameter, and they were going to select the material group from the table material as Matt, we material equals the field simple and the object is and is active into temporary data available and the envious on the debt available to you in the tour group and we can activate. So this is the abbot fullback, and we can leave the close as is, and this amet for work will always execute. But if the performance is good enough, we don't have to do the sequel implementation off this characteristic relationship but implementation in action. So let's go to our infra provider and edit it, go to characteristic relationships, and we could see at the moment we've got our attributes. Look up. We're going to change that. To exit and being select are close state seal. See your pro plan and the source is material. The target is material group, and you said we can go into a Kloss into our derive May that said, the redefinition off our derive and we can sit a reckless and can activate me in specie that the object is activated. So that's fine and literature art to our planning sequence. And we've got the repost most uncharacteristic relationship sequence that we defined in the previous lecture on it. And we can simply execute with dress on a break point is starting Celestica through and trace it. So the first step is to assign the values of CS chairs. CS Chest contains material material groups of the full set of source and target characteristics and that is assigned to Mama to Miami to agree field symbols. I've been do the select, and if I look at my team preventable, they the material equal squat, it's already be so there's no change, and then we assign the material gripped in preventable to material creep and execute, so you can see that it stops twice Now the abbot implementation stops at every single occurrence off values in of my block characteristic. So if I have a lot of materials or 10,000 material combinations, it will execute 10,000 times a little classical implementation. I've already placed it in the code and again you can find the code and yellow material. So the first thing we need to do is define our meat it So we creating me that prompt land arrives with an importing value of ICTY chairs off on top you created previously and exporting ET chairs off the top. Created previously in the implementation off our method is this product plan derived by database procedure for handed database language sequel script option read only, and without this read only we won't even be able to activate the class using the table br in material. So a selected feeling straightforward R E teachers are exporting parameter is a select off material a material groups again, the full sit our source and target characteristics from a table B r o Matter tool, as met in a joint are importing table rt chairs is like tea on material. So with material unite, the important Graham T equals material in my technical with the material, the object vision is active and in method, one last step remain, and that is to declare our procedure for the close in the method. Get secret script in for where we say e procedure name derives for arrive method is the Kloss and the method plan derive, and we can be an activator close politica and execute this sequel script. So again I'm in my planning sequences and because we want to use the hand implementation this time I need t execute the state. So let's execute Yeah, and we get a shorter. So the reason we getting a shorter is it's going to the the log, the diagnosis fall. It says it cannot find the procedure function in the catalogue, and this is very much dependent on the version you on. We are running BW 7 40 s Petain, so there's a one step additional that we need to do to be able to create our method so create to create the procedure in Hannah. I need to execute my method. And to do that, I create the program introduction Easy 30 Eights and this guy's 80 sport plan and the whole code is to create the Kloss and then using the class calling my method. So all the parameters above the statement is to create the Kloss. And if we look at transaction E c 80 we need to call the constructor method off our base close. I have to look at the constructor mated that parameters are specified in the signature. So I'm filling a structure lt chat role with thesis it off. All my characteristics in the characteristic relationship in this case, material is off top ISS and that its source material group is stuck to you. That is target. So it'll source and target. I'm also filling my Alice chairs for some material so I can actually taste this procedure. And once I'm done with the code and the code again this into downloadable material, we can execute itself. Put a break point at the calling off the method selects, execute this card and execute, and it stops at the cooling off the method and we can actually step into it. Look, a TT chairs and at the moment, my ET chairs is empty as we expect, and my I T chairs contains both materials, but without the material group fault so I can step over this with collection with key if six. And now when I look it et Chazz the material groups on our fault and I can if it and exit now we're not going. Look in the Hannah. Under my scheme of former sac system and procedures, I can see my procedures and are created with the code and same with the taxes will suffer. Go to table tops and see my proud plan Types are in this well, so we now really to test our sequel implementation. So I'm again at my planning sequence on display. And in the meantime, I changed the material group off the materials in my kid so I can execute and we can see that 48 has been generated. 48 deleted and execution is in memory. The reason this also runs faster as opposed to just running in Hannah, is that all the characteristics or addressed at the same time In the Abbott implementation , we saw that it executes for every single a combination in my block characteristics, but with executing and sequel everything. It's past two must equal procedure and through the select, the two groups are full for materials in one ghosts. Even if I have 10,000 materials, it is executed only once, as opposed to the 18,000 times with the abbot implementation. 16. Top Down Distribution: in this lecture will be covering top down distribution. Tough time distribution issues for the dis aggregation of planning date. You might already be familiar with the distribution function in Bix but topped on distribution and b r I p ISS used in complex in high volume scenarios that cannot be made by the big function. They are T functions available, oneness, the distribution with reference and the others distribution. My key in the planet sonority we're going to cover in this lecture. We're going to plan volumes by mature group and fiscal year and then distribute those volumes based on reference data to material and period. Let's look at what the stop time distribution this is supposed to do in my workbook of attitude queries. The detailed query, Yes, well is an act created planning query both off quantities. The detailed query is by material by material group. Yes, Wallace Park, period. My aggregated query is by material group only on fiscal year live. We can see that the over it all results off. My aggregated query 7726 agrees with the overall result off my detailed query, not topped on distribution allows us to plan on on aggregated label. So on material group label. So let's change the values to 40,000. 50,000 and save. See? The value has not changed to 70,000. If I refresh my query, we see no change to the detailed planning. If I ran my top down distribution for version zero physically in 2016 see that the value off my detailed planning has not changed as well as the value primitive period. And this chance has been performed in Russia off the old value and its total. And I conserved date little car. This chance looks like in the queue. I got back to my aggregated planning query. I'll change the value to 45,000 safe. Go to my info provider. We can see that the 5000 against my material group wybie are a five has no material in the fiscal period against performing the top down distribution. Going back to my kids the aggregated record, the 5000 has now been allocated to my individual records. If I sum up my quantity, the total amount equal 75,000. Let's look at the configuration of a topped on distribution function. We start off with the aggregation level. And that's the Prod electrocution label we created earlier and again. We need all characteristics and aggregation label for a top down distribution to work. Next is our fault, and it contents two variables one full fiscal year and want for vision. We do not have any values for our period cause. Selecting the fiscal year implicitly implies that the periods are selected as well. Also, materialised list blank So you might ask, Why didn't we put in something like this way? We exclude the hash values because the filter contains our target recalls. Now we cannot add this entry this exclusion off hash valleys because, as I've shown you earlier, the hash material is also a target fairly, because that values might zero. Next is our planning function. The planning function is off type distribution by reference data and feels to be changed is the posting period. Since we're allocating from a hash to a numbered person period, as far less material from a has to 92 the parameters. The first parameter is the selection off our key figure, and that is your a quantity. My reference data selection contents. The same values is enough. Falter as we want two years, the target area, the values in our target area as the values for a reference date. Of course, we could have used variables to point to another set of data as well. The creation off the distribution key we're going to sit to manual entries is this is we. Most of the configuration will take place. We could have also seen distribution on a side. But let's go with mental interests. And the entries are quite simple from its fiscal year material both hash values and see this fiscal yet period on material excluding hash the behavior. If no reference data exists, could be terminate if you're warning or equal distribution. In this case, we don't want the distribution took place, and I wanted to the issue, and we will not change the sitting for error handling. 17. Finalising the Application: in this lecture, we're going to find a last the application going to calculate, or even you, which is the product of quantity. Tons prize and remember, quantity is on the tour on period leave, also very much detailed level, while price is on the tour group in the year level process, also in multiple currencies, and we're going to calculate revenue for each of the currencies for which is a price available. In addition, we're going to do this. Reeve Any calculation. Whenever we save quantity data, let's look at what we're trying to achieve. You can see that we've added driven you to our career E. And the steps to do this is included in the downloadable material to this query. First, I'm going to calculate this re Vinnie by running the planning sequence, calculate revenue for 2016 vision zero and we conceive or even you have been calculated. We can verify the price for both mature group Y B F 02 and Y B R. 0552 and 500 respectively. So, going to my price planning query, we can see that for why beef to 500 t and for Y b R 05 process 500 years. So the correct price on material group as being plied to the material. We also want to automate this process. So whenever I change the quantity we want their even, it'll be automatically calculated. So if I change the price, want to and save, they're even use adjusted as well. Let's look at the planning sequence to calculate, or even you. We're using our prodl aggregation level. That's all our characteristics again. I've created a new falter, and by now you should be very familiar with the sittings in the filter. Although this time because we writing re veneer on I don't want to write to ash currency want to enforce a currency have included the excluding hash value as a restriction to currency as a control. I've done the same thing with posting purists to make sure that we write a number period and the wrist our usual variable values going to our planning function. We have a formula type planning function, so we're going to the right fox. The fields to be changed is the currency key in the unit of measure, as we are reading through our quantity data with the unit off measure and writing a revenue value with the currency key going to the Kurd itself. First undated Declarations under clearing the two variables for the day to tasked with changing, then I'm declaring a price and quantity variables. Stocky figure. And then I'm leaping through each currency in a reference data. So that means for each price in a foreign currency, as price will be our reference data saying price, equal syrup rosky figure in the currency. We reading with hash units off, measure that I'm using the park character to access a characteristic that falls outside the values to be changed. So this is also another reference I can use, so I know my prices on material group level. Some sang zero material. East equals hash and my process on fiscal year level, says your office paper. Three equal. Tash is war. Then I read the quantities with the units off major without a currency, memory of any calculation is simply price tags, quantity using the currency that I'm sleeping through so it will be the same currency is my price with the hash, you know, self in Asia to automate there even a calculation. I go to infer provider it. It's and then under central sittings at the planning sequence under plenty sequence when saving. So my revenue calculation family secrets will run each time I safe data. I can also limit the re changed A to field and specify aggregation level. And this will read specific data in that aggregation level. That's attention only applied the sequence to their data. So this is a performance impact. But of course, we using so little records in the steamer, I'm keeping this black. 18. Planning Functions as AMDP Part I: hi. In this lecture, we will convert the fox we rode for even a calculation into a name. DP. As Fox runs native in Hannah, it is not strictly required to do the conversion, but I will do it to contrast the different approaches. No change in the calculation will be made only in the technology used. Also, we will use the same fault as we used for the Fox Good. But first, let's have a look at what I am. The Peace are. I am the piece on Abbott managed data breakfast procedures and, at last, the developer to write database procedures directly and ever and are nothing more than a function stored and executed in the database. In Seth Hannah, MVP's are written a sequel script using an MDP allows developers to create and execute those database procedures in the Abbott environment, using Abbott Methods and Abbott data types. So let's recap on what we're trying to achieve are planning application allows us to plan quantities for materials on material and pure period level. Then you can see that our annual quantity of 5762 also agrees to aggregated planning so I can adjust my quantity save, and at this point it has no effect on my revenue. But as soon as I performed topped on distribution for 2017 and execute that, I could see that my quantities has been re allocated. So five points. 60 and 5.62 million. As soon as I save more, even you is recalculated, and that is done in Fox. So we want to change this calculation from Fox to a name. DP Before we start with the technical set up off the classes planning functions and sequences, let's do to preparation steps. First, let's remove the planning sequences that executes every time to save the data. As we do not want the Fox sequence and the MDP sequence to perform the same calculations. We will later add on the sequence to the central seatings to do the calculation on safe to change the planning sequence that gets run every time we say If we go to production Oris plan are in for provider it. It go to our central sittings and we just delete the planet scenes and say so for the purposes. Off this lecture, little create new data, some creating Dayton version, 118 for 2017. And for that, I'm going to just remove revenues. Andean plant Some volume sell its plan 10,000 units in each of the periods. And so if then for process inversion 110. I'm going to copy prices using our copy function from version 102 118. Execute the function and now I've got prices. Before we start with the configuration, let's examine the data in the formula and a bit more detail. Objectivist to calculate. Ribbon me what you want to post your calculation or the revenue values that we want to adjust or calculate from scratch. Currently, our fault is set up to do exactly that only post the revenue records. But to calculate or even you. We need quantity and price quantity, and price will be informed, our reference data and the product of quantity and price. So we seemed and written to the Cube again. Let's take a scenario where the revenue has been calculated previously. We actually don't care what the previously calculated values or we want to recalculate there, even if for only those products with a quantity. So if, for example, we have a really calculated for four products. But through planning, we removed one of them so quantities for three products. We want to ensure that the revenue line is deleted for the fourth product. The easiest way to do this is to clear the contents off the table that gets fed to the cloth. CEPAL know that the before image and often image are different and delete the records that are not in the new result table. People demonstrate this a bit later on. We are now finally ready to move on to the technical steps. First we create the Arab class. This class will be called when we execute the planning sequence. We've been exposed to close by using an interface and in our case, we select the interface for reference data and the system then requires that we select the relevant reference data or else no calculation will be performed. So we create a close and transaction E. C. A. T s usual and you can find the code for the Kloss in the downloadable material. So we're going to create the closet close prodl our loss inter and it'll ask me to create the close and yes, so I'm not going to create this. The final clause and my description will be Cal key late breath venue. As in I am DP and save I'm going to create it is a local object and then we need to add the interfaces so we can either at the interfaces under the Inter First Tab. Well, we can go to source Coast based change. I mean God to my tics fall and under the public section copy the two interfaces Public section copy Monte interfaces chick and active it. We're going to add the code to this close later on. But now, for look at my clothes. Much of interfaces are displayed as well as the available methods. Now that we have the close, we can move on to the planning function. Since we are creating a function that is neither a standard BBC function nor formula and fox, we need to create a custom function. And we do this by creating a function, talking transaction or SPL. If one some introduction RSP, Elif one and the function type of man to create will have the same name miss the clause just to keep things simple somewhere to place that in pris create the description will be calculate Cold key late, brazen you as an aim. Dp being not simply paste in the Kloss. They close prodl are lost. So that's the closet just created and regain to created with reference data and activate. The next step is I'm going to create a parameter in a tabular form that the planning function will use to pause on the selection off the reference data. So I'm going to create the parameter, the parameter. It will be brief tab and this will be the table four reference data. It will be a structure off and it's tabular. Next, I'm going to create another parameter, and this will be my grief cell and this will be my referring data selection. The perimeter type is a data selection, my structure perimeters, riff tab and I'm going to use all characteristics and in hiss and activate, you may recall from our previous lectures on Fox and other formulas, we talked about blocks and feels to be changed. This principle becomes important when creating custom planning functions, whether as an aim, dp or not, each of the falling methods are executed once either as at the start, such as the add new blocks, get reference data selection and in its execution methods or, at the end, such as the finish execution. The execute method is executed for each blocks. For our MDP, we will calculate all results in a single joint, so we want to execute method to only execute ones. Executing it more than once will be inefficient and impact the performance gain. We want to tea through a name DP in the first place. So that means that we either should not have any blocks or all field spent. Be more dis changed. Let's keep this principle in mind when creating a planning function. So let's creator planning, function, introduction or its plan. I'm going to create the planning function Probable PF six create and then under function types, we simply select a calculator of any function time, and we can call the function Cal Key late brave than you now because we don't want any blocks, we're going to Mark. Wall feels to be changed. But if we have many characteristics, you might agree that this is a tedious process so we can go to transaction or a spill. If one again go to a function type change and being tick the without blocks and active it. Now, when we return to a planning function, we can see that all accurate characters successfully removed. Next. We need to specify our selection for a reference data and clicking on parameters. We can see that there's the table for reference data that we created in our planning function type. We simply eat it and create. And I'm going Teoh input the same variables as in my fault. So a fear, a ble for my vision and variable for my fiscal year. When I say if we can see that I have to interview edibles now for mine planning function. So we have a planning functional but and our claws, but we have no occur to actually execute. So let's go and fill in our methods. So the first method we're going to fill ins to get reef data selection method and we're still in source code murdered, So I'm going to change it and then let's paste in the religion section. So we're gonna paste in all the code except for the execute method so we can start with the protected section and select everything up to in clause and pasted in. And then we select Oh, are method Forget reference data selection and we copy that and also the next method and pasted in under implementation. So chick and delete the private section that I didn't overwrite Check it again on actual it . So let's change to form based Go to argue drift data selection method. And we concede that hath created a method to read the planning function selection in rift ERM and riff cell. And that's in a separate method. Next, let's go to execute method and again to create the implementation and what we're going to do here, it's simply simply going to clear the content off the transaction data. So that is the revenue data that get bossed to our close. Andi, activate and we're going to place a break point at this point. So we now ready to taste are planning sequence I've really created the planning sequence is a copy off the fox sequence. We're off. Simply added or change. The planet faction took our collective any plan infection, So we're going to execute this in two scenarios. The first scenario is executing it for our new transaction data. That's inversion 118 and fiscal year 2017. So I'm going to run it in, try Smart, and we can see that it is stopping at our clear th data statement. So double clicking on it, we can see that no transaction data is sent because now or even u has been calculated for go to locals and I look at the reference data table. I could see reference data has been selected quantities and later on prices. This will. So my reference later selection has worked, and it seemed through the process and quantity records and the transaction recourse because revenue has been called calculated is empty, so simply continue here. Now let's run it for a version that has already has revenues. So version 100 and again, execution trace mode. It stops admire, break point. And I can see now this 372 records, which consists only off revenue records. So why don't just riven you? Andi, let's just look at our reference data cell reference data stated, contains or even your equals as well. But that's a cake us. Our selection will take care of that. You know I am DP And when we continue we can see 370 records has been read, and they have all been deleted. So when we add a calculation, could these deleted records in effect will be I replaced by the newly calculated records? 19. Planning Functions as AMDP part II: Now we will create the close that directs the sequel curd and is called by our custom planning function. We assigned the interface if am dp marker edge to be to this cloth And from now on we can only get it this close in eclipse Sonam in eclipse in my ever project And we're going to create the close some great send You have a close and the source code is again in the downloadable materials. The close we're going to create is a close MDP prodl our loss paste that in and they say this this is calculate praise And here I am empty p and this is going to be a local object I'm going to finish and then we're going to paste in the interface. If I am appeared Marca on the public section and interfaces and active it next we're going to define the signature for our class. This will consist off all the fields in table format that we're going to pass to the clause and that the this close is going to pass back to its calling close. So getting back to my code, we can see that we're going to define a type first of the structure and the tabletop. So let's paste that in and then we'll discuss what it does. So this is also under the public section on the public section. Simply paste in the code so you can see that every single feel that it's in my cute is also in the structure and then eventually in the table, said it activate. Next, we're going to define the method. So this is the method that will contain the sequel on a vented paste that in this wall, and we can see that our method. So it's just complaining that the implementation is missing. We will do the implementation are we're going to porcine ICTY data, which is our improved ater export our table et data all of the same format it or all content all the fields and in the reference data. So the reference data will contain the price and quantities I T data will contain that the existing revenue ET data will contain the revenue that we are going Teoh pass back. So the newly calculated revenge. So let's right the implementation now all the codes, they already but what we're going to do in this case, he's beginning to define the method, so end method, and at this point, we're only going to have a single line, and that is the export. Eight. Herbal et Data will be a select store from Are in for a Table so in for table and export table at this point will contain the same data, uh, semi colon and active it so up. To disappoint we have to close is we have our aim DP Closet with this just created that contains a sequel. Kurt and we have the cloths that gets called park planning function. Some current method I execute Method contains only one statement, and that's the clear. See th data. But let's add the code that calls the our aim dp close. So in my source code, our copy the code for the method execute and I just override existing curd and I can activate the code. So this contains just a call to the Kloss, said close MDP Prod Will Air loss and the method I'm DPR Lost Khalq. Let's be created over the so let's go and test the sneakers. So going back to a planning sequence, let's run it for the version 100 which already has reason you So my variables version 100 fiscal year 2017 and are executed with trace and we see that it stops it. The statement I am DPR was cox of the cool t our I am DP If we look at the various parameters, RT data contains the existing revenue calculations. Our data contains a reference data, so the price in the quantity, values and then et data is empty because we haven't done the calculation yet. So we expect the sequel two full et data with exactly the same values society data. And if we step over it, we can see that ET Data is not fooled with the Reeve. Any calculation data? So we nearly finished. We can now write the sequel to calculate the revenue, but we probably want to do some tests and bulled up the sequel gradually. And the easiest way to do it is to define our infer provider as an external set pan of you . So going to your in for providers it in for cute. Check the box external Sepahan of you for reporting once this is done, so once you've activated, you can go to your eclipse, I d right. Click on your environmental on the system and open Sequels console, and this will allow you to select straight from the infra provider so I can execute, Selects star from the infra provida, and I can get the data. So what it does we need select when you create US external sap interview. It creates a analytical view in system local bwb doubly to Hannah and then the Infra Provida. The downloadable material contains of follicle sequel tests, which contains the sequel that I used to test the eventual sequel in the MDP. Now several differences must be note to between the stay sequel and the code that will eventually go into the M V P. In that we use the full qualify for the info objects of zero for Spur, for example, while in our MDP we will use the top that we've defined. So fiscal three Fisk variant etcetera. Now, once we finished writing a sequel untested, so let's run it. Inject the results we can see. Revenue has been calculated for each of our lines on Everything looks OK. We can take this code and added to our aim to be close, so the code is already also available in the downloadable materials. So let's go and simply paste the code in so we can replace the ET data equal select stuff from our input table and Palestinian. So we can also note here that we had no stage Dewey Reference ICTY data. So I t date in this case can be commented out because we actually don't use it. We only use the ET data value, but we used our today to really just test our am DP. But I'm going to leave it as it is, and we can activate. Now Let's go and add our sequence to our info provider to execute every time The day two saves in for provider change, central sittings and real input. Arnie Planning sequence of planete six. That's safe Now let's go and taste so in my in potential again Onda analysis, let's refresh version 1 2110 Rather then we could see no revenue has been calculated here, So let's go and change for 2 15,105 100 to say if the data and it still breaks because I haven't from my break point, it's going to call the sequel now so we could trace over it. Chiquita data et date is fooled. I'm going to remove the break point and execute. And these are even you. So now we have calculated or replaced our fox calculation with, uh, I am DP. 20. Security: in this lecture, we're going to discuss the three components off security. Not that whatever we discuss here is only relevant fully. E p m. Adding and not for Bosporus uses the normal analysis authorization concept. EnBW. But first, we're going to discuss users thing. We've wanted teams and lost Lee. The data access profiles so onto users in a bid. It's a BBC, the users or created in set B W. However, they need to be added to a custom role that includes the artists BPC underscore idea authorization object Enroll, maintenance. Latest production. PFC G Environments are sent to the or is BBC i D organization. Once she'll simply added to this role. You can log into an innovative step BBC environment. Now let's look at the sit up of the users. EnBW transaction issue one. I've created a user. BBC use the one, but it has no roles assigned. Now, if I try to log in to be PC with this user, are getting any era invalid environment pot plants. The let's create the authorization that is required for the user to log in production in the FC chief, we'll create their old wide BBC user, create single roll Ghoshal physicians change, we'll adopt, Be our plan a role, and we'll manually add the RS bpc underscore idee in authorization object, and we'll assign the product plan environment to it. Generate. The next step is to Sinai User BBC. Use the one and safe If we try to log into the environment now we can see the queries trying to execute a query. It's still get a Neera Teams and embedded Sap BPC represent logical groups off users that have similar job functions, and she's similar reports. The team can have one or more users and one or more team leaders. Any team leaders can save reporting input forms to the public folder as a point of reference. In standard, said BBC, the toss conductor access profiles are assigned teams would directly to use in a bid. It's Happy PC recall that they are no toss profiles and data access profiles can only be assigned directly to users, not to the teams there to access profiles who used to control reading right access to transaction data in the model in for provider imbedded sap. BPC relies on the underlying set VW analysis authorization my time, but I initially, and then the line off business can further restrict to users data access inside BBC. In other words, the safe BBC analysis authorization have been merged with the SAP BPC data access profile and since the L A beacon further restrict to users access in sap BPC, the result is a much more practical business solution. In designing application, we're going to make the material group the authorization relevant characteristic. So the first it is to go to the Inn for Object material, grip and go to the Business Explorer tab and make sure that the organization relevant check boxes ticked. The next step is to create the analysis authorization. To do that, we go to transaction or sick admin authorizations, individual maintenance. We're going to create the authorization object in g create. We'll call it BPC material grip and create a ra. We insert zero material group in for Object and the sun. Fourth desertion to that in for object, then go to insert special characters. We're going to change the activity to change and click on the in for Q Ball's possession. The infra provider is a proud plan in for provider. We're going to grant full authorization to it and recent going to select authorization relevant characteristic, which is material grip that remarked in the info object itself and that should be all sittings. We can also go into the infra provider special character itself. Change it to the IMF acute product plan in this case, differ the respected. Once we done, we can activate. We cannot sign a two user. So we go back, go to users individual assignment You got TA BBC He's a one. Change the user into our why i m g four authorization object Get Emmanuel generated and insert can all save the user The effect of this analysis authorization that grants change access to my model and to the infra provida that underlies that model is that when I log in with my BBC user and select the query, I no longer get the era. And when I select my variables at this point, all the material groups are displayed because we granted all access to it. We're not change the soul and save the data is safe successfully. That is due to the change access as the activity in the analysis or physician the next day , pissed to further restrict the access to in the chill groups. Using our data access profiles to create the day taxes profiles, we go to a whip Admit Client administration on data access profiles granted, creating new their taxes. Pro fall. We're going to call it the I P to agree. Why be our to give access to only the white B all material groups, the model. We're going to use this production planning and you could see that there's none access at this point. If the model has a secured dimension, the access will be displayed. Us either Full restricted one man, depending on where the you click on a deer p or not, began to grant access to only selected members, and the members were going to select. We're going to be the want he are Childress. And OK, the access right, you're going to grant He's right access. And that corresponds to the change access in the analysis authorization. The next step is to save. We're going to allocate users to it, and we're going to allocate on BBC use of one, then okay and save to see what the effect off the further restriction of Dear Piers. Let's log on again with BBC use of one. Select a query and we can only see the wybie or material groups. Now if I go to edit report hurting my material group, we can see that access is restricted to those members selected in the D. I. P. 21. Work Status: BBC works Tartus. It's used to prevent their two changes after the planning process is complete. It is very much like the close piers. Functionality in your P in this section will go over the basic concepts. Often bitter BPC work status, how to configure it, how to use it. And I have to report on it. If you have every used B, w B p s will be our i. P. You might recall the data slices I used to lock data in a bitter BBC works notices used to lock the data using the data slash mechanism. Let's look at the scenario we're going to cover, and they were going to go through the detail. Configuration settings were three. Status is configured. First is unlocked, which is controlled by the manager or the owner, which means either the manager owner conceit that unlocks starters manual into determines few can into data were FIC dater was planning functions, and in this case, both the manager and the owner can do data entry. Next, the owner will plan prices sit the status to submit we're off to. Only the manager can change the data. The manager, then a priest, the data sick the status to approved off, to which no one can change the data. So let's see that in action. I have a simple whip input template based on our brought pure CQ triple 01 query where I can change prices. So we changed that process Canadian dollars to five of five. That's amid the data. I'm going to going to change the work status. Full the notice. Last sir. Full product tree If to my vision zero I'm going to change the status from unlocked to submit it and apply. We can see the message data slash critics that characterise the combination comes up and I can no longer change the process. I'm not locked in with my admin user, which is the manager. So the state is at the moment of the data is submitted was seat by the owner, and the manager can still change the data. Once the managers change the data, you'll see the status to approved, after which no one can chance sedated. Let's go to our lottery, Upton the query and I could see that the manager can still change today to solicit gently to five or seven submit and changing the work status for the same day to slice. We can see that the current status is submitted. We'll change it too. Proved we could see that no one can change the data we have to submit The start is this. Well, let's look at the configuration off the work status. First, we'll start with the dimension requirements under administration dimensions. Our Matile group. We are two additional attributes to the summit in the BBC owner on the BBC team. This is set up in B. W. They're going to be Doley. I'm a Teal Group and attributes I've added see owner and C team attributes. So displaying the attributes you can see it's a character 12 with no master data. Only text and hierarchies are not required. Going back to BBC, we have to have a hierarchy. Within this time, ancients are going to the hierarchy. I've built a simple hierarchy, most on all member and allocated all the members to this Wall member on our BBC earning team. Dimensions consists the user I d off my manager at my users, so the manager belongs to the higher level nerd, the All Member, while my user or owner belongs to the lower or detailed level in for objects to do the configuration off the work status itself. We go to administration, work, status, configuration and select the model. Next we see the works that list and these all the steps that we're going to configure. We saw that we had three steps in our process and lock submitted reprieve. I'm going to the city's for each of the steps. So let's look at the submitted step. We see that we simply enter a name for it. The description is required. Who is a controlled by. So he conceit that status and then the permitted data entry is who can enter data doing that status. So the city's fordo to interest or owner manager on while the controlled by you see the owner and manager on a or just the manager Next delicate are locking dimension. And this is the dimension that has the requirements met so on Owner Dimension as well as ah hierarchy. So specify which star mention Mitchell Group, Dimension and the hierarchy. Then we specify the owner and the team properties, and that is the same properties we discussed as the attributes in the in for object. And next we can add any more dimensions who want to control the work status spot. We also have a report on field level off work status is Teoh access that report? We go to systems, reports work status and they weaken. Select the model and simply run the report and we can see who set it on. What level that work status was Sit. 22. Data Audit: data orders in the sap BPC tracksuit into transaction data into the infra cute. Let's see how we sit to that introduction or is so one. We go to a product planning infra cute change mode, and under settings, we go toe auditable. Switch that sitting on on activated INF Acute Note that a new dimension is created with four characteristics. The order timestamp characteristic records When the safe data was written to the info que the user record to safe the data ordered mode records hard. The data was written into the in for Cuba for manual input, planning and planning functions. Planets used for seven BW data loads wh game misused if order to stand off a value off disused and the source of data records the name off the SAP BW query for manual input on the planning function if it is used. If he used the Seppi W Day to load for the real time infra cute, the source off the data field is blank, so let's look at their to order. I'm using the same whip input query as I did in our security lecture, so let's change one of the prices I'm going to change the Canadian dollar price to five of five for father to in the Euro Prize for 500 father too. And submit the data. We can view the results in the system. Reports on the data ordered their two changes. I'm going to select the product planning query on the mode this plan since we've used manual entry on display report and then we can see the changes. So Canadian dollars and euros and it writes the Delta. So that's the change that has been written by my user in the following Go to slice. We can also look at the effect off the change in the Cube, and we can see that it's plan murder the sources that query the time stamp in the user. So unless the delta change now, this is in effect on compression because we have the order. Timestamp compression will not have the same results as previously said. No aggregation will take place 23. Debug FOX using CL_RSPLFR_CONTROLLER: flu in a previous lecture recovered hard to de Berk, Fox Curd using the Break Point statement they'll actually to myth itself debugging This lecture covers the debugging off Fox as Fox script itself, using the clause seal or a spiel. If our controller the first step is we need to go to transaction is C 80 in the object browser. Go to close seal are is pill If our controller expend the methods tab and go to the execute services with it in the method, we just go to the first execute herbal line, which is one line one of five andi in, say, six break point off to this we go to our planning sequence. Not for you gotta planning sequence here with some folks Heard we select the line, make sure the variable So they on being we executed trace smart. So once we executed, we'll go to get to the bugger We got Teoh take on the script tab in the script Herb, we say load script and we load the script. Or is spiel IFC debugging script Fox keeping on database and select Okay and then start the script and these that Fox code so in the fox. Good. We can simply say start debugging. Set a break point, for example. I consider break front on that line and toggle it on and off, and then I could display the block values. So these are the values that are not being changed. Show messages. She's the variables for the splitter. Here I can select variables that are not being displayed an ad into the display so I can see what the variables are through each state. I stepped through the state by pressing F five, and then you can see the values change. I can also toggle the variable display Donald, a reference data display and also the block studies that I could see what the block fairly sought. Each step is well, so once I'm finished, I can continue debugging skip the block if I choose on. Continue. I'm a priest, a fight going through all the blocks until I get to the end. And then you could see 23 records have been read, but nothing has been changed. So that is debugging fox curd using the actual Fox script 24. Currency Translation: in this lecture, we're going to perform currency consolation. We're going to perform currency translation from a source currency and began to hard coded two euros translated to a target currency that we're going to determine using a variable. And we're going to use table Tekere to determine what the currency translation right is. Let's look at our currency translation in action again. Off added the currency translation planning sequence to my workbook and began to run it for version 0 2016 And my target currency is going to be US dollars through 90. Translate from my euros and over all the years dollar price executing the planning sequence , you can see that the U. S dollar price has been changed based on the currency that we've planned in table Tekere to configure currency translation we need to go to through the following steps fists we need to create the currency translation type and we're going to use transaction or a skirt for that. Then we gained to maintain the currency rates in table Tekere and then we're going to create a full two plenty functions and planning sequences as usual to create a currency translation time because the transaction or Askar, we're going to create currency translation type. Why here? Var. And that's simply to say that we're going to translate from euros to currency specified in a variable create. First, we're going to use that if I model So this is the same method used in all three to do currently consolation. We're going to use the same models and tables. Extension type will be p for plant rates. So we're going to select piece that a translation for cost planning. Give it a description Here, 24 mixed on the currency tab we having we're going to have a fixed source currency and not this source currency from the record, and in this case, it will be euros on a target currency will be a target currency from available and the very well we're going to select this is in currency. Currency must be off a single value. If you specify an interval, the variable will not be available for selection on the time reference. We're going to specify a variable time reference and because of process of planned on fiscal year label, we're going to say the price at the fiscal year start and we're going to use a standard in for object to determine that. And that's going to be off zero friskier, which is the same time characteristic we've got in our Q. And we're going to save the transaction to do the currency. Translation is provided in this slide, and I have already maintained the prices. For example, the P right so eccentric toppy that we've configured in our currency. Translation type one euro is 1.1 U. S. Dollars and so on and so forth. Usually this is extracted from your piece system, but for this purpose, I have attended directly in the table. Let's look at the planning sequence. We're using the product PRC education level. I've created a new filter for currency translation which contains to send variable, as in our currency translation type and the variable definition. It's single value mandatory. The planning function is off type currency translation. The field to be changed is currency key and parameters pace if I the target and the sauce key figure, which is both price in this case. Since we're not writing from one key figure to another, it keeps on the key figures, your price and the currency Translation top is the currency translation talk that we've configured 25. Add Buttons to A4O: Hello and welcome to this lecture in which I will show you how to add buttons to a four workbook analysis Contains a p I methods that can be used in VB. A macros macros are created individual basic editor which can be used to write and edit a macro that is attached to a market soft office workbook. The macros can be connected to the U elements thought or available on the developer tab in the menu. So before we go to the theory, let me demonstrate the principle. So I'm in my quantity planning workbook and you can see that this various buttons here that represents the various functions in B. R. P I, for example, can click on this icon, which is the prompt icon which brings on the prompt and refreshes the workbook. I could also click on this icon which refreshes the information, and if I change some splaining data back and save the planet data now, we also know that we have a planning sequence that calculates revenge is so if you go to planning optics his car correct three minutes so that one option is to go in here and change the variables But we can also have it that the variable star in the material the lesson people into the version and the fiscal year and ran my planning sequence by clicking on the dollar icon and we can see that they're even you has changed. And if I don't like the results, so I want to revert back to the previous let's say, if state we can click on the receipt but in this war calculator again, and if I'm happy with the results safe, we can see that the various elements are now on the workbook itself, and the user does not have to go to the analysis tab to save the data or to run the planning sequence. This shows the methods that are available in analysis. In this lecture, we will look at the SAP Execute Command method to saving refresh data, the set execute planning sequence to execute the planet sequence and the SAP century. Fresh behavior, which sets the refresh behavior, went performing drill doubts slice and dice and so on. Each of these methods are described in the analysis for Office User guide, and the link is provided in this lecture. The Centex off the various methods are very simple, and little occurred a few examples. First, it starts off with the function name and underscore Click to show that when we click on that specific icon object, this command will execute. And then we simply state the application run command and the in the various parameters, which is even execute ammand step execute planning sequence. And then we say what the command is in the data source for the planning sequence or the behavior that is associate it to this. Come on. The first step that we need to do is to find the correct icons we want to use so you can search on the Internet for the icon she require. And it is simply of me a question off dragging and dropping these icons onto your work. But can you can even create the normal Excel buttons in the developer on tap? But I prefer the transparent icons because off the visual effect that they give next, we need to go and do the code. So if I show my Phoebe code, what I usually do is in this workbook section, I put the commands that are not dated so specific, so my save Command my grease it command. And in the poor's and refresh refresh on off commands in my sheet That contents my workbook . I put in the data source Refresh and show prompts command as well as the relevant planning sequence that I want to run. So this code is attached to the downloadable materials off this lecture, and we can see that it follows the same Syntex as we showed in the slide. So for safe click, isn't this application run? Execute the command plan. Safe data. So Miss Receipt except execute command plan receipt refreshed behavior. Sit, refresh, Behave on and often song. And this kind of this can be found in the user guide for analysis for office. So once I've seat my commands, I simply gone my icon right click and assign the macro. So that's my show prompts. And these my show prompts of my data source number four and OK, so you can find if we go to analysis, you can find the data source numbers there. So my quantity planning is data source four. My calculate riven e. I am DP planning sequence is planning sequence five and so on. You can see there's a planet function won this war. I can change this by changing the formula alias to whatever I want. But let's keep it as the default. And this is the only configuration that is required to execute my planning sequences or to make these buttons work. The next thing I want to show is its most instances my customers don't want to always revert to. Then Alice Suspend to run the planning sequences. They want to go on the interchangeable and change the variables. So in this lecture, we're going to keep it simple by typing in the various variables to 17 cents. A simple text field that we that we enter in. The next lecture will show you how to make this a drop down based on most Odetta. So to do that, click on the field that contains the variable value in this case version 100 go to my planning sequence and then select under the variables the source change from member to sell and then simply select the soul. And then every time I execute my planning sequence, it will refer to the cell to fool the variables