OpenSAP c4c1 Week 3 Transcript

23
1 openSAP Experience SAP Cloud for Customer Week 3u1 Module 6 00:00:10 Hello and welcome again to module number 6. In this video I’d like to quickly explain you the architecture of SAP Cloud for Customer 00:00:21 and the underlying platform, which is, you know, the HANA Cloud Platform, and also how that all fits together, 00:00:27 and everything that you have to know about the architecture. But before we come to that point, let me quickly explain, 00:00:37 when we look at the overall architecture of the cloud strategy, where Cloud for Customer plays a role here in it. 00:00:47 And I can tell you that Cloud for Customer is really in the center of our cloud strategy. It is really based here and part of this Customer pillar, 00:00:58 which is part of our Line of Business applications. So, if you look at the entire portfolio SAP is offering, 00:01:04 then Cloud for Customer lays in this Customer pillar, customer-facing Customer pillar. And besides that there are solutions available especially for the people - the People pillar, 00:01:18 which is mostly about SuccessFactors solutions, Talent Management solutions, HR solutions in general. Then we also have the Finance pillar, which is about Cloud for Finance, 00:01:31 Cloud for Travel and Expense Management, these kinds of solutions. And then we also have the Supplier pillar, 00:01:39 which is all about Ariba as a supplier relationship management solution. And that one gets complemented with the Suite pillar, 00:01:48 which is mostly about S/4 HANA now within the Cloud Edition, about ByDesign for the SME market 00:01:56 and Business One on demand for the smaller enterprises. And also what we offer in addition, for partners especially, is the HANA Marketplace or the SAP Store, 00:02:07 so a marketplace where they can publish and also make available their extensions and sell them through this store. 00:02:19 The layer below, the platform below is the HANA Cloud Platform. This is the blue box that you see underneath of this picture. 00:02:30 And this is what I actually wanted now to explain a little bit. So, whats Cloud for Customer, in the red box, all about 00:02:37 and the platform underneath, the HANA Cloud platform, and how that all fits together. And if we just take this picture with the red box in mind and with the blue box in mind, 00:02:48 and transfer it to the next slide, we have built a solution blueprint for Cloud for Customer, 00:02:57 which we roll out, which we implement in each data center where we run Cloud for Customer. So you have to know that Cloud for Customer runs in 3 major data center locations at SAP. 00:03:10 There is the primary, the first one in Germany. That is in St. Leon-Rot. It is like 10 km away from Walldorf, our headquarters. 00:03:20 And that is the data center for everything based in Germany. The complete data center and all the infrastructure is owned by SAP. 00:03:28 It’s SAP’s property. So, that’s the first one. The second one is in Newton Square, in the United States, 00:03:36 where we have the complete data center with Cloud for Customer in it. And then a third and currently last one in Australia, Sydney,

description

Transcripts from SAP Cloud for Customer course from Open SAP

Transcript of OpenSAP c4c1 Week 3 Transcript

Page 1: OpenSAP c4c1 Week 3 Transcript

1

openSAP Experience SAP Cloud for Customer Week 3u1 Module 6

00:00:10 Hello and welcome again to module number 6. In this video I’d like to quickly explain you the architecture of SAP Cloud for Customer

00:00:21 and the underlying platform, which is, you know, the HANA Cloud Platform, and also how that all fits together,

00:00:27 and everything that you have to know about the architecture. But before we come to that point, let me quickly explain,

00:00:37 when we look at the overall architecture of the cloud strategy, where Cloud for Customer plays a role here in it.

00:00:47 And I can tell you that Cloud for Customer is really in the center of our cloud strategy. It is really based here and part of this Customer pillar,

00:00:58 which is part of our Line of Business applications. So, if you look at the entire portfolio SAP is offering,

00:01:04 then Cloud for Customer lays in this Customer pillar, customer-facing Customer pillar. And besides that there are solutions available especially for the people - the People pillar,

00:01:18 which is mostly about SuccessFactors solutions, Talent Management solutions, HR solutions in general. Then we also have the Finance pillar, which is about Cloud for Finance,

00:01:31 Cloud for Travel and Expense Management, these kinds of solutions. And then we also have the Supplier pillar,

00:01:39 which is all about Ariba as a supplier relationship management solution. And that one gets complemented with the Suite pillar,

00:01:48 which is mostly about S/4 HANA now within the Cloud Edition, about ByDesign for the SME market

00:01:56 and Business One on demand for the smaller enterprises. And also what we offer in addition, for partners especially, is the HANA Marketplace or the SAP Store,

00:02:07 so a marketplace where they can publish and also make available their extensions and sell them through this store.

00:02:19 The layer below, the platform below is the HANA Cloud Platform. This is the blue box that you see underneath of this picture.

00:02:30 And this is what I actually wanted now to explain a little bit. So, what’s Cloud for Customer, in the red box, all about

00:02:37 and the platform underneath, the HANA Cloud platform, and how that all fits together. And if we just take this picture with the red box in mind and with the blue box in mind,

00:02:48 and transfer it to the next slide, we have built a solution blueprint for Cloud for Customer,

00:02:57 which we roll out, which we implement in each data center where we run Cloud for Customer. So you have to know that Cloud for Customer runs in 3 major data center locations at SAP.

00:03:10 There is the primary, the first one in Germany. That is in St. Leon-Rot. It is like 10 km away from Walldorf, our headquarters.

00:03:20 And that is the data center for everything based in Germany. The complete data center and all the infrastructure is owned by SAP.

00:03:28 It’s SAP’s property. So, that’s the first one. The second one is in Newton Square, in the United States,

00:03:36 where we have the complete data center with Cloud for Customer in it. And then a third and currently last one in Australia, Sydney,

Page 2: OpenSAP c4c1 Week 3 Transcript

00:03:45 where we have a data center especially for the Australian market and also for the APJ market in general. There are a few other data centers that are in planning.

00:03:57 So, we plan to enhance this kind of footprint also in the future. But currently we have these 3 major locations.

00:04:07 And what I want to say is, whenever we really implement C4C in these data center locations, we have this blueprint in mind and we implement this blueprint.

00:04:15 And that is always an operating system based on SUSE Linux, then we have HANA as a database here,

00:04:22 and on top - again remember the red box - we have Cloud for Customer, which consists of sales, Cloud for Sales, Cloud for Service, Cloud for Social, Cloud for Marketing or Marketing function.

00:04:34 So that is how that fits, and how that is really put on to the platform. If we just take this picture now as a highly virtualized solution or application stack,

00:04:49 we now have implemented the tenants on top. Also take this, it is very important: We have a multi-tenancy architecture.

00:04:59 That means that we have about 60 to 88 tenants that we run on top of this virtualized stack, virtualized system in parallel.

00:05:09 And each tenant is one customer or represents a customer system. In general we distinguish between two types of tenants

