Posted on

#1 Introduction – 7 Steps to Get Started With SAPĀ® CAPM

Before we begin!

In this 7 blog series, we are going to provide a small end-to-end scenario to work with SAP® CAPM. Here the usecase we are going to use is of Learning Management System(LMS) and build a Student List App and Deploy it to SCF.

Link to Master(or Main) Blog from which all the other blogs can be reached is Here.

  • If you wanted to check out the detailed course on SAP® CAPM the link is Here.
  • If you want to get learn SAP® Cloud Platform Development in Detailed then we have a 35hrs hands-on course Here.
  • For current offers and discounts check offer page Here.

Now let’s start this series with a little background about SAP® CAPM

Table of Content

#1. Why and What
#2. Developer Stack
#3. Links to Blogs of this Series

 

 

 

#1: Why and What

SAP® Cloud Application Programming Model(CAPM) is a set of Library, Tools, Language and Framework from SAP® for building Apps.

The main reason for creating CAPM is to

  • Provide a Simple way to Create Cloud-Based Apps
  • The Apps and code which developer created can be made more reusable as modules
  • Advantage of Microservice can be utilized
  • Apps in Cloud can be easily integrated with Cloud Services(like DB service, message broker service or Auth Provider service)
  • A developer can focus more on the functional side of problem-solving

The 2 main Principle of SAP® CAPM are:

  • Declarative Approach: Focus on Outcome, not on Way!
  • Service-Based Approach: Get the Functionality from Service

Declarative Approach

So, if you are a developer you need to focus more on understanding the functional side which is what customer needs now, and also thinking about how can the App/Platform you are developing will evolve over time. Keeping this in mind you need to keep your current development modular, so it can allow future changes easily or your current development can be reused in the future easily.

Service-Based Approach

In CAPM all functionalities need to be broken down as service(s). In CAPM Services are stateless which means there is no record of previous interactions and each interaction request has to be handled based entirely on information that comes with it. You will also see, that to implement new service/functionality we will many times query existing service(s).

 

#2: Developer Stack

That Sounds Great! But you might be having questions like How it is Build and How as a developer you will work with it?

 

  • CAPM Lib are Predominantly Build With NodeJS, so you need to have basic know-how of NodeJS
  • We will use a lot of CDS code, may it be for building data structure(entity model/Table Structure), creating services(with functions) or even creating UI(with CDS Annotations)
  • You will find many out of the box tools which are part of CAPM, for example for running Apps with Fiori® Preview just with developed service, for building data structure to deploy in Database like HANA®, Sqlite or Other Other and many more surprises!

 

Prerequisite and Getting Started

We will create a simple End-to-End CAPM App using HDI Container in SAP® Cloud Foundry from Scratch.

Regarding Prerequisites:

  • Basic knowledge of NodeJS is required
  • Basic knowledge of SAPUI5 is required
  • Basic knowledge of CDS is required

#3: Links to Blogs of this Series

  • Introduction – this blog
  • Installation – here
  • Hello World Service – here
  • Creating Schema and Database – here
  • Create UI Annotations – here
  • Create UI5 App – here
  • Deploy App to SCF – here

Before we end!

Link to Master(or Main) Blog from which all the other blogs can be reached is Here.

 

  • If you wanted to check out the detailed course on SAP® CAPM the link is Here.
  • If you want to get learn SAP® Cloud Platform Development in Detailed then we have a 35hrs hands-on course Here.
  • For current offers and discounts check the offer page Here.

 

Also, You can Watch the Entire Blog Series in the below video:

 

 

 

 

 

Thanks for Your Time!

Posted on

Understanding SAPĀ® FioriĀ® Launchpad and Tiles Types

 

 

