ction and the warm welcome and welcome everybody to this session in this little series of move to Cloud Erp a practical guide and as Kina already already um teased I will focus today on the topic of clean Core let's say from a holistic point of view um my name is Lucas I'm a consultant with sap I'm now with sap now for roughly 18 years and in the last few years my main top IC was around or is around development how do companies Implement their own extensions into ECC S4 systems how do you get your custom code into S4 all of that and the main question behind was always okay how do we do it the right way and this basically LED that uh to this concept of clean Core and in the last year I also had the possibility to discuss with a lot more people not only like extensibility guys like myself around the concept of clean Core and we were working on a central definition we can say um and I was part of that authoring team and that's the idea to give you today a bit more than just the marketing is overview on ah clean Core is important so that's my goal for the next um yeah roughly an hour we will have some time in the end maybe for questions um that's at least the idea what would I talk about um after a short intro I will talk about okay what's basically the reason we want to be the fast one you will see in a second what do I mean by that um and how to be the fast one in this kind of world we will then when we come from like okay this is the motivation w why to be clean we then say okay what does it mean what does clean Core really mean we will see that this is more than just modifications or more than just develop something on btp we have five Dimensions that we will briefly dive into if we would go into the details it would take more than an hour we could say it's more a day workshop then but still I want to focus a bit um maybe based on my biased background on extensibility in there to give you a bit more Deep dive in there to see that and then we want to come back up to the surface more and to the overview to say like okay and how does it look like in reality what's maybe the important pieces that you need to take with you for your project um depending on where you are where how you want to move there are different actions you can take and um I want them to close up with also showing okay what is out there there's for example something very interesting out there in our activate methodology you could say brand new um and we had a comparable session more in the German User Group area in German this was not yet there so this is something like brand new so what are the typical challenges and why will we talk about the fast one basically for companies looking at um the it systems we have different challenges today that are now not General challenges but this is focused on okay how does this motivate to to use this concept of a clean Core we will come to what is a clean Core in a second but this is more the motivation on the one hand side we have you could say something that's breaking you down or slowing you down in your speed of innovation that's your complexity and it's not saying like hey you're complex and that's bad because businesses are to some extent complex and you have maybe your infrastructure set up your system set up in a way that they are not as easy to change as you want to be but at the same time you need to do this because when we look at the right hand side and in the middle we have new technologies around I guess everyone's talking about generative AI chck GPT all of this Chet GPT is now 18 month old roughly and I think it's around everywhere and we have this kind of disruptive changes every now and then from a technology point of view or right hand side here from a business point of view so we have um seen all the disruptions in Global Supply chains the political changes that we've seen the world is maybe at least living in in Central Europe not seeming as safe as it was maybe 10 years ago so so there is quite a change out there and you need to adapt and this is kind of a contradicting statement on the one hand side you have complexity a grown landscape on the other hand side you need to be quick because you need to change and that's the basically the motivation you could say and I guess this is a true statement that you see even the old Greeks mentioned this like everything is going faster and faster than ever before true it is but this means that we see also a shift in paradigms so what does it mean when we look at um a nice statement from the founder of the world economic Forum Claus Schwab um he's a smart guy and he mentioned okay what does it lead to in this new quick world where we are now in it's not the big fish which eats the small fish it's the fast fish which eats the slowfish and that's basically what we see that you can say maybe 20 30 40 years ago it took new entries to any Market quite a long time for example to reach a million users so Netflix needed roughly three and a half years whereas CET GPD had this done in a few days the first million users and this is where I think it's important of course working with an Erp system in general is maybe not The Cutting Edge of being totally agile but at the other hand if you look at your systems it's important to be the fast one and that's why we think this clean Core concept is important because it helps you to be fast when it when we look at our let's say limited world of enterprise software there this is a key part because of course you will have your system so for example than an S for Hana system or an ECC system but it's important that you're kind of flexible with it and that you can adapt to the changing World outside there for example with and Sapphire is just around the corner um in the next few weeks there will be shown quite a lot of new innovation coming from sap directly where you can use and leverage business AI where maybe some generative AI is incorporated and to Leverage this you need to be quick because you need to be on a new version and we all see this like in our Windows world or if you're using a smartphone your iOS if it is Apple will be update every now and then and this is basically the idea that we say if we want to keep track of this kind of innovation that comes with our software out of the box we need to be clean because what we see is the reality is that we typically have upgrade cycles of 5 to seven years sometimes even more and just remember if you're now working on an ECC release that's as for started back in 2015 so we're talking maybe about software that was from an innovation cycle Innovative 10 years ago so all of the past 10 years of innovation coming from sap and we have tens of thousands developers working in the on technical things like in our platform in btp or in S4 on process innovation stuff this is all not in there so this is why I think it's important to say okay we want to be quick and the technical answer to this now we come back I'm a technical consultant is what we would say the clean Core concept or the idea what does it mean clean means that your core system you can see it a bit in the picture in our case we would say the S4 system is the core or your ECC system or maybe a combination of EC S4 whatever your system is the core it's clean if it's up todate documented unmodified consistent efficient and Cloud compliant and this is where all of this comes from from this idea that we have quite a lot of cloud software out there and whenever you use some Cloud software you are always on the newest version it's not like that I can say for example to the Amazon storefront and like but I want to have it look like 10 years ago or five years ago no if there's a new version It's just there sometimes you have something like beta adopters or early adopters or stuff like that but in general if WhatsApp for example decides to change its layout and to have the buttons in a different way it will be just there the important thing is or the good thing is if there's a new function it's automatically in there it's not possible in our let's say private world to run on systems or on apps that are 10 years old of course it's difficult to compare my personal Ms teams WhatsApp or whatever with the complexity of an S4 or ECC system but that's why we think of it for as for Hana Cloud Private Edition and on premises this is very much important because there you can even be unclean and as for Hana Cloud public edition system so the public Cloud version with maybe a smaller scope is clean per definition because there is no idea that you could say yeah I want to postpone my upgrade I do it I don't know five years from now no there you're always on the newest release every six month you get the newest version and there a lot of this kind of stability is built in and that's the idea so what does it mean then and let's dive a bit deeper into what is it now the clean Core and I admit being a part of this um definition team that we worked on last year I was part of authoring this slide and I have to admit being a technician the first sentence clean Core is a con the clean Core concept is a mindset and philosophy was a bit rough for me because like yeah mindset and philosophy it's not very precise but let me tell you what the idea behind this and then you will see why this is a perfect match to say it's a mindset and philosophy it's the idea to work with your Earp system in a way as clean as possible or you could say to be as Cloud as possible act with your system as if it would be in public Cloud maybe it's not maybe it will never be maybe it will only be like 20 years from now who knows but act like it is because with this mindset and this idea you always try to keep your core system clean and what do we mean by clean and this is like then what you can see here it should be stable and upgrade safe and if you do extensions and integration scenarios and if you look at your processes this should be all done in a transparent manner that you are then able to faster deploy new versions of software because that's basically the whole motivation to select we want to be more flexible more agile we want to be capable to consume new innovation then this is kind of the key how to get there at the same time we know that there might be technical debt and what do we mean by this technical debt is basically everything where you pay like a financial debt um where you kind of have to pay a price every extension that you create every custom code that you create is basically technical depbt because there is a risk that in future you need to pay for adopting it even if it's not at all coupled to sap some of us might remember the lock forj issue where everyone was thought like Ah that's a stable piece of software I can reuse it it was not and of course if you are somewhat directly woven into the core of an S4 system with their custom code then maybe the technical depth is higher so that is clean Core on The Meta level let's dive now into the details what does it mean in you could say reality and we have five dimensions on this and as we are not very typical we start with number two why because we have in the center three technical Dimensions extensibility data and integration what does it mean to be clean for extensibility we'll Deep dive in this in a second or deep dive in quotation marks because it will be just a few minutes but we will look deeper into this but generally the idea is to have every extension every custom code in a way that it's decoupled maybe physically by running in a separate runtime environment maybe only logically by running within your core by but by not harming the core itself so for example no modification or no access to sap objects that are may be changing in the next version so we will see that in a second quite a lot is about that sap offers now local and remote apis that will stay stable that's important but it's not only extensibility for me and my projects what I've seen rather quickly is that integration is key part of that as well if you do an integration with your system and some external system out there and it's important that you do this on reliable and at the same time flexible interfaces and reliable in a way that if you do an upgrade for example from one version of s for Han to the next one that you only choose integration scenarios or interfaces that are guaranteed stable from sap point of view so maybe do not create your own ones where you do not know what's all like a related object or referred a referenced object below that we not sure if is all of that fine but we offer as sap interfaces that are prom is to kept to be kept stable and if you do that all of your extensions only on release interfaces all of your integration on that your system is a lot cleaner and if you would start with green field and keep your system 100% to this the next upgrade will be a lot easier it will not go away it will not be like in public cloud and even in public Cloud you will do some testing I guess but it will be a lot easier and maybe upgrade Cycles will no longer be five seven years or more why do we have data in there basically it's you can only or there are two several aspects to this dimension of data for me two important things to this is first thinking in my extension and my custom code world I was with the customer having a massive S4 instance running already on S4 but having 30 terabyte of data and then just by the way while we were chatting around during a workshop they mentioned like yeah and 40 % of these 30 terabyte are custom tables are Z tables that was kind of impressive every backup you make every upgrade you make every time you work with your system you have 40% of this huge chunk of data that's custom data is it all needed in the core maybe maybe not so you could think of is it really clean to put all of the data for your extensions in the core if it's not really needed maybe it's not fortunately I clicked here so we go back to this one and then the second view on data for me is data needs to be clean as well from a Content point of view if you want to do cool things with AI for example it's all Based on data and data is like the new oil it's often stated and if your data if your master data if you're for example vendors customers or your business partners the your product Master data is not really clean then maybe lots of the stuff that you could do with AI where lots of data is analyzed and then some cool stuff is happening cannot be done so data has different aspects and if you think of this picture like ah my system needs to be clean in the real sense of the world you would say if you have too much unused data in there or incorrect data I wouldn't call your system clean on top of this we have and that's going through all of the other technical dimensions the process Dimension am I doing the right thing so can I keep competitiveness while reducing complexity it say here why if I have some this really differentiating function that is not an sap standard and I need this and this is really making the difference for me it's fine to have it but sometimes complexity is growing for you could say historic reasons because we always did it this way maybe there was not this functionality available back then so we buil something on our own or sometimes it's simple things that you start like you merge with another company and they have five different kinds of sales order types you have five and then you end up with 10 instead of looking at are we doing the right thing so it's important and it plays into all of the technical Dimensions that you ask do we really need this integration or extensibility scenario can't we do this in standard and the bottom line for all of this is operation because only if this idea and the governance we just talked about is put into place into your operation concept it's working to be precise if you have a nice governance around this is how extensibility should be working in future to have all new custom code in the clean way if there is no way to really control and steer this in operations if there is no automated check if it's just like yeah we to but okay if there is no governance process really lived and operated it's not worth the paper where it's on because then you will have no clear exemption process or exception process um if there is something where you need to work around some maybe missing API so it's really important to have that put in place in a stable way so what does it mean to all of these dimensions clean Core is relevant for the three one the three dimensions in the middle extensibility data and integration a strong governance is key and this should be put in place with operations and of course also for like doing the right things from a process point of view governance is also important but there it's maybe more difficult to put this into guidelines I will not go into every detail of every of these Dimensions but just to give you an idea what we do have is we have an overview for all of the dimensions and I will start with processes and then dive a bit deeper into the extensibility one before we then maybe get back to okay and how do we do this how do we put this into practical life in reality so what's the main aspect and this is how these slides always work we have focus on Blue business processes and then we have the main aspects what are the main aspects for processes when it comes to clean and it's kind of important to say this but there we come back to the mindset and the idea of clean Core this needs to be put in place in the organizational structure of your company so for example to create something like a solution standardization board as we call it an activate to say that we have a board where we decide is it really worth doing this change to standard or what we even analyze is this requirement solvable in standard at the same time it's also about to say we want to for example formulate in a process design the 2B processes to say like okay where do we want to go what's kind of differentiating for us where can we maybe leverage best practices processes and um that's kind of important to say like okay where do we want to go how do we map this business requirement to then our processes our systems and um I think that's a b part for me as technician I have to admit I'm always laate to this party when I come in and this is the next Dimension I'm the one for extensibility but there is a direct connect to what we can see in how do you do extensions in a clean Core way the first point already tells you avoid extensions whenever possible of course it's easy to say but I have to admit that's a process decision and maybe one of our extend Executives Stefan Peach well known in the user groups will be also on the S Sapphire next week on stage and a big expert on clean Core he's often referring to we're building golden balconies for our internal customers he was with a customer with a company and he was managing the sap system and I see this at companies as well that often that's a good thing that you serve your customer your business process owners and that you want to do this but sometimes you invest maybe too much into a part that's not differentiating enough so that's why we say avoid extensions when possible that's not a decision I can take as technician so let's assume this was checked there's nothing in standard it's needed it's differentiating we need it so what are the next steps first things first strong governance and you could say clean Core is governance governance governance what do we want to achieve we want to create decoupled extensions in a way that they would work in the cloud they do not need to work directly in the cloud they do not need to run in btp but we want to keep this in mind because if we work in a way that it would work in Cloud where we have the upgrades every six months the stability is built in how do we uh how do you do this by separating extensions from the core from the sap standard objects by exclusively and only using released apis this could be done locally so we have local apis like CDs views for reading Data Business object interfaces we call them to change data and the goal then is to say okay custom extension St not break and upgrade and vice versa upgrades St not break and extension so whenever you do an upgrade your extension will still be working and your upgrade process itself is not stopped through for example spow SP spdd and all of this stuff that's the ultimate goal important for this is that you can say okay it's not only happening on btp and that's why I mentioned it it's also possible on the stack we have an AB up a new language version where you can like switch the language version and then automatically you say okay this piece of this class for example is by Design upgrades stable even if there is an API missing there are mitigation Concepts around that so kind of a powerful concept and what is the other part of that it will not always happen that you can be 100% clean so maybe you're extending an existing alv application your sub GUI maybe you can do some things good but maybe you don't want to rebuild everything to Fury or something like that maybe sap is not offering the right interfaces that you need to do your stuff there's only a function module not released all of this this might happen but if this happens we come back to governance there should be a process in place that this happens only as an informed decision and then it's fine if you know like ah these are my exception cases and here I am fine because for me this is important even in Green Field scenarios that have a high focus on clean Core I was already involved in projects where we agreed on sorry um on creating extensions including a real technical modification if there's nothing better nothing else and this is differentiating for you if the alternative is you stop your business in a certain area or in a certain country then it's fine to build a modification but it needs to be an informed decision and not like yeah I did this exactly that way 10 years ago so we'll just continue to do so so there is a learning curve for the developers out there as mentioned this is like the first level of detail we also have for these main aspects you might REM them from the last slide also a detailed version of this you will get the slides afterwards I will not read through this but just to show you like okay how do you do this for example on governance um ideally you have something in place where you say like we have custom development only if there is nothing in standard that you have something like a fit to standard approach that you have a guidance that tells you want to have clean options over unclean ones for us for example would recommend the extension methodology it's linked in here that can give you and maybe I just show what it is like that you can see okay there is a general idea on this but on top of this we also have the um let's say real assets so for extensibility we have the extension methodology has several phases I won't go into every detail but just to give you an idea the key part for me is that you you create something like this a color coding to say like hey for example for we call it the extension task I want to create a new UI what's the right way to do so what's my clean option how do I prefer it and maybe I do some color coding and maybe this color coding has a clear meaning to say like if it's red then you need to get approval from a central design board or from the CIO or from the chief Project Lead or from some let's say governance Bo so you can see there is something out there it's not just like yeah CLE core is just a concept no but I also have to admit it's kind of a quite amount of work to look like where does it fit to my process I hope you already have some kind of governance process and depending on the size of your company if you have like maybe 20 developers you do not need to have a very strict governance in a sense of a very formal one but of course it's different I'm working now with a customer that has several thousand of developers working on sip systems then you cannot say like hey we just come together and we decide together on every stuff no then it needs to be more formal and how does this fit into your world at the same time it's important to say need to create awareness and you need to know that there are ways for example to request apis and to know how to build rappers and to learn all of the let's say new approaches just to give you a picture on this the extensibility portfolio for sahana and right now it's Cloud public Cloud I will have one click and then it's even on premises and private cloud is that we have options on the stack either more low codish or Pro codish and side by side and basically the important thing is to say if you have something that's closely coupled that really belongs on the stack there are clean options compared to what we had before the classic extensibility so creating a modification creating a report in sc38 where you directly update any satp table it's not considered clean but there are comparable we could say successor Technologies to do this R Place a big part in that on the Stak and that's important to understand at the same time it's the question of and it's mentioned in the um in the slide on how to do clean Core it's not only btp but at the same time it's totally making sense and I would even push one step further and say like whenever an extension can be built on btp this should be the default option why because then you separate by Design you're separated in a separate in your own runtime and if you only inter integrate through released apis then these will stay stable and basically you don't care if your S4 is upgraded or not of course you will test it but over time you might get some confidence and saying like Okay that's maybe we do not need to test every effort and every thing in there maybe we know that there's trust in general um part in there and maybe this increases our ability to upgrade maybe it's not just training what colleagues sometimes call the upgrade muscle in just doing it maybe you can also optimize in how to do this um one part of this to close down on this extensibility part with the last picture and I like this quite a lot is okay and what kind of assets do we have out there and I have put this here technically it wasn't me um I've taken this slide from colleagues of us I have to admit um but we have this nice overview that tells you like okay what is the typical decision criteria to go on an extension on stake or side by side and compared to the typical decision trees that you sometimes see I like this one because it's like you can have scenarios that have a true or a check mark on both ends and then it's always a decision on like what's weighing in more so is performance more critical or is it maybe scalability or is it the strong consistency that is needed and based on this it's difficult to have this in a generic way but this is like our approach to say okay a good collection of reasons when to go on St and when to go side by side as mentioned you will get the slides but just to give you an um short overview on what's out there I have linked the btp guidance framework in the end and I will just move that over the btp guidance framework is a key part in this kind of you could say helping you at least for extensibility and integration on how to get there and you can see here there is some extension architecture guide it is called and why am i showing this because in here we have different chapters and one is called extension use case patterns and if you look now closely you can see there are good reasons to do something on the Stak and there are good reasons to do something side by side with btp and these are basically the reasons with some cool links behind so a bit more than just a PowerPoint slide but that's the idea that we give you something at hand that you can use for yourself and maybe you have some other reasons to do something on the St or side by side maybe legal requirements in different countries or legal requirements based on your industry that's all good so you can enhance it but that you don't have to start from scratch so what does it mean clean Core for extensibility this is how we got into these details basically it is you can do it on the Stak with released apis that's like a new thing we do the new abup we often call it from a programming perspective abup cloud or you do it side by side with btp we have both options the idea of both is to logically decouple your code your custom extension from the core and that's then the trick to make things upgrade stable so let's come back to we started this with the overview the different dimensions that we still have I already mentioned these points for data so it's about data quality data volume as well maybe you can get rid of a massive amount of your data um that might help be helpful if you can just get rid of maybe 10% of your data because your data volume can be managed better and of course it's also about often put in here as well what do you do with um yeah personal Master data so we all know this um the data protection laws in the EU how do you cover this I admit there is no direct impact to the upgradeability for example of some of these points but if we think of the big picture you want to innovate and you want to be um yeah able to innovate for example data quality is rather important let's uh get to the final of this what is clean Core with the missing components integration and there I want to only point out a few things basically the concept is the same go for Integrations based on standard apis where do you find them there are different approaches of course but the easiest one is go for api. ap.com it's now called the business accelerator Hub and then you can check for example for sahana cloud Private Edition what kind of apis do we have maybe an O data Maybe I want to check here and then I can look in there these are apis that you can use I just mentioned for extensibility we also have this kind of apis you can use either these ones for side by-side extensibility or the local ones that are in here in Dev ER extensibility just to close this picture it's kind of connected and api. sap.com is the place where you can find this of course you can also find it in your system but let stick on the overview level here so in general the idea then is to go through these standard apis because if an API is listed in our um yeah official place for that and it's officially released then this will stay stable that's like the guarantee from sap and if you do not select from the tables themselves but if you go through this API even if sap changes something in the data model you do not have to take care of this sap will do because we promise this API is released we will not change it incompatibly another big option is you could go for an event driven design and if you want to have like some more complex scenarios maybe integration Suite is helping you and to be very clear traditional a I RFC and OK are classic extension options and classic integration options and we want to try to avoid them of course even in S4 public Cloud there are OCS that you can use even RFC or function modules that can be used but if you create something on your own something new this is maybe not the futur looking technology you want to dive in and you can see it here application interface framework aif is also the go-to tool when it comes to proper monitoring for operations this is for me a big point because you can basically put everything in there here if we when we put together this kind of definition we had kind of a lot the idea release management should make up the foundation for a clean Core what does it mean that you have a clear process on how to do release management but also something like a contractual maintenance period where you say like up front this is when I want to do the need next upgrade or the next maintenance period in general that you have this but the most important part for me is you need to keep this idea and Paradigm of clean Core in your endtoend concept for operations for example by having automated code checks before you release a transport request in extensibility or by having automated tests or by having set up a process that is doing the housekeeping for data or for integration scenarios or for extensibility every now and then that you say like every year or every second year I check on unused code if I can get rid of this because this is kind kind of cleaning your house house and really useful so operations is a big topic and also lots of the um governance part plays in here as well now coming back from the different dimensions and you've seen the different colors what where does this bring us and basically you could say typically on a big picture we have the starting position and this is a lot like a digital thing like one and zero good and bad maybe for you it's not completely like this but this is the the picture to show you okay this is the beginning State and the end State although there is never an end because typically we come to that clean Core will not simply happen overnight but the idea is that you come from a system where you maybe have a lot of EXT extensions on the stack even modifications unclean extensions maybe unused extensions a large amount of data and you can see and remember the colors that we just had complex processes and complex integration we come to and that's not a big surprise now but we come to this picture to say like okay we want to have the core S4 simplified ideally close to best practices processes if they match extensions and this little arrow or this little line here shows it's on the same stack it's in the same application server you could say but it's separated logically there is no modification or stuff like that and we have extensions side by side as well the same for data that wherever possible you go for data side by side and the same for integration that you have integration patterns to the outside world for example with the templates we have in our Cloud integration environment so this is like the target state but there are different ways to get there and now let's assume we go this path from Erp or ECC to S4 where and how can I then do this kind of transformation typically what we do here is we show this by being a bit Pudo scientific it's not real science but it should give you an idea of what could be your goal so if we look now we have the time on the xais here and on the y axis to the top we have the number of deviations from clean Core for example a modification a bad interface all of this collected as an imaginary number and if you look at this right now you go on if you would continue classically the complexity would grow and grow more and more this is what we see at um customer systems if you have 50,000 custom code objects right now and you just continue it's very likely that two years from now you maybe have 60,000 or 70,000 custom cord objects and at the same time you have the same amount um or comparatively grown the let's say deviation from clean Core so what are the different options you have you could go while you're moving to as for Han for Green Field approach for me as a technician that's the nicest possibility that we could go for why because you do not take over all of your old code you just throw it away basically you do a new fit to standard and every extension at least in theory in a new implementation Greenfield project is done a new what does it mean you need to keep the core clean how do you do this by good development guidelines by choosing good architectures by choosing the right extensibility and integration stack all of this you will not reach zero when it comes to technical depth but you will do a big jump at the same time the time to realize this will be quite long because Greenfield takes its time you need to consider all of the processes but this is like a huge step forward the other big scenario that we often see is Brownfield and there we have the same activities but split up in a different way and that's an important point for me even there you can say keep the core clean that's the area here where it's straight parallel to the xaxis why if you're in a Brownfield scenario if you are able to ensure that every new development is or new extension and every new integration scenario and all of this is done the clean Core way you will not at least not create new technical dep or only in a controlled way at the same time you can consider are there possibilities to make your core clean for example can I delete unused code prior to my S4 conversion totally making sense but still you need to delete code often people and projects are hesitant to do so or can I identify a piece of code of custom code for example that's especially painful every upgrade I know that's a huge pain maybe you can have this kind of Lighthouse effect that you say and this one we really rebuild it completely and that's really useful to do that but what you can see is while you directly have them the impact and the time to go live is not that long this will take you longer to get clean and maybe just to give you an idea if you now have 50,000 custom code objects that are not clean it will not be two years from now and everything will be clean it should be a smart way of doing so of course there are some things you can do in ECC but we have to be fair it's somewhat limited getting rid of unused code yes but these new extension scenarios I've just shown on stack extensibility is not there what does it mean for the transformation and for clean Core in general the clean Core road map can really differ between different companies or different let's say systems even within the same company if you have a Greenfield initiative here the focus on clean core to keep the core clean and to do everything the new way is totally helpful whereas here this is also important but you also need to look at what's my impact if I want look at new development how much new development do we have can I push for something like that if you have a mix form I've saw a question that's out there for what about blue field that really depends on how you set up your Bluefield because often Bluefield or selective data transition as it is called um is taking for example all of the custom code or only parts of it and then it really depends on are you more from a code perspective to a system conversion or to a new implementation scenario typically whenever you take something over the value is limited in really creating it from scratch so even Greenfield scenarios I've seen often have like a backo where you bring in some old existing extensions if it was an based system before so how do you bring this to life and keep the core clean is kind of the activity that you need in both and I just want to show you how this could look like and give you a short Outlook into what we have in there or also in standard material out there so in our activate methodology we have a governance board called solution standardization board I can show the link in a second but the idea is to have a central governance board where that ideally also owns extension guidelines integration guidelines and data guidelines and looking now at an extensibility request for me a good governance process could look like this of course it's really subject to the detailed situation if it's like this or a bit different ideally you have your guidelines based on our methodologies like the extension methodologies and a functional request and GAP comes in and then you decide is it bringing any value to us is it worth looking deeper into this if yes based on your guidelines you create an high level architecture that says will it be green or not and then you basically need to go back like okay is it still worth it if I need to do a lot of modifications do we still want to have it maybe maybe not at the same time after you have the architecture you also need that's why we go through this yellow box again guidelines or guides for implement good rules that give you like okay go for this kind of naming convention prefer R over classic development stuff like that if you do it on stti or what kind of engine should be used if you're side by side should it be with Java nodejs should it be Cloud Foundry they need something handson what's important for me and why I created this little picture here and wanted to share with you it's important to close the loop because once you do the implementation sometime later you will have the deployment the in ABA we would say you release the transport request ideally the bottom Dimension the operations part comes in as well and you have something set up like for example in ABAB it would be an automated code check with our AB up test cockpit and only if there are no issues known you allow this deployment technically you block the transport as long as there is a finding in in your upup test Cit and if there's something blocking there can be exceptions of course but this should be closing the loop that this is only happening if you're agreeing to what you decided in your governance board there is kind of a lot of um material out there I mentioned it already in the activate methodology and let me show this to you the activate methodology um this is the road map viewer for this for sub activate and if you look at to explore all road maps there's one it's called the activate methodology for rise with S400 Cloud Private Edition this is where this was kind of piloted and where the biggest part is in and you can see there are kind of a lot of things there's for example also the idea of setting up this um solution standardization but what I want to point out is there's even a quality gate at the end of each phase or yeah it's called phase end of discover end of prepare where you have all of your stuff done and you can see there's a quality gate and that's really useful because then you can say okay for a new implementation what are things you can consider and it even gives you a questionnaire to go through and you can see here for example for extensibility do you plan to create development guidelines following the clean Core principles and then you can answer yes or no or I don't know and it gives you a good direction on are we on the right path if you are in a rise project so in a private club project you can even send this Excel out to sap and you will receive a report that gives you like hints to the right direction so just to let you know this is not like just an idea there's kind of a lot of material out there but still coming back now okay what does it mean for you there are a few key points I want to f finish with and I want to like make sure to say okay this is the core of it one thing is we had mindset we had everything around journey is missing no it's not sorry for the harsh words it's not Bingo for marketing but it is clean Core is nothing that will happen overnight in Green Field be aware that this is a unique opportunity you will not start the next Green Field project 10 years from now or five years from now so I would say governance is very very important of utmost importancy for me because it's the possibility that by setting the rules in a tough way now have a real clean system otherwise you just have a new system that speaking in this little graph we had before is going up and up and up again and then it's like not really a cool thing at the same time maybe you're more in Brownfield is scenario for new developments still it's making sense to get in there but it's there also important for me to say okay for the get clean part plan your journey in an iterative way use Case by use case and please do not expect that a system where you maybe developed something in let's say the unclean way or the classic way for 10 years or even more it will not not happen overnight that this is automatically taken away not all of the complexity or the let's say interwoven custom code with sap standard will be resolved within weeks but it should be a journey that you plan on and where you have clear goals that you say like hey maybe the most painful parts we start with so what are the key takeaways then of this why do we need clean Core why do we need five Dimensions to this basically you could say clean Core is a bit like the prerequisite to follow this business change in an agile way it is a holistic picture and you could say it's like the collection of best practices in Erp not everything is new just because we now put it under the umbrella of clean Core it was always better to create to use an extension point from sap like a body instead of a modification we just now added maybe here and there are some new layers to that that we now have local apis stuff like that but these are for me the key takeaways to say okay okay clean Core is the concept and the strategy that's more than just extensibility and if you practice this consequently then this is a good starting point what's next then after this session and maybe you feel like okay where do I start I put in here some links to that could be a good starting point one is and I already mentioned it the guidance framework there's kind of a lot of things in there if you're a development guy like I am an extended person then maybe you're interested in the details I already mentioned we have local apis there is a nice white paper out there it's called extend saps for Hana in the cloud and on premise with upup based extension a bit lengthy maybe but this is like the one document you should read if you're a developer and you want to get into the new world of extensibility and clean Core of course there's a lot out there like learning Journeys Etc but this is a good starting point and thirdly the extension methodology I've shown it's also part of the um the center that I've just shown so it's all connected it's part of the guidance framework but it's really useful to maybe pimp up your own guidelines and with this this is kind of the good part where I can say okay maybe that's your homework now to get into this I'd like to thank you I'd like to open up the round for questions I've seen there is already question so maybe I will tackle this one at first and then we can check if there's some more question the first question is or the one that we have um of a I don't know colleague or an attendee in general I've seen some colleagues talking about one more element in this these five rules called software version a sixth Dimension yes it's sometimes still out there and you could argue quite a lot that we have besides of the five Dimensions as here also one called software version or software stack for me this is basically the result that we're all aiming for if you are good in these operational in operations integration data ex sensibility and business processes you will be on the newest release and that's like the sixth Dimension sometimes it's displayed separately because it's nice to measure if you want to measure clean Core it's the easiest part to measure like hey what version are you on and if you say then maybe 2023 as for Hana 2023 then it's like thumbs up that's a good sign because you did recently an upgrade so I think that's an um Fair Point content-wise there is no difference and I admit I would like love to see that we harmonize on this but you know we're 100,000 people so we're getting there um then we have a question sounds easy but what if the competitive Advantage is is in the customization that were created by the company's developers true point so ideally of course you have a pure standard system but this will not work because you want to have your competitive um advantage and for me this is like why we point out okay whenever possible avoid the extension but then follow this kind of governance and you can still say yes go for the extensions you can still do it technically I would say it's part of the in this picture the Sol standardization board to decide is it worth going into this Gap and doing something if there is nothing in standard if there is classic make or buy is there something out there or do we need to build something on our own but then it's important that you follow these guidelines to be as clean as possible there might be exceptions that you have a missing API that it needs to be kind of nasty somewhere or unclean fine but I would still say and that's why I would say also in in brown fit for example it's not making sense to revamp everything because you typically don't create upup code just for fun there's always a business reason behind that so keep it and then over the time improve it and see that you get better on that but yes it's still the idea that we have extension points and that you can extend the standard process wherever it's making sense for you I think with this question we hit the top of the hour all right thank you a lot Luca very interesting um um session please be informed that as usual you will get the um PowerPoint and you will get um um the recording after it if you close now the session Please be aware that you will get three questions where I would kindly ask you to um answer its um question around how do you like um how do you like the session and so on please do that that helps us to uh to improve ourself or in that case I don't think we need an improvement but um anyways um I would be very thankful if you could do that with that thank you all and uh we'll hear us next week and thank especially to you Lucas and have a rest of the day and and hear you latest next week goodbye thank you bye bye