00:05:20 and two types of C4C contracts that you have with SAP. In general there is the Standard Edition.

00:05:27 That means you have one tenant for your own, where you implement the solution and roll it out to your organization.

00:05:36 And that is all part of a Standard Edition, but you may also think about the so-called Private Edition for Cloud for Customer.

00:05:44 That would mean that you run on top of this virtualized system or application stack on your own without any other customers that are in fact sharing - in a Standard Edition case

00:06:00 really sharing the application platform and the database below. That’s all about multi-tenancy.

00:06:06 In this case customers like Nestlé, Nespresso, ASM, TUI, they all decided to go with the Private Edition

00:06:17 in order to get the full power of the system for their own purpose. Then we can also offer that one.

00:06:25 So that is how the architecture is basically structured and how it is really built. Take this as an illustrative picture.

00:06:33 It’s rather for your understanding to see really behind the scenes and to understand what’s really behind. Second is the role of the HANA Cloud Platform.

00:06:46 Also HANA Cloud Platform is not only about database. For sure we run on HANA, only on HANA.

00:06:53 So there is no other database in our application stack at all. It’s only HANA: One HANA in one system, multi-tenancy ready.

00:07:02 But HANA Cloud Platform is more than just a database. It’s also a platform, how the name is also telling you.

00:07:10 And in the HANA Cloud Platform you find, for instance, technical components like the HANA Cloud Portal. You find the HANA Cloud Integration, also as an entire middleware component.

00:07:21 And if that’s not enough and you want to develop on top of this HCP, you might use a dedicated Java environment based on HANA Cloud Platform

00:07:33 or an environment to implement HANA XS applications. So, the platform comes not only with the database,

00:07:39 but also with a lot of additional application or platform components. And so what happened is:

Page 3: OpenSAP c4c1 Week 3 Transcript

00:07:47 Cloud for Customer as the application on the one side and the technical platform on the other side, we combined both to offer additional scenarios like this one that you see here.

00:08:00 We offer now also a Support Portal. That means customers can allow their customers to access this extranet portal, if you like.

00:08:09 They can log into this portal and then they can, for instance, consume self-services or create an incident whenever a machine has an error.

00:08:21 Or they can really create tickets in this Support Portal, send it over to their provider, their vendor, and they receive this ticket in Cloud for Service and can process this ticket further.

00:08:35 There we have a ping-pong. So, that’s all part of the standard solution. A second example is the HCI. We will also come to that in the integration part.

00:08:45 What’s this all about? This is our completely newly developed integration component in HCP, especially important whenever you want to integrate with your on-premise systems,

00:08:59 SAP ERP, SAP CRM or other systems, and you do not necessarily have a PI system in place, PI - Process Integration system,

00:09:08 and then you might use that one. There are a lot of other scenarios in addition.

00:09:14 And I will also come to one example where we decided to develop something on top of the HANA Cloud Platform and on top of C4C,

00:09:24 and even brought that scenario and that solution together as an end-to-end solution. And we will also come to that in a moment.

00:09:31 So, that is the overall platform story for Cloud for Customer. And that is just for your understanding what we have here and how all that fits together.

00:09:46 Okay, so to sum it up: You will see in the adaptation and the development part of the C4C Experience workshop a lot of tools

00:09:57 how you can enhance Cloud for Customer, develop additional things on top. We all call that in-app extensions.

00:10:07 So, consider Cloud for Customer as the application and you can really move up this application tower. I often call it application tower, C4C tower.

00:10:17 So you move it up, you use the key user tools to fine-tune your application, to define extension fields and all that.

00:10:26 Whenever that’s not possible, you move one additional floor up and then you have the SDK. But you always stay in the red box, in this Cloud for Customer domain.

00:10:38 And whatever you do here, we call in-app extension. So that happens in this Cloud for Customer app.

00:10:45 Whenever that’s not sufficient or whenever customers, you as partners bring something from the outside world onto the table,

00:10:56 for instance existing Java applications that you or that your customers once implemented and they want to reuse them, then you can bring that and then you can migrate that onto the HANA Cloud Platform.

00:11:11 In the end you run it as an out-app extension. It’s not happening in C4C, but it happens and it runs on the HANA Cloud Platform. It runs there.

00:11:21 And it can also nicely integrate end to end to your solution and offer an end-to-end scenario for end users.

00:11:30 But we differentiate between in-app extensions and out-app extensions. And on the following slide, I’d like to quickly show a scenario where we combine both.

00:11:44 That’s all about an internal show case; so we implemented this internal show case SAP-internally. This is nothing that we offer as a standard solution,

00:11:52 but it nicely illustrates when to move up the C4C tower in order to fine-tune and to extend the system for, for instance, the Sales Representatives,

00:12:07 and when to go out and when to develop something completely from scratch on HCP side, and then maybe also combine both together.

00:12:15 And you will see that in a second how this scenario looks like. The scenario is all about Contact Data Maintenance. This is the scenario that we have chosen.

Page 4: OpenSAP c4c1 Week 3 Transcript

00:12:25 And this is something that you will see now in these screencaps. So, take the example: I am a Sales Rep, I log in to my Cloud for Customer system.

00:12:37 Everything is standard; I move and navigate to the account and contact management. I find my customer, which is Intelligent Systems,

00:12:46 and I find the corresponding contact people, contact persons, for instance Katy Jacobs. She belongs to Intelligent Systems, and she is a contact person in C4C.

00:12:56 That’s all standard, but you may also recognize on this slide or video that we extended this contact with two additional fields.

00:13:08 One is the external change identity, so we wanted to track an ID from an external user who was lastly the latest changing this contact object.

00:13:23 And also we wanted to have a timestamp when this external change was done the last time. But that are just two additional fields; everything is still standard here.

00:13:34 That is how Cloud for Sales looks like in this scenario. Now, let’s go out and now let’s go to the customer portal

00:13:42 where Katy Jacobs has as separate access to. She logs into this customer portal,

00:13:49 she sees a lot of self-services that she can directly consume online. She is logged in, okay, then she sees her customer,

00:13:57 her company that she belongs to, which is Intelligent Systems, and she also sees her contact details.

00:14:04 She can navigate into her contact details, and the scenario goes like this: She wants to now change her contact information.

00:14:12 So she changes, for instance, the telephone number and does this here on this screen, and also adds a short note and then sends this request to Cloud for Customer,

00:14:30 and also now sees in this external application that the change was requested. So, she now requested a change of her standard contact data, and that now flows.

00:14:43 Where does it flow to? It flows into Cloud for Customer. And in Cloud for Customer what we did is, we implemented an additional workflow.

00:14:53 So Mike Summers as the responsible Sales Rep for Intelligent Systems, he logs in, and he sees that this request comes in.

00:15:03 He accesses that and enters this workflow item. And this is exactly the screen that is not part of the standard solution.