Link to Full Course:
https://www.ui5cn.com/courses/fiori-for-developers

 

  • SAP® Fiori® Launchpad, is the starting point for our developers and users.
  • We will have multiple applications in the Launchpad (which are assigned to us by roles) and Launchpad is also often referred to as the homepage.
  • Each Tile in Fiori® Launchpad® represents one Application.

 

  • The first type of Tiles with Static Text and Icon/Image is Static Tiles, for Example, My Contact Application

 

 

  • The second type of tile or application we can have is the Dynamic Tile which can contain dynamic changing numeric values (representing some form of KPI). For example Timesheet Application, we can go inside this Tile(application) and we can fill our Timecard which then needs to be approved by our manager(s).
  • The KPI it contains also shows from how many days we have last filled out timecard(Missing Days which changes dynamically).

 

 

  • And the third type of application/tile we have is Newsfeed Application Tile. The news feed application tile would be utilizing the RSS Feed and represent news in terms of tiles.

 

 

  • If we go into My Contact Tile then we can see a Split Application(as shown below). In split-screen Application, the screen is divided into a Master and a Detail Page. This is one type of application similar to that we can have list report application, analytical dashboard application, and many more different types.

 

 

Now, how an Application or Tiles are given to a particular user?

  • This is possible with Roles and Authorization. Also, Fiori® follows the Role-Based Principle.
  • If you want to provide a specific application to a user then you just provide them with Roles which is required for that application.
  • Also, we might have multiple types of roles link to an application, for example, in Timecard we can have manager roles to approve a timesheet, user roles to fill and submit a timecard, etc.
  • We will discuss in detail these Authorization concepts in our Fiori® for Developers Course as well(later on).

 

 

For a particular user to see Tiles(or Application) in Launchpad we need to configure 3 Main things:

  • Roles
  • Catalogs
  • Groups

We will see in details how to perform those in Fiori® for Developers Course here:
https://www.ui5cn.com/courses/fiori-for-developers

SAP® Fiori® Blog Series Links :

  1. SAP® Fiori® Launchpad Configuration – Starting with Catalog Creation
  2. SAP® Fiori® – Understanding Fiori® Launchpad (Current Blog)
  3. SAP® Fiori® – Understanding Fiori® Catalogs, Tiles, Roles and Groups (Blog Coming Soon)
  4. Fiori® Applications Types and Architecture (Blog Coming Soon)
  5. Types of Fiori® Apps – Transactional Fiori® Application Overview and Architecture (Blog Coming Soon)
  6. Fact Sheet Fiori® App Architecture | Fact Sheet Applications | Types of Fiori® Application (Blog Coming Soon)
  7. Analytical & KPI Fiori® App Architecture | Analytical Fiori Application | Types of Fiori Application (Blog Coming Soon)
  8. SAP® Fiori® Architecture and Component | SAP® Fiori® Components | Fiori® Architecture (Blog Coming Soon)

 

Posted on

FioriĀ® For Developers Online Course – Introduction Page

 

Introduction to the Course

Learn and Understand Fiori® Apps Debugging, Development, Deployment and Architecture with Hands-on Exercises. SAP® Fiori® for Developers is an unique course that takes you from the basics to intermediate to advance in a step by step manner. We will understand and deep dive more into the details which we have covered in this course such as:

  • Fiori® Launchpad – How Fiori® Launchpad shows you Role-Based Tiles – Different types of Fiori® Apps
  • The Architecture of Fiori® Apps
  • The Architecture of Fiori® Apps and UI Components
  • Understanding Back-end and Front-end services and components
  • How to Deploy and Configure Fiori® Apps
  • How to Extend Screen Elements, UI, Controllers, and Services in Fiori® Apps with Web IDE
  • And a lot of Debugging to make you Comfortable with Production Scenarios.

 

Link to Full Course:
https://www.ui5cn.com/courses/fiori-for-developers

 