00:15:14 That is something that we implemented on top. But he now takes that, that workflow item,

00:15:19 and he now sees, okay, which data was changed by Katy, which is still unchanged. And then Mike Summers can here nicely approve these changes in contact data,

00:15:35 or he can decline that. And that’s all what we developed in the C4C tower with the SDK,

00:15:44 for instance, this little screen and this little workflow scenario here. Now he adds an additional comment:

00:15:53 Yes Katy, everything is okay, thank you for changing and updating your contact information. He approves that and now, of course, the standard contact object of Katy Jacobs is updated.

00:16:03 So the contact change was a kind of a pre-process. Then it comes to the standard process, the contact record, and this is now also updated.

00:16:15 He sees that, and for sure, if you would have connected this scenario with your on-premise systems, like CRM on prem, ERP on prem, this data would immediately then, after approval, flow down to the on-prem world.

00:16:30 So that is then the next step. But what we wanted to explain with this scenario very nicely is the following:

00:16:40 Whenever you have scenarios that really fit into the Cloud for Customer category, Cloud for Customer area,

00:16:51 then think about moving up the C4C tower, think about key user tools. What can you achieve with key user tools?

Page 5: OpenSAP c4c1 Week 3 Transcript

00:16:58 A lot of possibilities that you have here. And whenever that is not sufficient, think about the SDK.

00:17:05 Whatever you can achieve with the SDK on top, and then the nice thing is you stay in the C4C domain, in the C4C tower.

00:17:14 But scenarios that we have seen here, like this customer portal where customers can log in and access their data,

00:17:22 this is something that happens outside of C4C. That is something that can be nicely built, like we have shown in this example here,

00:17:30 on the HANA Cloud Platform, based on Java in this example. And the positive, the nice thing is, from an architectural point of view,

00:17:38 as a customer or partner you can also reuse the so-called SAP UI5 library, technically, in order to develop, in order to generate the completely same user experience outside,

00:17:52 so out-app extensions, outside of C4C, as in C4C, because SAP has one UI5 library implemented and available

00:18:00 for our own applications plus also for anything outside, where partners and customers can use and can develop their scenarios outside.

00:18:09 And this scenario shows us how that nicely can be integrated via a web service. In this scenario we used as SOAP web service,

00:18:19 but you could also very nicely use an OData service or any other technical web service to combine both and to integrate both.

00:18:31 With that, I’d really wanted to show you how to develop something on top and how the overall architecture looks like, the nature of Cloud for Customer, if you want,

00:18:42 and also how you can develop on top and also, in the end, combine both to provide an end-to-end solution to your users.

00:18:51 That was all about the module number 6 from an architecture or a platform point of view. Thank you very much for the moment,

00:19:00 and also stay tuned for the rest of the sessions and for the rest of the recording. Thank you very much.

Page 6: OpenSAP c4c1 Week 3 Transcript

Week 3 Modul 6.2

00:00:09 Hello and welcome to module number 6. In this module I’d like to describe the flexibility of SAP Cloud for Customer and the key user tools.

00:00:19 So in general, SAP has three major groups in mind when it comes to flexibility in the solution. So first of all, there are the end users, end users for whom we offer a lot of flexibility

00:00:35 in terms of personalization tools, so personalizing the solution. Second is the key user group that has access to key user tools.

00:00:47 And that is all about adapting the solution without any coding, without any IT experience and IT knowledge. And the third group is all about the developers to enhance the solution, to use our development tools

00:01:03 and to really put something on top, an add-on or really a development project. All these three major groups, they have one thing in common:

00:01:14 Technically, they work on one single and the same data model. That means if you develop something on top with the development studio, you as a key user

00:01:27 are able to extend it even further and to define it, to adapt even these extensions. The same applies for the end user, who is able to personalize even these solutions.

00:01:40 And the same way in the other direction: If you have something that was done by the key users - for instance, they extended the account object with extension fields -

00:01:55 the developers can just import these extension fields and develop then further with the cloud studio. So these three major groups we have in mind.

00:02:06 And whenever we talk about flexibility in general, we typically see this picture. We call it flexibility spectrum.

00:02:15 That again means, there is Cloud for Customer in the center of this picture, which is the solution, the application, and this is completely protected.

00:02:23 So here we have the protected core. Nobody is really allowed to touch the core because you know we are in the cloud,

00:02:30 and in the cloud this is really closed. But we have plenty of tools available, of key user tools,

00:02:39 to configure this application core and also to adapt it and to fine-tune it in your project. First of all, we have the group again of the key users.

00:02:52 They have access to these key user tools. And the second half of the spectrum is then all about rather the technical projects,

00:03:01 the integration projects, and the development projects. But all happens on one solution platform, application platform,

00:03:11 and all is really surrounding the application core, the Cloud for Customer core. In general, I’d like to guide you now through the demos here of the key user tools.

00:03:26 First of all, I want to start with the configuration part of Cloud for Customer. In this part, let us quickly have a look at the business configuration first

00:03:36 and also then at the business roles and access management. And the last point will be the entire access management of Cloud for Customer.

00:03:48 how you get access to the data and how you could also restrict access to this data. So first of all, here: All of our projects, they start in the Business Configuration.

00:03:59 That is the central place where you can really configure the scope of the solution and also do the implementation project.

00:04:06 So what you see here is the scoping of Cloud for Customer. So first of all, go into this, we call it, business adaptation catalog.

00:04:16 So this is the scoping of Cloud for Customer where you activate your functional areas of the solution. What is really necessary?

00:04:25 What is really intended to get implemented in the first phase of the project? You could later on extend this catalog in the later stages of your implementation project.

Page 7: OpenSAP c4c1 Week 3 Transcript

00:04:38 And here in this catalog you also see the integration with SAP ERP and all the other systems. And you can simply activate this integration.

00:04:49 Even along the releases that we are introducing, so one release per quarter, even this catalog gets extended,

00:04:56 and you might find additional functionality in this catalog later on in the releases. Once you have done this, you click Next and you get to a questionnaire

00:05:09 which allows you now to answer questions based on the selection that you have done in the scoping.

00:05:16 And here we typically say these are business-related questions, business questions, not technical questions - business questions that you answer,

00:05:25 that you discuss and you agree upon together with your business people. The result of this exercise is really an agreed scope of what should be in Cloud for Customer

00:05:38 and what should be out, and what you keep out. And then based on this configuration, you go into the activity list here,

00:05:47 and the system generates you everything like these activities that you really have to process, have to execute, have to do based on in your project.

00:06:01 So the system really guides you through the implementation, and this is the place where you can configure the solution.

00:06:08 You will never see a screen like a coding editor, an XML editor where you have to change the code or something.

00:06:19 We go until this level of granularity like here, this configuration table where you can configure easily - even without a technical background – the system and the solution.

00:06:34 So this is how it works with the configuration. Once you have done this, we come to the second point, which is always very important.

00:06:42 I typically say that this is like the backbone of the Cloud for Customer solution. This is the organizational model.

00:06:50 Based on this organizational model that you model in C4C, you derive all the workflows, the approval steps.

00:07:00 And of course also the reporting is very important because that is always referring back to the org model that you have in place.

00:07:08 So here you find the organizational model. That could be one company in it with all the different teams and subdivisions

00:07:16 or that could be multiple companies that you define in one Cloud for Customer system. And each of these organizational nodes has, of course, a certain meaning.

00:07:28 It could be a sales team, could be a service team, a service organization, it could be both, and this is the place where you of course define it once.

00:07:39 And the last thing is here, of course, you also have to define and assign your users to these organizational nodes in the organizational model.

00:07:51 So once you have done this, you typically come to the business roles and you define the business roles here.

00:08:01 So there we have a central place in C4C to define roles and user access rights. And that could be even multiple key users that you define.

00:08:13 But here in general you go into the business roles management and you select your business role here.

00:08:19 And each business role, first of all, starts with the assignment of the work centers. There, again, the major granularity part of C4C when you assign functionality is the work center.

00:08:33 And here, this is the list of the work centers that you first assign to the business roles. And work centers, they can consist of one or multiple work center views.

00:08:43 So these are the sub-navigation entries, if you like, of the work centers, and you once have to design them to your role.

00:08:52 And based on this assignment, you get a lot of so-called business objects assigned because behind each and every work center, like customer, like opportunity, like activities,

Page 8: OpenSAP c4c1 Week 3 Transcript

00:09:04 there are always business objects behind, that you can then, again in the next step here, restrict. So there is always a restriction context for each business object,

00:09:16 and you can define, hey, should I restrict the read access for these particular objects or should I also restrict the write access, or both. And you can do this.

00:09:27 In this case I have done this for the account, as an example. And then you go down and you can select the restriction rules.

00:09:35 Here we deliver predefined restriction rules so that could be: The manager of a sales team should have access to all accounts his team is really working on.

00:09:47 So that could be one of these predefined rules, but you could also use rule 99, in this case. And then again, the organizational model comes back into play here.

00:09:58 So there you can then design, okay, I want to restrict account access, but let me check on my organizational model,

00:10:07 and I might restrict it for one single team only or one single division. There again the org model comes into play.

00:10:20 There you can just very detailed select a very fine granular organizational node again in order to provide access or deny access.

00:10:35 In addition, what you also see below, is the territory management. And this is something I know that other vendors cannot fulfill that easily here.

00:10:44 Because we now can lay these two models together, the organizational model and the territory model. We can even combine both in this access restriction for this particular business role.

00:10:59 That is possible. When you have done this little exercise of access restrictions and org-specific access restrictions,

00:11:10 you might also want to further restrict access on a field level. And this is also possible.

00:11:18 So therefore you could easily just take out the standard fields, restrict them, make them read-only, hide them or so - so you can nicely define this here.

00:11:30 So in this case I have done it for the account. You can just then take this field and define these access restrictions behind.

00:11:41 And this does not only apply for the standard fields, we will see that in the following video, but also for extension fields that you have defined.

00:11:50 That could be an extension field which is only relevant for a certain business division or for a certain whatever. And then you could also pick this field out of the list and restrict it based, again,

00:12:04 on the business role that you are in. And what also our customers like very much

00:12:10 is to easily restrict the business actions behind each and every object. So in this case, we have shown that for the account.

00:12:21 So you can also go in here, pick the Business Action like Export to Excel. Some of our customers want to prevent this for certain business roles.

00:12:32 So you can easily pick this out of this list and just say, okay, it’s deactivated. And then if you go into the system with exactly this business role,

00:12:44 you would see the action, but it is grey. So it is not clickable, it is not active.

00:12:53 So that’s what you can really do with the business roles. And as I said at the beginning, you could even think about, if it comes to key users,

00:13:02 so there could be even a two-layered approach of key users. One is the team that centrally owns the Cloud for Customer system in the headquarters, for instance,

00:13:12 and then you could even tell the system, hey, there is another key user group. They have access to these tools.

00:13:19 They can change even these access rights and so on, but they have a limited number of functionalities that they can also conduct in the region.

00:13:33 We even support these central and decentral key user access rights. That is also possible based on these business roles.

Page 9: OpenSAP c4c1 Week 3 Transcript

00:13:44 Whenever it comes now to the end users, this is rather simple. The end users get assigned these business roles.

00:13:53 They get these roles assigned that could be one business role assigned to the business user in C4C or multiple roles.

00:14:01 That is then the last step really to understand, I think, the picture of access restriction in C4C, that you have a business user and you assign the roles to the business user.

00:14:12 Okay. That’s it what I wanted to share and to explain in the first part of this Key User presentation. Thank you very much for watching,

00:14:23 and also please check out the second and the third part for these key user tools. Thanks you very much.

Page 10: OpenSAP c4c1 Week 3 Transcript

Week 3 Modul 6.3

00:00:09 Hello and welcome again to the Flexiblity session of SAP Cloud for Customer. In this session I’d like to put a focus on the adaptability, so on the adaption tools of C4C.

00:00:21 First of all, we will see how you can easily change the user interface by putting an extension field in it.

00:00:29 And secondly, we will see how we can easily work with the page layouts, so we call it dynamic page layouts where you can really get a dynamic user interaction in it.

00:00:40 We will also see what’s really behind this one. And then we will also see how you could use the business rules

00:00:48 and the workflow rules in order to get also some automation in C4C. And last, not least I’d like to come to the language adaptation capability that we have in C4C,

00:01:01 a functionality that allows you to either define new language versions of C4C or replace an existing language version

00:01:12 in a way that you replace some words, some terminology. So, let us start with extending the solution with additional fields.

00:01:24 Whenever you go into the system and you are a key user, you have this Adapt menu at the right side here.

00:01:33 And you can really go into it and choose Adapt master layout. And then you just navigate to the place that you want to adapt, that you want to change.

00:01:43 And you will also see, whenever you go with the mouse over a certain part of the screen, you will get these hover menus.

00:01:53 And this is what we do here. We go to Additional Fields. So we add an additional field here in this account, for instance.

00:01:59 And then you can choose from a list of different field types. So that could be a list actually, it could be a text field, could be a rich text field.

00:02:11 So first of all, you select the type of the extension field. In this case I chose the list and just define some entries for this list.

00:02:25 Everything that you do, please be aware that this will be release-independent. So there is no fear or so that these extension fields will impact you standard,

00:02:37 your core solution, your release dependence. No, they are always release-independent.

00:02:43 So you have defined that field, you again just pick it from the list here in order to make it visible on the screen, and then you see it on the screen.

00:02:53 The question is also: Hey, this field that I now see here – is this field also available on my iPad when I am on the way to a customer meeting