SAP® Fiori® Blog Series Links :

  1. SAP® Fiori® Launchpad Configuration – Starting with Catalog Creation
  2. Understanding SAP® Fiori® Launchpad and Tiles Types
  3. SAP® Fiori® – Understanding Fiori® Catalogs, Tiles, Roles and Groups (Blog Comming Soon)
  4. SAP® Fiori® Applications Types and Architecture (Blog Comming Soon)
  5. Types of Fiori® Apps – Transactional Fiori® Application Overview and Architecture (Blog Comming Soon)
  6. Fact Sheet Fiori® App Architecture | Fact Sheet Applications | Types of Fiori® Application (Blog Comming Soon)
  7. Analytical & KPI Fiori® App Architecture | Analytical Fiori Application | Types of Fiori Application (Blog Comming Soon)
  8. SAP® Fiori® Architecture and Component | SAP® Fiori® Components | Fiori® Architecture (Blog Comming Soon)

 

Refer the Blow Video to Understand More,

 

Posted on

SAPĀ® FioriĀ® Launchpad Configuration ā€“ Starting with Catalog Creation

 

Link to Full Course:
https://www.ui5cn.com/courses/fiori-for-developers

 

  • Step 1 – Login to our system with the newly created user which is DEVELOPER3 and it will ask to change our previous password.

 

 

 

  • Step 2 – Give a new password and there are some pre-checks for the password, some of which include that the password should not be the same as the previous password and it should be having 8 characters. 
  • Step 3 – Using T-Code SU01 we can see login information of the user as well, we can click on information Icon to check the rules and regulations about the password as well.

 

 

  • Step 4 – Now we are in a new User Login and then we have to go into the Fiori® Launchpad using the URL. Now to find the URL for Fiori® Launchpad, go to the Start-up and then using /n go into the Home Screen.

 

 

  • Step 5 – We will see the Fiori® Launchpad and right-click on /UI2/FLP – SAP Fiori® Launchpad and Execute in New Window

 

 

 

  • Step 6 – It opens in Internet Explorer then copy the Fiori® Launchpad URL then go to Chrome (Browser Choice for Development) and open a new incognito window, it would ask for credentials of this new user which is DEVELOPER3.

 

 

 

  • Step 7 – Now we get a blank screen because we have not added any application to our Launchpad of DEVEOPER3. So our objective is to provide this user with our Purchase Order App access.
    Now we will log in with Admin User in Fiori® Launchpad to configuration Approve Purchase Order App which we are basically going to provide access to the App to DEVELOPER3.

 

 

 

  • Step 8 – Go to Launchpad Configurator(With Admin User). To get the Launchpad Configurator URL we would be replacing existing URL from “/ui2” with “sap/arsrvc_upb_admn/”(as shown in image below). This will basically use the service ‘arsrvc_upb_admn’ and we have to go into main.html.
    We can check the service in our SICF Transaction, which is responsible for Catalog and Group Management.

 

 

 

 

  • Step 9 –  We will be creating a new Catalog for that click on + Icon which is present in the bottom left side of the screen. The Catalog will be a Standard Catalog and for now let’s name it as Zdemo1_01 and unique ID Zdemo1_01, then click on Save.

 

 

 

  • Step 10 – In this step, we have seen how to Create Catalog, to Configure Fiori® Apps we need to Create Semantic Object Next and Action. Then Provide this Role With Target Mapping.

To view all the steps of Fiori® App Configuration you can Enroll in Fiori® for Developers Course With UI5CN here:

https://www.ui5cn.com/courses/fiori-for-developers

 

SAP® Fiori® Blog Series Links :

  1. SAP® Fiori® Launchpad Configuration – Starting with Catalog Creation (Current Blog)
  2. Understanding SAP® Fiori® Launchpad and Tiles Types
  3. SAP® Fiori® – Understanding Fiori® Catalogs, Tiles, Roles and Groups (Blog Comming Soon)
  4. Fiori® Applications Types and Architecture (Blog Comming Soon)
  5. Types of Fiori® Apps – Transactional Fiori® Application Overview and Architecture (Blog Comming Soon)
  6. Fact Sheet Fiori® App Architecture | Fact Sheet Applications | Types of Fiori® Application (Blog Comming Soon)
  7. Analytical & KPI Fiori® App Architecture | Analytical Fiori Application | Types of Fiori Application (Blog Comming Soon)
  8. SAP® Fiori® Architecture and Component | SAP® Fiori® Components | Fiori® Architecture (Blog Comming Soon)

 