00:03:02 and I also want to see this additional information, or on the smartphones? The answer is: Yes. That is available on all the other devices as well.

00:03:12 If you click into the properties of this extension field, you find a lot more of preferences that you can define here.

00:03:20 So you can, first of all, translate the field into all different languages that you have in your system. You can then also bring it onto the forms, the print forms,

00:03:30 whenever you print out some information here. You can also use it in the reporting.

00:03:39 So therefore you would, first of all, activate this field in the data source, and the data source again would make this field available for the reports, actually.

00:03:49 Of course, you might have seen this little icon on the left side to search Cloud for Customer, the system. So this is our enterprise search, you could also bring this field into the search as well.

00:04:02 What I personally like very much are the services because here this is our infrastructure

00:04:10 when it comes to integrating with the backend system. So the nice thing is you can really bring these fields

00:04:16 also with one additional mouse click to the corresponding ERP services, even outbound services or to the rather generic A2X service that we offer here.

Page 11: OpenSAP c4c1 Week 3 Transcript

00:04:27 So it’s, as I said, you just pick the services, like here, Business Partner Replication Inbound, activate it or just press on plus, and the same for the Outbound Replication.

00:04:39 Then you have these fields really in the services, in the messages. And the same applies for our ODATA SERVICES.

00:04:49 So here we also offer an OData C4C service. So the same here: You can just bring it into the interfaces as well.

00:04:57 So that’s it how you can easily really extend a field in the account, but could also be other objects with key user tools,

00:05:07 without any coding, you can just do it here. Okay, so second one will be about the page layout.

00:05:14 This is also something very, very powerful what we have here. And so how the scenario goes: It is also a very simple scenario. It‘s about a parking field.

00:05:28 So the example is: Does a customer have a certain parking lot for your Sales Rep or is there a parking place, parking garage available?

00:05:40 And this is something that you can also maintain, enter into the account master based on a selection Parking available?

00:05:51 Yes or No, you get this additional field available. And this is something that is again a very simple example,

00:05:59 but it is very powerful behind the scenes because once you select parking is available,

00:06:05 then the complete screen gets, again, readjusted dynamically, and this additional field appears.

00:06:15 Not only this field - it could be the complete screen layout, it could be additional tabs that might come into the screen or tabs that might disappear.

00:06:25 So this is about page layout. And here in this case, we defined this page layout, again, for the account.

00:06:36 And if you have defined that one, you must also assign this page layout. There must be a rule when should a certain page layout really get used and when not.

00:06:49 And this is what you can do here. You assign this page layout, you make that dependent

00:06:53 based on your switch Parking available, yes or no. So you can choose from a list of certain extension fields or standard fields

00:07:06 what should be the switch for this page layout. That could be these field dependencies.

00:07:13 And then on the right side, you see horizontally, Yes and No, the selection of this extension field, and vertically you see the different business roles.

00:07:23 Because you could also make that switch and that dynamic user interface available only for one or for few roles, not for all roles.

00:07:32 So that is something you would define here centrally. So that is how the dynamic page layouts and the switch really work –

00:07:44 very simple and very straight-forward. Another example here is, as I said,

00:07:51 how you would really work with the business rules. And also here a very simple example to make that a bit more tangible and to illustrate that:

00:07:59 Just take the example that you create a new customer which is a very, very important customer

00:08:05 because you flag it from the very first beginning as your new A-Account. But what you miss, what you totally leave out is the contact details of this A-Account.

00:08:18 Hey, why are you missing that? And this is what the rules will detect automatically.

00:08:23 The rules will do the following: They will check which fields you have really filled out

00:08:29 and they will also recognize you have filled out a new A-Account, you created a new A-Account, but contact information is missing.

00:08:38 The first rule will find that out and the second rule will inform you with this notification: Please maintain contact information for your newly created customer.

00:08:49 That is the use case, and behind the scene we have two business rules. They really check and really process this logic behind the scenes.

Page 12: OpenSAP c4c1 Week 3 Transcript

00:09:03 So in this case, the Sales Rep now really defines again the contact information, maintains this contact information, and that is the use case.

00:09:14 Behind the scenes, as I said: How do these business rules really work. And this is something that you see now.

00:09:23 As a key user you can go into the ADMINISTRATOR work center. You navigate down into the business rules and workflow rules.

00:09:32 And here you see the business rules. So first of all, you define a new rule.

00:09:39 This rule, you have to define what is the object for which this rule should be executed. So for sure you select the account and you tell the rule:

00:09:49 Please execute on creation, please run on creation only. That is the first rule. And this rule should be dependent on the ABC classification and also another dependency

00:10:04 whenever the contact permission is not set to disallowed because you also want to include this account in your marketing campaigns and so on.

00:10:13 And then you tell the rule then it should really update this extension, this field to maintain contact permission.

00:10:23 And then the second rule comes into play. This second rule runs on each update. So on each and every update of the account the second rule gets executed.

00:10:36 And this second rule then recognizes the contact permission in set to Check Permission. So the second rule will run and the second rule will then inform the responsible Sales Representative with a notification, with a task:

00:10:53 Please do something, please check and please maintain this contact data for your account here. So this is how it really works in the end and how it can be really defined and configured in the system.

00:11:08 So a very simple example again, but really powerful behind the scenes when it comes to process automation and validation rules of certain objects here.

00:11:19 Last, not least I’d also like to explain the concept of the language adaptation, which is also much appreciated by many customers

00:11:28 and also our partners in the regions, really to fine-tune the system, to replace terminology, to replace the words, the text labels of C4C,

00:11:40 or to define completely new languages. And in this case I just want to quickly explain the concept.

00:11:47 So you go to the LANGUAGE ADAPTATION, you tell the system I want to create a new language or a vertical translation, as we call it.

00:11:55 That is then you take an existing one and you just replace the vocabulary. And then you get into the tool here and, first of all,

00:12:05 have to select the solution area where you want to do a language adaptation. In our case, I select the account management, so I pick just this area.

00:12:17 And then I tell the system which parts should be really translated – should it be all texts, should it be even the texts for the reporting,

00:12:26 should it be the error messages that are also, you know, fully localized, fully translatable. So you choose the certain parts here,

00:12:37 and then you just tell the system now get the text collection, create the text collection. And the result of that is really the system is then processing everything,

00:12:47 and you get like a, I typically say you get a vocabulary book where you have on the left side the source of the language

00:12:56 and on the right side the target. And with that you could easily export that entire vocabulary book

00:13:04 and put your translations behind and then again import this list again into the language adaptation tool.

00:13:14 So that is how it’s really working, and, believe me, I have seen many, many nice customer examples,

00:13:20 on the one side in the sales, in the presales, when we adapted a lot of functional areas and brought the vocabulary, the terminology into the customer’s situation,