Posted on

Create Workspace and Start Development

 

This blog is part of Learn SAP® Cloud Platform Workflow Professional Development Course here.

 In this Blog, we will create and Develop a Simple Workflow from Scratch

Part 1:  Start Workflow Development by setting up the Workspace and Plugin

 

  •  Step 1: In this case, we have created a separate Workspace in Full Stack Web IDE so that our other projects will be managed.

 

  • Step 2: As we can see in below image after the selection of Workspace Manager click on Create. We can provide any name for our new Workspace.

Note: Every time when we create new Workspace again we have to Enable all the Services for the new Workspace.

  • Step 3: Enter into the new Workspace which we created and Enable the Workflow.

 

Part 2: Creating project

Now click on the Development tab </>  in the new Workspace. After that click on file>>new>>project from a template.

  • Step 1: In the category, select Business Process Management and >>select Workflow, in that click on next(as shown in below image).

 

  • Step 2: Provide name of the Workflow project>>Provide name also, description is not mandatory.

 

 

Note: The empty project will be created, with folder structure.

 

Part 3: Creating events in a project

  • Step 1: Select start event>>select events>> select service task>>

 

 

  • Step 2: In Service Task there are some mandate fields which we need to provide.

 

 

  • Step 3: In Destination put the name of the Service which we have created in HANA® on Demand Cockpit. Select Method name to POST or GET, a path will be the suffix of the Northwind.






Destination : Northwind
Choose a service from: other
Path: /v3/northwind/northwind.svc/Products(3)?$format=json
Http Method : Get
Response Variable : ${context.product}

 

  • Step 4: Now we need to deploy the Workflow. To Deploy, just right click on the Workflow and select deploy on SAP® Cloud Platform Workflow.

 

  • Step 5: After successfully deployed to the portal we have to do activities, for that we need to start the portal. To do that we need to go to HANA® on Demand>>Services>>Portal>>go to service as shown in the image.

 

  • Step 6: It will open a new tab. In that site, we have to open Site Directory.

 

  • Step 7: In that portal either we can create a new site directory or we can use the default one. In this case, we are going to use the default one.

 

 

  • Step 8: As we can see there is a link in the default site directory, click on that and it will redirect us on another Portal again where we will see three most important feature for Workflow.
    One is My Inbox, and another two is Workflow Instance and Workflow Definition.
  • Step 9: There we have to select the user icon>>app finder>>All. In that portal select pin to home all three apps My Inbox, Workflow Definition, and Workflow Instance. So that they will appear on Home Page.

 

 

  • Step 10: After the selection, those 3 apps would be present on the Home Page.

 

 

  • Step 11: Click Workflow Definitions we will see our app in the list in the left panel. After that click on start new Instance.

 

  • Step 12: Click on new Instance a prefilled data will be there (if we noticed that on above, where we are putting hardcoded product id in the path so it will give for that particular id).


Path: /v3/northwind/Northwind.svc/Products(3)?$format=json

 

  • Step 13: After that, we have to check whether it’s showing an error or it’s successfully done.

 

 

 

  • Step 14: As we can see the above the data we get in Context.
  • Step 15: Now if we want the data should come Dynamically like if we pass Id of a product, we get the same data for that Id.
  • Step 16: For that, we need to do some change in the existed path.
    Here’s the code just paste it in the path.


/v3/northwind/northwind.svc/Products(${context.ProductId})?$format=json

Step 17: Now change the data in an Instance in the Workflow Definition. Now if we put the Id 11, we will get the data based on productId 11.

 





{
  "ProductId": 11 
}

This blog is part of Learn SAP® Cloud Platform Workflow Professional Development Course here.