Page 13: OpenSAP c4c1 Week 3 Transcript

00:13:33 the customer meeting, but also real customer cases, because many customers want to change and want to also stay in their terminology.

00:13:43 And that’s now possible with the language adaptation. With that again, thank you very much for watching.

00:13:49 That was the adaptation part of the Flexibility session. So thank you very much and also stay tuned and also watch and check out the additional parts.

Page 14: OpenSAP c4c1 Week 3 Transcript

Week 3 Modul 6.4

00:00:10 Hello and welcome again to the Key User Tool session here. In this short video I’d like to show you the third block of the demos,

00:00:19 a block which is mostly about mashups. So I’d like to show you our mashup capabilities here, based on an example,

00:00:27 and also how you can easily use the open APIs C4Cs is offering here in order to set up a lean, simple integration use case here.

00:00:40 So let’s us start with the mashups. In this little example I have a website. I use the website here, which is Hotel.de.

00:00:49 That is a website that is available in the public internet. But also that could be a website which is in the customer’s landscape.

00:00:57 It could be an Intranet application. It could be something related to SAP on-prem. It could be something portal-related. But it could also be a complete third-party application.

00:01:07 In this case the use case goes like this: We have a Hotel.de webpage where you can search hotels based on the city that you insert.

00:01:17 And you also recognize here the link of this URL, the link of this webpage that we now just copy and use it in Cloud for Customer in our HTML Mashup.

00:01:31 Therefore in C4C you go into the Mashup Authoring environment. And here you can tell the system: I want to create a new HTML Mashup.

00:01:41 First of all you have to decide which type of mashups you want to create. Should it be a mashup in the category Location & Travel or Business Locator?

00:01:50 So you choose the correct type of the mashup and also the corresponding port binding of the C4C screens.

00:02:00 And down there you see the field where you can now paste the URL of this website and define export parameters.

00:02:13 Then you have the list of these parameters, and that is nice: So in this list we have the so-called HTTP get and HTTP post parameters

00:02:21 that you can pass over to this external page. And for sure we want to bring this into a dynamic scenario,

00:02:32 so we just assign the AdressCity to the city field here. So that’s it already. This is how you would generate, how you would create a new mashup here.

00:02:46 And then the last step is - could be either as an end user you go to the account, for instance, or as a key user you can also go in there and define it as a key user, the adaptation.

00:03:00 You therefore just select the Hotel Mashup that we have just defined. You select it and you bring it on to the user interface.

00:03:12 And for sure if you again load this screen and reload the account, the city data, the city information, then flows from the standard account on the left side,

00:03:26 that you see in the header section of the account, of course down to the mashup, to this external web application.

00:03:33 And then again, as we have assigned that dynamically, that is also dynamic. You see all these accounts; that could be accounts here in New York,

00:03:43 but also in other cities - always depending on the customer that you are in. And again the question is:

00:03:50 Hey, does this adaptation, does this change also get reflected and get presented on my mobile devises that I have with me?

00:03:58 The answer is again: Yes, definitely, because even your mobile devices, the applications on the mobile devices, they are based on our responsive user interface design.

00:04:08 And even this design will present these mashups and your users will get them even on the mobile devices.

00:04:18 Okay. That was the first part, and also take this and show it to your customers. This is always something that is very positively received by customers.

Page 15: OpenSAP c4c1 Week 3 Transcript

00:04:29 The second part is a rather technical one, but also very, very important. You have to know that Cloud for Customer comes with a bundle of predefined web services.

00:04:41 So here in the help.sap.com page you find the documentation about these open APIs, this web service bundle. It is here the web services for C4C, and that’s for sure on the one hand side the SOAP web service,

00:04:58 but on the other side we also have OData services available. In this case I’d like to show you the SOAP web services.

00:05:07 You find the complete documentation of these services. You find these harmonized interfaces here in the list.

00:05:14 More than hundreds of services are available here in the standard solution. And if you are interested in one service, you can just click on it and go into the details.

00:05:24 You find the web services message, the message that you would typically use whenever you want to create a new account in this case or you want to change an account.

00:05:38 So all the sample code, the code samples are available here in this help portal, and you can just use it and check it out.

00:05:50 Well, once you have decided on this web service, you again go into your system because you want to access your system and invoke the web service in your system.

00:06:00 So therefore you log in, again, as a key user, you go to the Administrator work center and here you find the so-called Service Explorer.

00:06:07 That is available in each tenant. And this one tells you which services are really available in your system.

00:06:17 Of course you would not find a ticket service if you have not activated the ticketing processes. So you find the correct services that are available in your system and, again,

00:06:27 the links to the documentation and to everything. And here it is, in this case, you then pick the correct service like Manage customer.

00:06:36 That is a service that allows you to create, to change the accounts. And you would also take the Query customer or the Find customer service

00:06:46 in order to query for customers and to search for customers. Okay, you download these services and then you can invoke the service.

00:07:00 In our case I’d like to describe that for Intelligent Systems. That is our demo customer here. So and here we now will see an example of how you would invoke this web service

00:07:15 in order to change the Intelligent Systems account. In this case you see the so-called SOAP UI. That is something that is not SAP-specific.

00:07:24 That is an open source tool in order to test out and to work with SOAP web services and others.

00:07:32 And here we imported the C4C web services, first of all, this one and searched here for the accounts.

00:07:44 So we see all that information and again we can also change these customer data directly here, and I just tell the system now please change the customer Intelligent Systems,

00:07:59 again just as an example, and just change the name of the customer, so the first line name of the account.

00:08:08 I just again then put on Play. This is the icon in order to send this web service out.

00:08:16 And then, you see it on the right side, everything went well. So you see a short notification here, a response message here.

00:08:23 And once you go back to the C4C system and refresh the account list, you again see that this account got really updated.

00:08:31 So the name of this account got updated. Again a very short example, simple example, but that should just give you a feeling

00:08:39 how you could demo these services and really use them, present them in front of your customers.

00:08:46 Okay. With that, again, thank you very much so far for watching this module number 6, in terms of the key user tools.

Page 16: OpenSAP c4c1 Week 3 Transcript

00:08:55 The following next videos then will more and more go into the development environment of C4C.

00:09:02 But this was the part for the key user tools. Thank you very much and see you soon.

Page 17: OpenSAP c4c1 Week 3 Transcript

Week 3 Modul 6.5

00:00:09 Hello and welcome. In this session I’d like to explain the development concepts of SAP Cloud for Customer,

00:00:16 especially the development environment, the SAP Cloud Applications Studio, our SDK, software development kit.

00:00:25 If you remember the last session, here we had this flexibility spectrum as we call it. And on the left side you have seen the key user tools, demos,

00:00:36 what you can do with the key user tools without any line of codes, without any coding. And what we will now see is, on the right side, rather the technical world of development,

00:00:49 so what you can do really with the development environment, with the Studio. When we come to that, I have to say that the development environment,

00:00:58 which we call the SAP Cloud Applications Studio, that is a development environment based on Microsoft Visual Studio.

00:01:06 That goes actually back to 2010 when we first developed this environment and introduced it to the market.

00:01:16 That goes back to 2010, and that was a decision that we made that we deliver these plug-in concepts based on the Visual Studio, development environment.

00:01:26 That is the foundation and that is the workplace for the developer. Whenever you develop something, you will never do this locally in your data center, in your own environment.

00:01:39 You do not need to care about local servers and source versioning systems and so on, because everything that you do, you do it centrally in the cloud, so in Cloud for Customer.

00:01:51 You have your development environment and you always connect against your Cloud for Customer development system. Also remember what I said in the previous session:

00:02:04 There is no way to directly connect with C4C, with the C4C application core, or the database. There is no way. You always connect through the so-called Public Solution Model.

00:02:18 So if you have your development environment and you log on to your system, you always connect through the PSM, which is our stability layer if you want,

00:02:28 where we guarantee stability of every extension of the add-ons that you develop on top. And I will come to the lifecycle, how you would typically do this,

00:02:40 how such a project can look like for the customers, for partners, so we will come to that. And what I also want to highlight here is,

00:02:49 there is an integration between the key user tools and the Development Studio always. That means, if your key users in the business area, they define their extension fields,

00:03:02 they tell you we need this and that field, then you, as a developer in this case, can tell them: Okay, please do so and please just inform me

00:03:11 whenever I have to import these key user changes, these key user adaptions into the development environment in order to further enhance it if necessary.

00:03:22 What I want to say is: There is a nice integration between both worlds, the key users and the developers.

00:03:29 What you see on the right side are the key characteristics of everything you can do on top, everything that you can develop on top.

00:03:38 Everything is release-independent, modification- free. That is our very big promise to partners and also to customers because of this public solution model.

00:03:50 Everything that you develop is based on the PSM and is stable, even in the future when we implement new releases of the C4C core.

00:03:59 So that’s also a very important characteristic I would say. If you have a look at the PSM, which is from my perspective

00:04:10 the very central part of our overall concept, development idea concept behind, the PSM, as I said, is the abstraction model, it’s the stability layer.

00:04:22 It contains all exposed business objects of C4C, so everything about the objects. There you see also a complete catalog available

Page 18: OpenSAP c4c1 Week 3 Transcript

00:04:35 with business objects like customers, opportunities, quotes. All these objects, they get exposed into this model,

00:04:45 and the development environment again consumes everything that is in this model and can enhance it, can extend it.

00:04:53 And business objects is just one example. The same applies for the user interfaces,

00:04:59 a very prominent example that you will also see in the demo later on. When you extend standard screens,

00:05:06 there we have so-called public anchors and outports/inports of the standard screen. That also predefines what you can really do and what you can really extend with the Studio.

00:05:18 That predefines what you can really do, and we will come to that in a later session as well. So that’s about the PSM, and the PSM itself is not a steady model

00:05:30 that we have invented somehow and that we have in place. It’s a dynamic model.

00:05:37 So even if you - as a customer, as a partner - recognize, hey, there is something that is not yet adaptable, not yet changeable,

00:05:45 even with the development environment, you can tell this SAP. So you can create an incident, send it over to SAP,

00:05:51 then we receive that and then we react on that. So we can also enhance, and we do that on a daily basis,

00:05:59 enhance the PSM and enhance the model so that you can really get access to the most important data and objects and so on, that you need.

00:06:10 Alright, when it comes to development projects, we typically distinguish between two models. So first of all, the most prominent one is the customer-specific solutions that you can develop - you as a customer or as a partner.

00:06:23 And you do that typically in a customer tenant. And then you do a download and upload of these extensions

00:06:32 and bring it to the production environment. So there is always a download- and upload mechanism.

00:06:36 You have to be aware that, whenever you start a customer-specific solution, everything that you do is customer-specific.

00:06:43 So the customer is the owner of the solution. And the intellectual property is also owned by the customer. So that‘s important.

00:06:51 And also be aware that customer-specific ones cannot be transferred to other customer tenants, cannot be reused - customer specific.

00:07:02 If you want to reuse extension projects, you should, first of all, start with a solution template. That‘s important.

00:07:09 Then you would really start from the very beginning with a template solution and you can develop that one - typically, you develop like 80%.

00:07:17 And then you can bring this solution template into other customer’s systems and develop the remaining 20% of the solution in a customer-specific way.

00:07:29 So these are the two solution types that we have in place. Okay, a lot of theory at the beginning.

00:07:36 Now let’s really go into the development environment and go into a concrete example. In this case I’d like to start with own business objects

00:07:46 that you can build here in the Studio and extend your Cloud for Customer solution with it. So let‘s start here directly.

00:07:57 First thing is here really we have a developer user with C4C. So in general all of our customers are allowed, without additional costs,

00:08:06 are allowed to get this Development Studio and to develop on top. For our customers, there is an offering to get a development environment in the development sandbox system.

00:08:19 First of all, you log in into the system with your developer user and then you tell the Studio: Okay, I want to create a new customer-specific solution,

Page 19: OpenSAP c4c1 Week 3 Transcript

00:08:29 a solution that extends the C4C system. Alright. If you have done this, the projects get prepared and you get your own name space

00:08:40 because you are now, again, the owner of these solutions, everything is prepared. And here you tell the Studio, okay, now I want to create a new business object,

00:08:48 which is really the persistency, the new objects that you want to model here. What you see is here then, you get an ABAP script editor.

00:09:00 So remember, C4C is completely based on ABAP plus HANA, but we never see ABAP and we can never touch ABAP of C4C,

00:09:12 and the same applies for the database. But what we see here is ABAP script.

00:09:18 That is our answer; that is our capability to develop on top: We have this scripting language in place.

00:09:25 What you see here now is a feedback object consisting of several text fields. And we defined that, we activate it.

00:09:35 Then all the corresponding ABAP code is translated and it’s getting activated in the C4C backend system. Okay.

00:09:43 Now, what we see here is that one data type is not available, that is our Rating code. And for this example we define a new data type, called Rating code.

00:09:59 In general, this application becomes a feedback application, so we have typically have used that in many previous customer meetings.

00:10:12 And it was always very nicely received by customers and perceived by customers - so this little feedback application.

00:10:19 So here we defined the rating codes. Later on for the user, you will get a drop-down list

00:10:27 and you can just select the ratings how you would rate the workshop. So you define that, you activate it through, and then the data type is known,

00:10:36 and you can, again, activate the entire object, feedback object. Once done that, as I said, the Developer Studio translates it into ABAP code.

00:10:49 We typically have one line of the script language which translates into ten lines of ABAP code. That’s amazing - behind the scenes, happening behind the screens.

00:11:00 What you see here is now, we created screens, the user interfaces, and in this case even the desktop and the tablet screens together.

00:11:11 And I will also come to that what this means and how we actually handle mobile screens and the rules of the runtime of these screens.

00:11:22 We will come to that. Okay, so now we have this feedback screen. We can double-click on it.

00:11:28 And then it opens up the User Interface Designer, which is also part of the Studio here. And here you can just very simply and easily change the labels, change the texts.

00:11:40 Now you see it here. Again, this is the layout, it’s not the runtime. That will not be the screen that you see as the end user.

00:11:47 It is the design, the layout environment. And of course, all these applications can be translated into different languages.

00:11:58 That’s it. It takes us like three minutes to define a new app if you like. And that’s it. What we need to do is, as a last step,

00:12:08 we just have to assign this app to either the business user, or we can also assign it to a business role, which is then again assigned to the user.

00:12:18 Therefore, we go the ADMINISTRATOR workcenter, we click on the business roles management again.

00:12:24 And there we see our application appearing, and we can just assign this application to the business role.

00:12:35 Once done so, we have to log on with exactly this user who has this role assigned. And then, voilà , we should, ideally, see this extended application logic here

00:12:49 in form of a Quick Create, that is the creation functionality on the left side of the screen. And then we can insert a new record, create a new record here,

Page 20: OpenSAP c4c1 Week 3 Transcript

00:13:01 but we should also see the same appearing in the overall navigation of Cloud for Customer. And then again, the question is, hey, does this application automatically run

00:13:15 not only in the browser, but also on the tablet device? The answer is, of course, yes. That is possible.

00:13:21 And can I bring this application even on my smartphone devices? These could be Android, iPhone, whatever.

00:13:29 The answer is, yes, why not. That is also possible. For that we would have to change the tags in the User Interface Designer of this specific screen,

00:13:40 but with that tag information you would also see this functionality, the screens also on the mobile devices.

00:13:49 So that's all possible here. I have to be honest, in this case, it was just a little example. It would also be possible to develop this complete example even with the key user tools.

00:14:06 We have a so-called Business Objects Builder in C4C. So we could have done the complete scenario also in the key user tool, the so-called Business Objects Builder,

00:14:16 but I wanted to use this example to explain a lot of our technical aspects here. But in general, you could also have used the BusinessObjects Builder to achieve the same results here.

00:14:29 So with that, again, thank you very much for the first part of the SDK session, and also stay tuned for the second one. Thank you.

Page 21: OpenSAP c4c1 Week 3 Transcript

Week 3 Modul 6.6

00:00:10 Hello and welcome again. In this video I’d like to explain how you can extend the standard solution

00:00:17 with the Cloud Applications Studio and really extend the content of the standard C4C solution. We will mostly put our attention to the second part here, extending the business objects.

00:00:31 We will see an example where we extend the opportunity in Cloud for Customer with an extension field, done within the SDK.

00:00:41 And we will also bring this field onto the user interface and also include additional business logic behind the field.

00:00:54 So let us directly go into the development environment for this use case. Here in the Studio we, in this case, add an own object of type Business Object Extension,

00:01:08 so we use the XBO project here. Now we come to the public solution model,

00:01:17 so go from the top really onto the PSM and select the proper namespace, which is CRM. And there we just select the object Opportunity.

00:01:29 Then again we get this editor and we can here place our ABAP script in it and extend the opportunity at this place.

00:01:40 So this is also something that we do, so very simple again. We have one extension field of type text. And in addition to this field we have a message.

00:01:51 A message is something that really comes on the screen whenever you click on Save or so, that will be a validation message.

00:02:02 So we prepare everything here in this editor, also include this message here and then tell the system, hey, now we want to implement the business logic.

00:02:14 When should this message really appear, when should it really come up? And here at this place you see the so-called -

00:02:22 well, in the past we would have said user exits - application exits. They are called application exits.

00:02:30 And here you can really change the complete behavior of a standard object, in our case the opportunity. You can change the complete behavior.

00:02:39 You can change the functionality of each button that sits on the screen, of each tab that you press, that you click, everything.

00:02:49 And you can enhance it in a way where you have this editor and you can place additional ABAP script in it.

00:02:56 And this is, again, our scripting language here. In our case we keep it very simple. We just implement a logic that checks if this extension field is filled,

00:03:08 if something is in, so if some text is in. If not, we return false and with that we raise the error message.

00:03:18 That is our very little use case here in this case, and that’s it. Now, what would you expect?

00:03:25 We have defined this extension field and the logic behind, but for sure you would not see the field. This is something we do now, because we also have to place this extension field on the screen.

00:03:39 This is nothing that happens automatically; this is something that we have to define as an additional step. So here we just say Enhance Screen and select the appropriate floor plan that you want to enhance.

00:03:50 In this case it’s our Thing Inspector for the opportunities. And that is now a very important message which comes up that tells you,

00:03:58 okay, you can change the floor plan, the user interface, but please use Extensibility Explorer to do so, to edit. Again, we now have a floor plan, a UI in front of us which is part of the standard solution of the core.

Page 22: OpenSAP c4c1 Week 3 Transcript

00:04:12 Again, keep in mind, it is protected, but we have the capability and the possibility to use the Extensibility Explorer and these so-called public anchors to really place a field there and there and so on.

00:04:25 Here we have to select the proper anchor, where we want to place the field. We select it and just say, add extension field in it.

00:04:35 So this will be the header section here, and there we can directly place the extension field. On this user interface floor plan, you see hundreds of public anchors, and that’s just an example.

00:04:52 So this is how we define this public solution model at this point here. Now we have placed this extension field. You still see it in a red color.

00:05:05 That means you first have to save and activate it again in order to get a green color and to get it activated. And then, it’s really not only in the data model and the processing logic.

00:05:17 Now it also sits on the user interface directly. So if we check this and log into the system, we see, okay, the error message comes up.

00:05:27 We see the extension field, and as it’s empty, the error message appears. But whenever we enter something in this field and push the Save button, then again,

00:05:40 validation on save is executed and then everything is green, everything is returned true, is good. So now we can save this opportunity object.

00:05:50 Again, a very simple example, but I think it nicely highlights what you can really do: You can place extension fields, you can play around with messages in addition to the standard messages.

00:06:03 You can understand the user interface pattern and these public anchors, the Extensibility Explorer on the right-bottom side. That‘s important.

00:06:15 And you also see how you can really extend and change the behavior of the standard procedures and processes in C4C. With that again, thanks a lot for watching this technical session about the SDK.

00:06:33 Thank you very much.

Page 23: OpenSAP c4c1 Week 3 Transcript

www.sap.com

© 2015 SAP SE or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. Please see http://www.sap.com/corporate-en/legal/copyright/index.epx#trademark for additional trademark information and notices. Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.