With SAP Build Process Automation – May 2023 (What’s New) we introduced Principal Propagation (Run Step on Behalf Of). See also the documentation: Run a Step on Behalf Of. In this blog post I will provide a sample for Principal Propagation using the CAP Node.js Service created in the developer tutorial: Extensions for SAP Build Process Automation....
In this blogpost I will walk through the steps which are now possible due to the recent enhancements in SAP HANA Cloud Machine Learning Python Client API and demonstrate how a Data Scientist working in Python can generate SAP HANA Machine Learning artifacts for a CAP project consumed by a developer. This helps building a....
In July 2019, we witnessed an evolution of the SAP BTP strategy with a strong focus on building differentiating business service capabilities and clear intentions to partner with hyperscale cloud providers like Amazon, Microsoft, AliCloud and GCP for commodity technical services like open-source databases and data stores; where these hyperscalers are already market leaders. In February 2020,....
Hi, all, With this blogpost I would like to document the steps that I went through in order to obtain a clean starting CAP project setup using TypeScript. Below I will go through a series of terminal commands and some file configuration. It might take quite some time to go through all the steps the....
On the 15th of June I will attend the 2nd edition of the Developer Day, with a main focus on the Business Technology Platform Track. I will present a session called “Fantastic CAP Gems & where 2 find them”. This session dedicated to the SAP CAP Hybrid Testing functionality, may be useful to your future CAP development projects.....
In this blog, I am covering consuming an external OData service (Northwind) from a CAP Java application using SAP BTP destination service. Destinations: contain the connection details for the remote communication of an application. Pre-requisites: Trial account on BTP Java application built using SAP Cloud Application Programming Model (CAP) deployed to SAP Business Technology Platform. Create....
In this blog post, I am going to demonstrate how to annotate CAP service to enable the display of an Analytical List Page (ALP). I discovered this solution in Deepak Singh Bondili‘s GitHub repository, so I want to give credit to him. Scenario To build a very basic ALP app on top of CAP OData V4 service....
In the first part of my blog post, I’ve shown how you can get familiar with cds.ql and how the syntax works for you. If you are not very familiar with cds.ql so far, I’d recommend to read the documentation (https://cap.cloud.sap/docs/node.js/cds-ql) and visit the first part (https://blogs.sap.com/2022/06/21/getting-started-with-cds.ql-in-nodejs-for-cap-101-on-how-to-query-data/). This blog post is dedicated to understand the....
This blog-tutorial guides you through the process of creating a CAP application. You will create a basic data model with an OData service, and add a Fiori app for the data model. Optionally, you can deploy the CAP app to your SAP BTP Cloud Foundry (Trial) Subaccount. Prerequisites Make sure the Prerequisites for this....
NOTE: this blog post is intended for developers who have some experience in developing CAP applications using SAP Business Application Studio and SAP BTP destinations. Introduction As a CAP developer you might have already faced the scenario where you need to access an external service (which is extremely common in the decoupled world of cloud....
In this blog post, we will deep dive into the process of constructing a comprehensive use case using the powerful capabilities of the SAP Cloud Application Programming Model (CAP). Our focus will be on consuming a REST service within CAP, and I draw inspiration from a highly informative blog by Robert Witt that greatly helped me in....
When your application built with the SAP Cloud Programming Model starts growing, you’ll notice that certain behavior should be shared across your CAP services. You want to have a single source of truth for your core business logic. This happened to us in a development project at SAP when offering multiple Fiori applications for different personas, and....
Blog Series Quirky Nuggets (N01-N02): CAP Event Handler, Data Uniquenes (@assert.unique) Quirky Nuggets (N03-N04): OData Operator, Undeployment of DB artifacts Introduction During research, development, and testing of applications, we often encounter small but interesting details that can consume a significant amount of time to discover and comprehend. These valuable insights are often forgotten or overlooked....
Blog Series Quirky Nuggets (N01-N02): CAP Event Handler, Data Uniquenes (@assert.unique) Quirky Nuggets (N03-N04): OData Operator, Undeployment of DB artifacts Introduction This blog post is part of the ongoing series titled ‘Quirky Nuggets.’ Within this blog post, we will delve into the world of OData operators and delve into the undeployment of database artifacts using....
SAP Business Technology Platform (BTP) is a comprehensive cloud-based platform that offers a wide range of tools and services for enterprise application creation, deployment and management. One of these effective tools is Cloud Application Programming (CAP) Model. CAP is a set of frameworks, tools and libraries deployed on top of Business Application Studio tenant to....
Introduction: Side-by-Side Extension in SAP refers to the approach of extending or enhancing existing SAP systems without modifying their core functionality. It allows for the development and deployment of additional custom applications or functionalities alongside the existing SAP landscape, minimizing the risk of system disruptions. In a recent project, I was assigned the development of....
This mini blog series will encompass the important aspects of API Documentation and its significance in SAP BTP Application development using the Cloud Application Programming (CAPM) framework. Important Note: I would like to emphasize that, CAPM application development perspective Open API Specification implementation is technically simple and straightforward. However, it holds immense importance in ensuring the....
This is second blog for the mini blogs series highlighting importance of Open API spec framework. In the previous blog we have got insights for the Open API ( Swagger UI) in general, Let’s bring our understanding to utilize the concepts in SAP BTP CAPM application. CAPM Open API Framework Part 1 – Empowering SAP....
This blog marks the final part of our mini blog series, focusing on the significance of the Open API Spec framework for BTP CAPM API and microservices. Let’s recap the series: In Part 1, we discussed the importance of understanding OpenAPI specification documentation. In Part 2, we explored how it can be easily implemented in....
I often develop CAP MTA projects that contain some UI modules for PoC purposes. However, the process of deploying these UIs and making them accessible from SAP Build Work Zone, standard edition, is not well-documented. In 2020, I wrote two blog posts addressing this particular topic. Developing a Fiori elements app with CAP and Fiori....
We are in the midst of the age of cloud computing and the change in IT system landscapes and software development projects is both noticeable and irreversible. Large, heavyweight monoliths are no longer in vogue, IT systems are becoming smaller and more distributed, technology stacks more heterogeneous, a development that also no longer stops at....
NOTE: this blog post is intended for developers who have previous experience in developing multi-tenant CAP applications using SAP Business Application Studio, SAP BTP destinations, and the destination and XSUAA services. Introduction After I published this blog post, many developers reached out to me with the classical question: “does this microservice work in a multi-tenant scenario?”....
In this blog, I will try to show you how you can start developing CAP-based Fiori apps. My purpose is to learn and share the basics of CAP application building. I’m just getting started with developing cap applications, so any advice or feedback is really appreciated. You will learn below topics; Developing a basic CAP....
Query Language is an essential tool to communicate with a database to perform operations such as retrieving data, inserting data, updating data and deleting data. Query languages are designed to be concise and efficient, allowing users to specify complex operations with minimal effort. There are several types of query languages, including structured query language (SQL), which is....
This is a supplementary article to the recent blog by Daniel Schlachter. As CAP has 2 runtime stacks, namely CAP Java and CAP node.js, you might wonder how the described plugin mechanism looks like in CAP Java. To be honest, I have to correct Daniel a bit. While plugin concept is new to CAP node.js it’s....
I have a business requirement to capture data change logs for (almost) all the entities in an API. We are using CAP framework with NodeJS to implement our OData services . A CAP plugin lets you separate a generic logic in a separate codebase , which later can be used in CDS files using annotation....
In this blog we will see how to read data from tables in HANA IQ store into a virtual table using a remote source in HANA database instance. This will be series of blogs containing following topics: Introduction to HANA IQ store and how to load data into table in HANA IQ store from files....
In this series of blog posts I will share with you all how to connect to SAP HANA IQ store from a CAP (Cloud Application Programming Model) JAVA application. This will be series of blogs containing following topics: Introduction to HANA IQ store and how to load data into table in HANA IQ store from....
In my last blog post Keep the Core Clean with CAP Model, we found out that CAP’s service API doesn’t support handling the draft-generated properties out-of-the-box, however, it’s technically feasible to handle this ourselves in the custom handler. And you might be wondering, has anyone done it? Well, the answer is yes, because I did! Let....
In my last blog post, I’ve written about how I prepared an existing app that was already running on SAP BTP, Cloud Foundry to be deployed on SAP BTP, Kyma runtime. Along the way, I got to know and appreciate some new tools like helm/paketo and kubectl and the entire Kubernetes ecosphere which is quite....
This is a follow-up blog post to my previous one called Keep the Core Clean with RAP Model. Like in the previous blog post, this is not about convincing you to adopt a clean core policy and why it is important, but instead, this blog post is more about asking the question: Can we keep the....
Here is a new concept that is going to revolutionise CAP app development =) Let me first give you an example and then explain why it matters: Introduction: I have a business requirement to add a new feature to my CAP application. Some of the strings that my CAP application delivers should have a random....
Important Links SAP-samples GitHub Repository- Kyma SAP-samples GitHub Repository- Cloud Foundry Hello and welcome everyone, Lately, with my colleague Martin Frick, we have ported our sample multitenant application from SAP BTP Cloud Foundry Runtime to SAP BTP Kyma Runtime. After this journey, we thought of sharing our experiences in both runtimes in a comparative manner to....
This post is part of a series sharing service implementation experience and possible applications of SAP Private Link Service on Azure. Find the table of contents and my curated news regarding series updates here. Find the associated GitHub repos here and here. Dear community, Continuing with the implementation journey of SAP Private Link Service (PLS) for Azure we will have a closer....
Hello again SAP community. I hope you are doing well and that you have had a chance to read my first blog regarding CAP here. Today, I would like to add on that blog regarding building full stack applications in the CAP framework and add a few more Database Artifacts such as calculation views and stored....
Hola de nuevo a la comunidad de SAP. Espero se encuentren bien y que hayan tenido tiempo de leer el primer blog que escribi acerca del CAP aqui. Hoy me gustaria agregarle funcionalidad al blog que hice acerca de las aplicaciones full stack en el framework de CAP. Nuevos artefactos de la base de datos como ....
This blog post explaining a possible “hack” to answer the following questions: How to accomplish a better integration of UI5 apps with IFrames in SAP Build Work-Zone. Situation: CAP Multi-Tenant application with UI5 (freestyle/fiori-elements) application SAP Build Work Zone (Standard Edition) is used by the customer. The customer wants to include the application into his Launchpad. A integration using....
SAP CAP (SAP Cloud Application Programming Model) is a framework provided by SAP for developing and deploying cloud applications on SAP Cloud Platform. It is designed to simplify and streamline the development process by providing a set of tools and best practices for building cloud applications. CAP is built on top of Node.js and provides....
This blog post describes how you can apply deep filtering in your SAPUI5 application, using CAP and odata V4. This can be used to filter in expanded entities, which has come available in V4. Please note that using an oData V2 model to do this will not work, since this type of filtering is not....
In this blog post, I will show you how to create an analytical table using a CAP OData service. Please note that this blog post is focused on List Report, and not Analytical List Report (ALP). Recently, I was tasked with displaying an analytical table based on an OData V4 service built with CAP. While....
Important Links SAP-samples GitHub Repository Hello and welcome to another blog post and step-by-step tutorial on the topic of building a multitenant SaaS application on SAP BTP using CAP. Following the joined blog post series (of Alper Dedeoglu and myself) on building a multitenant SaaS application in the Cloud Foundry environment, today’s journey is all about the SAP BTP, Kyma runtime. So, buckle up, it’s....
Objective – To understand when JWT token is generated and passed to the req object in CAP service ( req.headers.authorization) XSUAA is responsible for Authentication and generating the JWT Token. However, Approuter forwards the JWT Token to the service. Once the user get authenticated with XSUAA by App-router. App-Router will pass JWT Token to the ODATA service....
The SAP Cloud Application Programming Model (CAP) is a framework of languages, libraries, and tools for building enterprise-grade services and applications. In order to develop the SAP CAP application, we can choose either Node.js or Java as the language of choice. A major part of SAP CAP application is the domain model, in which all....
I am pretty sure a lot of you are familiar with SAP Cloud Application Programming Model (CAP). It simplifies building enterprise grade services and applications by guiding developers along a ‘golden path’ of proven best practices. Since best practices are served out-of-the-box with generic solutions for many recurring tasks, developers can focus on the business....
Greetings and salutations, fellow CAP enthusiasts! We’re back with another episode of “Surviving and thriving with the SAP Cloud Application Programming Model” (#CAPTricks). Last time, we covered the wild and bumpy ride of getting your app up and running on your local machine, complete with all the twists and turns of talking to on-premise systems....
There are multiple ways to consume actions not available in the store in the SAP Build Process Automation . S/4 HANA On-Premise or ECC based Custom Odata services can be accessed by the below two ways with the Core Clean principle using the Side-by-Side Extension scenarios I have explored the different possibilities to expose the S/4....
Blogs in this Series [#CAP #DPP] Part 1 : DPP Terminologies and PDM Overview Part 2 : Personal Data Annotations in CAP and Integration with PDM Part 3 : Explore PDM Application features Introduction: In today’s world, Organizations must adopt multiple applications or services which are not only required for regulatory compliance but also helps....
Blogs in this Series [#CAP #DPP] Part 1 : DPP Terminologies and PDM Overview Part 2 : Personal Data Annotations in CAP and Integration with PDM Part 3 : Explore PDM Application features Introduction: In previous blogs of this series, we explored how to develop and deploy a CAP application which provides an OData service....
Blogs in this Series [#CAP #DPP] Part 1 : DPP Terminologies and PDM Overview Part 2 : Personal Data Annotations in CAP and Integration with PDM Part 3 : Explore PDM Application features Introduction: Having covered the theoretical foundations in previous blog of this series, let’s examine the implementation of the CAP based application and....
I’ve been looking into SAP Graph and GraphQL for quite some time now, and out of curiosity, I tried to look into CAP if it already supports GraphQL, and lucky enough CAP just recently started supporting GraphQL by releasing @cap-js/graphql which acts as a GraphQL adapter. In this blog post, I will be giving a quick introduction to....
With the SAP Build Process Automation’s recent release, this blog post will highlight some of the enablement content for the new release features and a few other learning contents which were requested from the Community. Want to get hands-on experience with these features? Let’s get started with step-by-step tutorials that we have created for you....
Authors: Ayush Kumar & Vipul Khullar Previous blog posts in this series: [Blog Series] SAP Event Mesh – Deep Dive | SAP Blogs [Blog Post] SAP Event Mesh – Event Driven Architecture Explained | SAP Blogs [Blog Post] SAP Event Mesh – Single Tenancy & Multi-Tenancy Explained | SAP Blogs [Blog Post] SAP Event Mesh – CAP-based implementation....
In previous blog post of this series Event-to-Business Actions” architecture: An event-driven framework on SAP BTP to implement Industry 4.0 scenarios with Microsoft Azure services by PVN PavanKumar, we understood the context and rationale behind this open-source framework based on SAP BTP to strengthen and automate business processes execution to boost operational effectiveness by translating the events from....
Event notifications are critical to business operations as it requires business actions to planned and performed. Transitioning from request-driven applications to event-driven applications requires the organizations to decide on how to design and manage the applications effectively and efficiently. Digital transformation projects are heading towards combining multiple intelligent technologies such as – events, automation, AI,....
Welcome back to the “Surviving and Thriving with the SAP Cloud Application Programming Model” series – #CAPTricks! In the previous post, we covered the basics of getting started with TypeScript and discussed how to set up a proper development workflow using tools like ESLint, Prettier, and husky. Now, it’s time to take the next step and dive....
Hi all, for the past couple of months I and my other team members were working to understand how extensibility works on the cloud and how it can be achieved. During this phase, we came across several challenges, their work around best practices, and some configurations which are key to making our CAP-based application extensible.....
Authors: Ayush Kumar, Shreya Sinha and Vipul Khullar Previous Blog in this series: [Blog Series] Extensibility in Multi-Tenant CAP-based Application This is the first blog in the series End-to-End extensibility in Multi-Tenant CAP-based Application. Prerequisite:- Before we deep dive into the sample applications/ data models for an application to be extensible, let’s look at all the necessary conditions....
Recently I was working a project that requires me to consume SAP Build Process Automation API in my app. So when I was looking at our SAP API hub, I found that the APIs for SAP Build are documented quite nicely – the next part is to consume the API. But in the world of....
Authors: Ayush Kumar , Shreya Sinha and Vipul Khullar Previous Blogs in this series: [Blog Series] Extensibility in Multi-Tenant CAP-based Application General Guidelines for making application extensible This is the third blog in the blog series End-to-End extensibility in Multi-Tenant CAP-based Application. Perquisites: Have subscribed to the MTA. Assigned the roles to your user Create an extension Delete the extension....
Hello SAP Community. This blog post will provide a solution for many faced when developing their business application. How to connect On-premise SAP BTP destination through a NodeJS application to send email using Cloud Application Programming CAP? Solutions to these problem were successful for scenarios by Joachim Van Praet either creating our own destination in BTP using SMTP....
15.03.23 – Added details on the newly available GPT-4 model 01.03.23 – Added details on the newly available ChatGPT model (GPT-3.5) and API endpoint 27.02.23 – Added a link to part 3. 24.02.23 – Added a link to part 2 and also updated the title to reflect, that there will be 3 posts part of the series (not....
06.03.23 – Added information for the newly available and integrated GPT-3.5 model. 27.02.23 – Added a link to part 3. This is the second post of a small series of blog posts in which I’ll delve into the conceptual and technical details of building a ChatGPT-like chat app using the SAP Cloud Application Programming Model, SAPUI5....
This is the third and final post of a small series of blog posts in which I’ll delve into the conceptual and technical details of building a ChatGPT-like chat app using the SAP Cloud Application Programming Model, SAPUI5 and the OpenAI API. In the first blog post I introduced the required concepts of the GPT....
It all started with a little project I was working on to synchronize thousands of records from SuccessFactors into a HANA database. (Yes, I know there are more automatic ways than writing something yourself, but when you know SuccessFactors you know that no SF system API’s look the same.) The structure of my solution is....
We have developed and deployed an application in SAP BTP (Cloud Foundry) for one of our clients, this application is developed in Java Spring Boot, SAP UI5 and SAP HANA. The requirement was to expose the application under customer domain and not with the SAP BTP provided default domain, so we used SAP’s Custom Domain server, it is....
We are happy to release a new mission Extend SAP S/4HANA Business Processes on SAP Business Technology Platform, Kyma Runtime in SAP Discovery Center. The main intent of this scenario is to complement an existing business process in an SAP solution – currently SAP S/4HANA on-premise with additional business process steps. This involves adding major logic and additional....
There are situations where one might need to run some backend calculations from a story in SAP Analytics Cloud (SAC). For example, when we want to execute complex logic or calculations to data or parameters that have been updated. In this post I will show how to use the multi-actions in SAP Analytics Cloud to....
More information about the SAP Cloud Application Programming Model: Welcome to CAP In this tutorial we will develop and deploy a CAP Node.js Service with simple functions and create an Action Project.The goal is to cover all the necessary steps to consume the CAP Service API functions in a Process, not to proivde a real use case.....
Media Data with Malware Scanning Introduction During digital transformation, every business uses a diverse set of technologies to build application to digitize non-digital processes and operations. The “Cloud Application Programming Model” (CAP) offered by SAP can be used to develop enterprise-grade cloud services or applications and deploy on the SAP Business Technology Platform (BTP). You....
If you’re anything like me, you’ve probably been working with the SAP Cloud Application Programming Model (CAP) for Node.js for a while now, but you may still feel like you’re only scratching the surface. Well, fear not – in this series of blog posts, I’ll be sharing some tips and tricks on a variety of....
In this blogpost . I would like to provide guidance on how to access HANA Cloud Database & HDI Container in your BTP. If your BTP account already has HANA Cloud setup & your application (space) in sub-account already has Hana HDI container then you can directly jump to section “Get Started with the SAP....
In today’s world, hardly any application is built in which there is no distinction between different users, roles or rights. Of course, the same also applies to SAP UI5 applications that are to run on the SAP Business Technology Platform. In this small post I would like to go into more detail about the configuration....
“Events-to-Business Actions” architecture is an event-driven framework based on SAP Business Technology Platform (SAP BTP) to respond to and integrate with events generated from industrial production processes in plants, warehouses, and logistics into enterprise business systems, triggering associated business processes to enhance enterprise operations and enable rapid decision-making. The framework can integrate with events processed via....
Blog post series [Part-1] ‘Events-to-Business Actions’: An event-driven architecture on SAP BTP to implement Industry 4.0 scenarios with Microsoft Azure Services (click here) [Part-2] Understand the details of “Events-To-Business Actions” framework (click here) [Part-3] SAP Integration Suite’s upcoming event bridging functionality for outbound scenario (click here) [Part-4] Try out ‘Events to Business Actions Framework’ for SAP Service Cloud scenario....
Cloud Application Programming Model (CAP) is a set of languages, libraries, and tools that are used to create robust services and applications for businesses on SAP Business Technology Platform (BTP). It leads developers down a “golden path” of tried-and-true best practices and a plethora of out-of-the-box solutions to recurring tasks. A CAP application typically provides....
In my previous blog post [Part – 1] Enrich CAP based Services with Behaviors using Annotations, We explored how to enrich CAP based services with access control and input validation related behavioral capabilities using annotations. In this blog post, We will see about Service/API Annotations, Persistence Annotations, OData Annotations to alter behavior of services. Glossary of....
This is the continuation of my previous blog, where I started with the concepts of event driven architecture and integrated event mesh with CAP project. In this blog I continue the journey by creating a consumer API and integrating an end to end use case starting from CAP project (REST API) – SAP Event Mesh –....
A few months ago we were working in a CAP development where after the CAP SAPUI5 application was implemented, one of the requirements that we had was generating a PDF document with Forms Service API using the document details opened with the Object Page UI5 Element. Since the requirement was to have a button on....
Over the last few months, Sanraj Mitra, Shetty Vriddhi and myself have been working on a product inspection solution combining SAP solutions with external technologies. Product inspection is a key part of quality assurance where goods are assessed for compliance with the company’s standards. Due to the wide range of checklists for each product, this often is a complex procedure.....
I enjoyed meeting customers face-to-face at SAP TechEd 2022 a couple of weeks ago. Being back in person in Las Vegas was great, supporting hands-on lab sessions, and promoting our SAP BTP Use Cases. One of our featured use cases, which you can try out with SAP BTP free tier service plans, is Create simple, connected experiences....
この記事は SAP Advent Calendar 2022 の12月4日分の記事として執筆しています。 日本語のCAP情報が不足していると感じたため、本記事ではCAP初心者向けのTipsや参考情報を紹介したいと思います。 CAPについて SAP Cloud Application Programing Modelとは、サーバサイドアプリケーションを作成するためのフレームワークであり、簡単にODataサービスを作成することができます。 Fiori ElementsやUI5の相棒として使われます。 なお、CAPはNode.jsで開発するか、Javaで開発するかを選択することができますが、本記事ではNode.jsを選択することとします。 CAPの使い方(基本) CAPの最もオーソドックスな使い方は、HANA Cloud内のテーブルを読み書きするためのODataサービスを作成する。 ということになります。 下記の記事やチュートリアルを参考にすると良いでしょう。 https://qiita.com/tami/items/d1b69a93da14e288faf2 https://developers.sap.com/tutorials/appstudio-cap-app.html 外部APIを呼び出す 外部のOData APIを呼び出すケースも考えられます。 例えばS/4HANAの拡張アプリケーションをUI5+CAPで作成する場合には、アプリからはHANA Cloudの読み書きができるだけでは不十分で、S/4HANAのAPIも呼び出す必要があるでしょう。 下記のチュートリアルが参考になります。 https://developers.sap.com/tutorials/btp-app-ext-service-add-consumption.html Expressを利用する Node.jsでWebアプリケーションを作成するときに最もよく使われるフレームワークがExpressです。 そもそもCAPはExpress上で動いているのですが、素のExpressを利用したくなることがあります。 CAPの標準機能だけではどのように実装すれば良いかわからない場合があったとしても、ExpressはWeb上にサンプルコードや参考情報が非常に多く、大抵のことはできるようになるでしょう。 例えばエクセルやCSVをアップロードして、サーバ側で処理してDBに格納するなどもExpressであれば簡単です。 Expressを利用するには、server.jsという名前でファイル作成し、srv直下に置くだけで利用できます。 中身は下記のようにして下さい。 https://<ホスト名>/endpoint や https://<ホスト名>/endpoint2にブラウザでアクセスすると、Expressのルーティングが有効になっていることを確認できます。 もちろん、server.jsのソースコード上部で必要なモジュールをどんどんrequireし、様々なNode.js向けのモジュール(ライブラリ)を活用した複雑な処理を実装することが可能です。 const cds = require('@sap/cds'); cds.on('bootstrap', app => { app.post('/endpoint', function(req, res, next) { // express handler....
This is the continuation of my previous blog, where I explained how to create entity relationships in CAP/CDS with a working example of a very useful scenario observed in enterprise applications. In this blog, I will take the same use case further by enhancing and integrating it SAP Event Mesh. What is Event-Driven-Architecture (EDA) and Why....
For a great user experience, it is very important that users can enter data quickly, fluently, and efficiently – even on a slow network. This is particularly relevant for power users, i.e., users who spend significant time with data entry, often using keyboard shortcuts to move from field to field. In this post, we will....
SAP Business Process automation Error Free 10 steps to work on ‘TRIAL VERSION’. Purpose – This blog post serves how to setup your SAP BTP Trial account and use Business Process Automation ( Featured for Low Code No Code ). Introduction – What is LCNC ( Low Code No Code ) ? Low code no code is an....
SAP HANA Cloud provides several built-in algorithms to process data. Custom logic can be implemented in SQL script and executed in procedures or functions. Apart from that, procedures and can leverage more advanced capabilities from the so called Advanced Processing Engines (like the Machine Learning, Graph and Spatial engines). How can a procedure be exposed....
While developing enterprise ready cloud applications using Cloud Application Application programming model (CAP), you can define / model custom operations specific to business entity or process via functions or actions in addition to CRUD operations. Actions are used for operations, which add or modify data via POST request. Functions are used to only retrieve data via GET....
Welcome Back! In my first blog post(click here), we tried to understand the advantages of private registries over public registries. Additionally, we understand how to choose the best container registry based on customers’ needs and compare the leading container registries available in the market. One of the top registries in the current market is Amazon Elastic....
The Service Binding Access library is a utility for easily reading application configurations for bound services in the Cloud Foundry and Kubernetes environment of SAP Business Technology Platform. It combines best practices with extended compatibility and low maintenance for library developers. A service binding is a set of properties that describe how an application shall establish communication with an....
SAP introduced the SAP Job Scheduling Service on the SAP Business Technology Platform to provide a service to define and manage jobs that run once or on a reoccurring schedule. The service can call REST API endpoints once or in time intervals, by sending specified HTTP calls. The functionality of the SAP Job Scheduling....
In this blog post, we will learn How to Connect to Cloud Services From CAP Application Locally Though our SAP CAP Official Document is clearly explained hybrid-testing, I would like to illustrate with an use-case “Connect to Northwind Cloud Service Locally in CAP Node JS Application using Function Import” In General Service can be from any external remote....
目次 はじめに 概要 シナリオ説明 ハンズオン プロジェクト用意 プロジェクト生成 SFSF接続設定 データモデル定義 サービスモデル定義 ビジネスロジック拡張 読み込み系処理 書き込み系処理 ローカル実行 CFへのデプロイ 1. はじめに 1.1. 概要 本ブログはCloud Application Programming Model(CAP)を用いてSFSFとHANA Cloudのデータのやり取りをするアプリケーションの開発方法を紹介します。主な紹介の範囲はCAP上のSAP SuccessFactors(SFSF)接続用の設定からビジネスロジックの拡張方法までです。 1.2. シナリオ説明 SAP Business Application Studio(BAS)上でSFSFのPerPersonalのODataサービスを利用したCRUD処理を提供するアプリケーションを開発します。開発したアプリケーションはCloud Foundry環境へとデプロイし、HANA Cloudに接続されます。 2. ハンズオン 2.1. プロジェクト用意 2.1.1. プロジェクト生成 BASのTerminal上でcds init <project-name>を実行し、アプリケーションの雛形を作成します。実際に実行するコマンドは以下のようにaddオプションを使用して--add mta,hanaを付け加えた上でアプリケーション名を入力してください。addオプションを用いることで生成される雛形にいくつかの機能を追加可能です。ここではCloud Foundry環境へのデプロイ時に使用するMulti Target ApplicationのディスクリプタファイルやHANA Cloud用デプロイメントアーティファクトを生成するための設定を機能として加えています。他にはサンプルプログラムを埋め込むためのsamplesなどがあります。これらの機能はすべて手動で記述することも可能ですが、プロジェクト生成時のオプションとして事前に付け加えることで開発作業のうち煩雑ないくつかの要素をスキップすることができます。 $ cds init --add mta,hana cap-sfsf-handson Creating new....
Purpose of the AFL is to do complex calculations and computations at Database Level rather than at application level to save network traffic and bandwidth along with making the executions much faster, so the Application Function Library (AFL) defines functions that can be called from within SAP HANA SQL Script procedures to perform analytic algorithms.SAP HANA’s SQL Script is an extension....
In a recent assignment, I had the opportunity to use the Cloud Application Programming Model and Fiori Elements to design and create an enterprise-ready application. I used a few concepts like dynamic expressions, side effects, and custom actions on object pages. However, finding appropriate material or references with examples and understanding the concepts required a lot....
The invention of OS-level virtualization to deliver software in packages called containers was one of the first steps toward modernizing the development process of cloud-based applications. In the pre-container world, Developers had to configure applications specific to physical or virtual machines, creating install packages in unique versions for the operating system and machine variants, often....
SAP Cloud Application Programming Model (CAP) is being used vastly as a preferred way of development approach while working with SAP BTP. Developers who used to work as an ABAPers earlier, might have realized that while working with ABAP it was really easy when it comes to consuming Database Tables across applications/object. But in case....
Hello fellow SAP developers, this will a short one but I think it might be helpful to other developers. We had the problem, that the READ requests from our SAPUI5 application took a very long time to process in the S4/HANA backend system but were actually returning fine. Somewhere in SAPUI5 app, the CAP middleware,....
Introduction A very common use case that we experience while designing an application is the necessity to switch databases on the fly based on region or read/write activity in order to reduce latency and boost availability. Consider a geo-distributed app, which spans many geographic locations to ensure high availability, resiliency, compliance, and performance. The application....
The goal of resilience or robust software design is to deal with failures that occur in complex system landscapes while they are being used, but should ideally go unnoticed by users. In contrast to conventional stability techniques, its objective is to maximize the availability of systems and system landscapes rather than to decrease the likelihood....
As explained in Capire documentation you can efficiently and rapidly build enterprise ready cloud services & business applications in a full-stack development approach and extend S/4HANA with your own choice of Tools using your comfortable IDE/Code Editors such as SAP Business Application Studio or Visual Studio Code or Eclipse based on either JavaScript/Node.js/Express.js or Java Spring Boot in a platform-agnostic mode CAP has Dedicated tools....
Introduction In the past, we have built reliable software systems by attempting to avoid mistakes and breakdowns, but modern resilience-based techniques advocate accepting failure rather than attempting to avoid it. There are different principles and patterns that may be used to make your applications more resilient. However, finding the combination that best fits your applications....
In the quest to understand Cloud Application Programming (CAP) model and Core Data & Services (CDS), I started reading blogs and trying some very good missions available in SAP tutorials. Coming from SAP Commerce background, many things were kind of new and completely different for me to start the journey in CAP and CDS. Thanks....
Important Links Overview / Basic Scope / Advanced Scope / Expert Scope SAP-samples GitHub Repository Hello and welcome again to the third part of the blog post series on building your own multitenant SaaS application on SAP BTP using CAP. The third blog post of the series will summarize the Advanced Scope. In the overview blogpost you have learned the general idea and motivation....
This example demonstrates how to upload data from excel into HANA cloud tables. This can be beneficial for mass upload of data using excel. A fiori elements list report is created to display and upload the data into the tables. Upload button is added as an extension to the List Report Application. The upload entity....
This is the continuation of my previous blog, where I started with a very simple project of creating REST services using CAP leveraging CDS and integrating with BTP services. In this blog, I will enhance the CAP project with below tasks – Use case modeling – Time for some Design Thinking. Create relationships between entities. Visualize....
My last blog series have been based on the Architecting BTP CAPM based applications, this is the extension of those Blog series with some Real Life Business Challenges and solving the problem with ease utilizing the BTP CAPM Framework. I am working as a BTP & S4HANA Solutions Architect and working extensively on BTP & S4HANA greenfield Implementations.....
This is the second blog for my Blog series “Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA System utilizing Principal Propagation]. In my previous blog, we have discussed in detail from the Business Perspective, I would be discussing about detail Technical Architecture in this blog. Next blog is about the actual....
This is the final blog of my Blog series “Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]”. We have discussed so far Business Requirement in detail and understanding of the Landscape Technical Architecture & Component Detail In this blog, We will discussing....
8 Important Links Overview / Basic Scope / Advanced Scope / Expert Scope SAP-samples GitHub Repository Hello and welcome again to the fourth and last part of the blog post series on building your own “Multitenant SaaS application on SAP BTP using CAP”. This blog post will summarize the extensive Expert Scope. In the Overview blog post, you have learned the general idea and....
On the 24th of September I attended the SAP Inside Track 2022 event to join the big re-connect! It was a pleasure to see so many SAP Community members in one place, after 2 postponed years of SITbe! All these people, a great location and amazing sessions were key to another fantastic and fun SITbe edition. Together with....
The SAP Business Technology Platform (BTP) Developer Onboarding video tutorial series from the SAP HANA Academy has just been completely revised and updated for the 2022 season. In this article you will find the videos embedded with references and additional information. For the main article, see SAP BTP Developer Onboarding | Hands-on Video Tutorials Anything....
Nowadays many companies choose to build business process extension projects for the SAP product they use and deploy on SAP Business Technology Platform, so that they could write the custom code and integrate with other SAP managed services or SaaS (software as a service) easily and quickly. At the same time, hyperscalers are playing an....
Common Import API Definition with cds import Database Compile CDS Models to Different Outputs with cds compile Persist Data by Deploying to SQLite with cds deploy --to sqlite Add HANA Configuration with cds add hana Persist Data by Deploying to HANA with cds deploy –-to hana Security Generate XSUAA Deploy Configuration with cds add xsuaa Based on CDS Annotations Update XSUAA Deploy....
Important Links Overview / Basic Scope / Advanced Scope / Expert Scope SAP-samples GitHub Repository Sustainable SaaS (SusaaS) sample application Inspired by a recent partner co-innovation project with The Boston Consulting Group (BCG), this is the first post of a series on building a multitenant Software as a Service (SaaS) application on SAP Business Technology Platform (BTP). The use of the Cloud Application Programming....
通用 导入API接口定义:cds import 数据库 编译CDS模型为不同格式的输出:cds compile 部署至SQLite来持久化数据:cds deploy --to sqlite 添加HANA的配置:cds add hana 部署至HANA来持久化数据:cds deploy –-to hana 安全 基于CDS Annotations来生成XSUAA相关的部署配置:cds add xsuaa 更新XSUAA相关的部署配置:cds compile MTA 根据package.json生成MTA相关部署配置:cds add mta Fiori工具 增加前端应用部署相关配置:fiori add deploy-config 通用 导入API接口定义:cds import 你需要做的第一件事是获取XML文件 (EDM XML,Entity Data Model XML,缩写 EDMX) ,这些文件定义了OData服务包含的实体,以便后续应用程序使用。你可以从SAP API Business Hub获得这些XML文件。 使用 cds import 命令将API接口定义导入你的项目: cds import srv/<api-definition-file-name>.edmx 这条命令会将你的API接口定义以CSN(Core Schema Notation)的格式加入srv/external文件夹中,同时拷贝EDMX文件至该文件。你可以看到,CSN文件不过是一个对服务元数据以及所包含实体描述的JSON文件。通过该JSON文件,CDS框架可以以简单且安全的CQL(CDS Query Language)方式调用OData服务。....
Important Links Overview / Basic Scope / Advanced Scope / Expert Scope SAP-samples GitHub Repository Hello and welcome to the second part of the blog post series on building your own multitenant SaaS application on SAP BTP using CAP. As mentioned in the overview blog post Multitenant SaaS applications on SAP BTP using CAP? Tried-and-True! by Martin Frick, this is the second blog post....
The blog shows how to achieve fuzzy search and case insensitive by overwriting the CQL (CDS Query Language). If you are not familiar with CQL, please refer to the link Story As a fiori (SAPUI5) developer, most of you knows smart table and smart filter, they provide a rapidly way to customize a inquiry page....
This blog post is about automatic documentation of OData entities. As I already explain in my previous blogs, I don’t like wasting time on tasks that can be done automatically (and in a more efficient way) by some tools. On another side, I really like, when I use some OData entities, to see a nice....
Trust and believe, nobody’s going to be where they are not supposed to be. Warrants the SAP Authorization and Trust management service. Which its sole mandate is to provide support to your security policies of your organization, permit user authorization and trust to identity providers. Developers may configure and deploy application-based security artifacts containing authorizations....
I’m still new to cloud development with SAP and got confused the other day about the different roles that exist in the BTP, IAS and Launchpad service. I want to write this blog to help people who are also just new in this environment. Simply put: BTP = Roles / Role Collections IAS = Groups Launchpad Service =....
I am a developer at SAP Labs India. I tried to secure a set of SAP Cloud Application Programming Model (CAP) java applications which are integrated with each other, with a single SAP Authorization and Trust Management service (XSUAA) instance for authentication and authorization, where each application had its own set of roles for authorization. I....
In this blog post, i would like to give you a brief overview ‘destinations’ in SAP BTP, Cloud Foundry. I will also show real time use case. “How to connect to SAP CPQ Service from BTP CAP Application” This will be similar approach if you are looking for “How to connect to any external REST....
NOTE: this blog post is intended for developers who have previous experience in developing CAP applications using SAP Business Application Studio, SAP BTP destinations, and the destination and XSUAA services. Introduction Secure cloud software should always rely on some sort of authentication and authorization mechanism to let users benefit from its functionality and protect it....
Qualtrics allows users to create surveys and generate reports without much programming effort. we have faced many requests where customers want to connect Qualtrics in their BTP setup and get real-time feedback/surveys built in their application along with a reporting tool to understand the feedback surveys and take informed decisions in their projects. We implemented....
Interested to get SAP BTP certified? Here is a video tutorial series from the SAP HANA Academy to help you reach your goal. Get Certified – SAP HANA Cloud Development << this article Get Certified – SAP HANA Cloud Administration Get Certified – SAP BTP Extension Developer (Extension Suite) Get Certified – SAP Integration Suite Get....
I was part of a CAP project which has grown over time and started causing issues during deployment. From time to time the deployment failed because of the following error: Timeout occurs when trying to start DB service (Failed to make TCP connection to port 8080: connection refused As this occurred more often I started....
A framework of languages, libraries, and tools called the SAP Cloud Application Programming Model (CAP) is used to create enterprise-level services and applications. The CAP framework combines open-source and SAP technologies that have been successfully deployed and are widely used.On top of open source technologies, the key additions made by CAP are: Core Data Services (CDS) which serves....
In this video series, we will look at some of the intermediate and advanced concepts of SAP Cloud Application Programming Model We will cover various topics like background tasks, emitting events and handling events, connecting to remote services, multi-tenancy, job scheduler etc. More videos will be added periodically Synopsis: OData V2 service support Retrieving....
coauthor: Ralf Handl SAP Fiori Elements Object Page Floorplan Draft Scenario Displaying an Error Message OData Error Message Introduction When building applications with the SAP Cloud Application Programming Model (CAP), generic service providers significantly shorten the service development time by providing many out-of-the-box solutions to recurring tasks allowing you to focus on the specific business logic of your application,....
The series of blog posts is written by Frank Gottfried, Christoph Morgen and Wei Han together. Overview In this blog post, we’ll describe an end-to-end scenario, which demonstrates how to develop a SAP Cloud Programming Model (CAP) application in SAP Business Application Studio that leverages the machine learning capabilities (HANA PAL and APL library) from SAP HANA Cloud. Additionally, we’d like to showcase how....
This is the 2nd blog post of the “SAP Data and Analytics Showcase” series of blog posts. We recommend you to look into our overall blog post to gain a better understanding of the end-to-end scenario and use case which combine multiple capabilities of SAP Data and Analytics solutions. In this blog post, we will cover how to create....
Hello All, Welcome to the part 2 of my earlier blog post. The expectation here is your have gone through the Part 1 of the Blog Post and if you had not you can find the link below : – Create a CDS Entity in SAP BTP, Expose the Entity as an OData Service to....
The team behind the SAP Cloud Application Programming Model recently released an enhancement to the CDS importer to generate service models from OpenAPI documents. You can now run cds import <openapi file path> with any OpenAPI document and the importer will create a service definition with unbound actions and functions for all operations of the document. I took this....
Testing is an important part of modern programming culture, and CAP provides many tools to make our life easier. For simple applications, we can use the provided `cds.test` to launch a CAP test server to work with. (See reference here https://cap.cloud.sap/docs/node.js/cds-test) This is similar to `cds watch` where an in-memory database is spun up as default....
in this blog post, I would like to show you from scratch, how you can display hierarchical data in an SAP Fiori elements app based on CDS services provided by the SAP Cloud Application Programming Model. I saw many questions internally and externally in the SAP community, asking how to do this. The answer is....
With this post I would like to bring attention to an easy first step towards enabling a security best practice – frequent changing of secrets. Below I describe why and how developers could make changing of secrets used in their applications running on SAP BTP easy. I show how to deploy multitarget applications (mta) so....
NOTE: this blog posts series is intended for developers who have previous experience in developing CAP applications using SAP Business Application Studio, SAP BTP destinations, and the destination and XSUAA services. Introduction Secure cloud software should always rely on some sort of authentication and authorization mechanism to let users benefit from its functionality and protect....
This post is part 8 of a series sharing service implementation experience and possible applications of SAP Private Link Service on Azure. Find the table of contents and my curated news regarding series updates here. Looking for part 9? Find the associated GitHub repos here. Dear community, Continuing with the implementation journey of SAP Private Link Service (PLS) for....
Update 30.08.2022: Please note – This use-case is currently being refactored as public SAP IAS tokens (issued by the PKCE flow) do not contain the required SAP XSUAA audience anymore. Therefore, an additional token exchange is required to run the end-to-end scenario. Covid has in some way affected every part of our lives, be it....
With the Kyma Runtime, you can use services offered by the SAP Business Technology Platform (SAP BTP). Previously service bindings were limited to the SAP BTP Cloud Foundry environment. Learn how to consume them in your application running in the SAP BTP Kyma environment. Introduction SAP BTP services run outside of your Kyma cluster, just like....
With the latest CAP major release 6 for cds and cds-dk, you can deploy your CAP application on the Kyma Runtime of SAP Business Technology Platform (SAP BTP). The Kyma Runtime is the SAP-managed offering for the Kubernetes based Kyma cloud-native application runtime. Scope For the first release of CAP on Kyma, our goal was to support “extension” projects: Single-tenant CAP service (Node.js....
This is the 5th blog post of the blog series about Building Intelligent and Sustainability Scenarios on SAP BTP with AI and Planning by Gianluigi BAGNOLI, Yatsea Li, Alice Magnani, Cesare Calabria, Stuart Clarke, Dayanand Karalkar and Jacob Tan, which showcases our SAP Partners how to create industry cloud solutions for end-to-end industry-specific business processes that embeds intelligence and sustainability. Previously, in the first blog....
To follow-up with this blog post you must have read and completed the post: Setup project for development. Configure the User API Service The first approach to get the authenticated user information is the simplest as it does not rely on any backend service to be consumed and can be utilized directly in an HTML5 application....
To follow-up with this blog post you must have read and completed the post: Setup project for development. Modify the “userInfo” Function Handler The second approach to get the authenticated user information is also simple, but is actually done in the backend service of the solution, meaning the CAP service. As we have previously prepared a “skeleton”....
To follow-up with this blog post you must have read and completed the post: Setup project for development. Reference the XSUAA Service The third approach to get the authenticated user information is the most enhanced and complete one as it gets many available user data, such as ID in the source IdP, internal BTP ID and....
Why Use Morgan In one sentence, morgan simplifies the task of logging HTTP requests to and from your application. What does this mean? Normally (without morgan), developers need to manually create all the logging logic. They need to instruct Node.js/Express.js what, how, and where to save. Morgan does this for you. It collects logs from....
In this post I describe how to scale a microservice by deploying it in multiple apps on SAP BTP, Cloud Foundry runtime. I describe my experience with achieving this using multiple modules in a multitarget application (mtar). SAP BTP, Cloud Foundry runtime allows scaling of apps by adding more instances and more memory. It was....
Following on from the success of our SAP Integration Suite Learning Program where over 100 customers have received a digital badge for completing the Learning Program demonstrating their knowledge of SAP Integration topics, we have released similar content for SAP Extension Suite. The SAP Extension Suite: Become an Extension Black-belt Learning Program is now available in the SAP Learning....
Updates 22.06.2022: SAP Private Link service on Azure is now generally available (GA) Annoucement Dear Community, In this blog post, I would like to share how you can enhance your extensions running on SAP BTP to securely consume the data from the SAP S/4HANA system with the help of SAP Private Link Service. To get started with....
The SAP Business Technology Platform (BTP) provides an environment to build and run full-stack applications on a trusted enterprise-grade platform. Running such applications side-by-side to SAP solutions such as SAP Business ByDesign, SAP Business One and S/4HANA Cloud requires in particular that these apps fit to the SAP standard and deliver a seamless user experience across solutions and applications. For this goal we....
Authors: Ayush Kumar & Vipul Khullar Previous blog post in this series: [Blog Series] SAP Event Mesh – Deep Dive | SAP Blogs [Blog Post] SAP Event Mesh – Event Driven Architecture Explained | SAP Blogs [Blog Post] SAP Event Mesh – Single Tenancy & Multi-Tenancy Explained | SAP Blogs Introduction: In the previous few blog posts, we....
CAP and its documentation capire are continuously growing (https://cap.cloud.sap/docs/node.js/cds-ql). While there are many code samples, it might be overwhelming to understand the object-relational querying syntax of CAP. The aforementioned documentation gives guidance about the capabilities of the NodeJS version of CAP querying. This blog posts intends to give various code samples for fast development and....
I like a lot, that SAP Cloud Application Programming Model (CAP) supports enumerations in data modeling (ref documentation). In my opinion, enumerations are an easy way to bring more semantic in the data model and write code easier to read and therefore to maintain. Unfortunately, using enumeration in service implementation is not possible yet in CAP.....
Interested to get SAP BTP certified? Here is a video tutorial series from the SAP HANA Academy to help you reach your goal. Get Certified – SAP BTP Extension Developer (Extension Suite) << this article Get Certified – SAP Integration Suite Get Certified – SAP HANA Cloud Administration Get Certified – SAP HANA Cloud Development Get....
Assuming you are a developer, you probably ran into the need to access some secret from your app. For example a user/password/key to connect a remote system. In SAP BTP you of course have the destination service that cover some use cases with a good security approach. Unfortunately the destination service does not fit all....
さて、SAP AppGyverの記事です。 本日は画像データの取り扱いについて解説したいと思います。画像は。。。。賛否両論ありますが、HANA CloudのBLOB型に格納することにしましょう。 前提 今回は写真を撮ってHANA CloudのBLOB型カラムに格納するアプリケーションの作成について解説します。(次回は保存したデータを呼び出して表示するというアプリケーションを作成しようと思います。) カメラを使うのでスマートフォンにSAP AppGyver Previewアプリをインストールしてアプリを実行できるようにしておく必要があります。Web Previewでは実行できません。 前準備 Maxime SimonがCAPでSAP HANA CloudのテーブルをODataサービスとして公開するというブログを書いています。この解説の環境を利用することにします。まずは彼のブログの通り環境を作成し、ODataでデータを公開できることを確認して下さい。そして彼の解説に以下のエンティティを追加します。 schema.cds entity BlobTest : cuid { imagedata : LargeBinary; mimetype : String(100); } incidentService.cds entity BlobTest as projection on cloud.BlobTest; をservice IncidentService {....} 内に追加 また、今回SAP AppgyverからこのODataサービスを使用しますので、CORSを許可するために、srvディレクトリの下にserver.jsというファイルを作成し、下記を記述して下さい。 "use strict"; const cds = require("@sap/cds"); const cors = require("cors"); cds.on("bootstrap", app =>....
SAP Cloud Application Programming (CAP for short) lets you develop applications quickly while also guiding you to use the best practices. See the Updates section for new information. CAP application development is fast as the tools allow you to quickly create a new project which has a useful configuration out of the box. It helps you focus by....
※この記事は前回からの続きものです。前回の記事で作った環境を前提としますのでまだの方はそちらをご参照下さい。 今回は前回HANA CloudのBLOB型カラムに格納した画像データをAppGyverアプリで呼び出して表示させる部分の解説です。 AppGyverアプリへの追加開発 ページの追加 今回は画像IDの一覧を表示して、それをタップすると画像を表示するという機能を作りたいと思います。同じページで作っても良いでしょうが、この機能のページを別に追加したいと思います。 GetImageというページを新規に追加します。 ついでにNavigationの機能でナビゲーションメニューにこの新しく追加したページを追加します。 これでスマートフォンの場合画面下部に表示されるナビゲーションメニューでこの新しく追加したページに移動できるようになります。 データリソースの追加 現状のAppGyverの仕様と思われる現象があり、前回定義したOData Integrationリソースでは思うようなデータを取得することが出来ませんので新規にREST API Direct IntegrationリソースとしてBlobTestのODataサービスを追加します。 今回は「GETBLOBTEST」という名前でREST API Direct Integrationリソースを追加します。ResourceURLはOData Integration リソースの時と違い、メタデータではなく/incident/BlobTestという実際のサービスを行うところまで入力する必要があります。 今回使用するのはGET COLLECTION(GET)だけです。 Resource key pathにはvalueと設定することを忘れないで下さい。(ODataリソースをREST APIリソースとして設定する場合は必要です。)そして Query parameterとして$selectを追加します。これは Is staticはTrueでValueとしてIDを設定して下さい。これでURLに?$select=IDが付与されて実行されることになります。IDカラムだけを取得するということになります。 TESTで実行してみましょう。 そしてSET SCHEMA FROM RESPONSEをクリックします。 最終的に設定されるスキーマは以下のようになります。 これでデータリソースの設定は完了です。 余談:REST API Direct Integrationで設定した理由 前回設定したODataリソースを使用しようとしたのですが、以下の理由で今回は断念しています。 ・$selectによるフィルタが現状のODataリソースでは出来なかった。 IDの一覧表示の場合はIDカラムだけのデータが欲しかったのですが、ODataリソースの場合この設定が出来ませんでした。 このためREST APIとして設定して回避しています。これは今後改善されると思われますのでこのブログ公開時点のものと考えて下さい。 テスト機能では$select指定が出来るのですが、実使用の際に引数を与えられないのが謎ですね。 変数の設定 この画面にPage variablesを設定します。 このようにテキスト型でImagedataとmimetypeを設定します。これはODataから受け取った同名のカラムの値を保持するものとして使用します。 画面とロジックの開発 画面は以下のようにシンプルな構成とします。 Scroll....
Now, here is an article on SAP AppGyver. Today I would like to explain how to handle image data. Images can be found at ….. There are pros and cons to storing it in HANA Cloud’s BLOB type column. Assumption In this article, I will explain how to create an application that takes a photo....
This article is a continuation of the previous one. This article assumes the environment created in the previous article, so please refer to that article if you have not yet done so. This time, I will explain how to display the image data stored in the BLOB type column of HANA Cloud using the SAP AppGyver....
本ドキュメントは2022年3月7日時点のcapireのCookbookの一部であるReuse, Compose, and Integrateを短く日本語ドキュメントにまとめたものです。以降、Reuse、ComposeおよびIntegrateはそれぞれ”あるオブジェクトの再利用すること”、”別オブジェクトと結合させて新たなオブジェクトを用意すること”、“あるオブジェクトに別オブジェクトの機能を埋め込むこと”を意味するキーワードとして利用します。 本ドキュメントは上記時点のCookbookを参照してまとめられています。最新の情報は必ずCookbookをご確認ください。また、本ドキュメントにおける翻訳は単語の正確な翻訳よりも文脈の掴みやすさを重視して翻訳しています。正確な情報を入手される場合も必ずCookbookをご確認ください。 翻訳まとめ Reuse, Compose, and Integrate CAPのプロジェクトを再利用したり拡張したい場合に、どのような手段を取ることが可能か紹介します。 目次 はじめに 使用シナリオ サンプルプロジェクト 試すときに必要な用意 インポートによるパッケージの再利用 npmレジストリからnpm add/installでインポート その他のソースからインポート 再利用における“組込み”と“統合” インポートされたモデルの再利用 using from命令 index.cdsを使用した組込み その他組込み方法 インポートした定義の使用および拡張 インポートしたコードの再利用 Node.jsの場合 インポートしたUIの再利用 サービスの統合 1. はじめに パッケージのインポートによって、CAPはモデル、コード、初期データやi18nバンドルを再利用可能です。 1-1. 使用シナリオ CAPのreuse、composeおよびintegrateテクニックを使用することで、開発者は下記のようなさまざまな再利用シナリオに対応可能です。 Verticalized/Composite Solutions(垂直型compose手法) — 開発者はいくつかのパッケージ(もしくはサービス)を選択し、マッシュアップするように新たなCAPアプリケーションを開発します。 Prebuilt Extension Packages(事前定義の拡張パッケージ) — 上記垂直型compose手法で利用されることなどを前提に、開発者は新たな拡張パッケージを用意します。 Prebuilt Integration Packages(事前定義の統合パッケージ) — 上記垂直型compose手法で利用されることなどを前提に、開発者は新たな統合パッケージを用意します。 Prebuilt Business....
Philip MUGGLESTONE from the SAP HANA Academy just released a new series of hands-on tutorial videos introducing SAP Graph. In this blog post you will find the videos embedded with references and some additional information for the Developer persona. For the introduction article, see SAP Graph | Hands-on Video Tutorials For the other personas, see SAP Graph –....
We had a requirement to fetch learners’ history from LinkedIn learning API and covert this message to the format to be uploaded as learning history in SuccessFactors (SF). I would like to share my experience is going about building this integration flow using the Integration Suite. The below fields needed to be mapped. email ->....
Introduction: Hi all, for the past couple of months me and my team are working on the SAP Event Mesh service to decouple our SAP BTP-based solution from tight integration with other SAP products/services. Through the course of our implementation of the SAP Event Mesh service, we learned quite a lot. Hence we would like....
Philip MUGGLESTONE from the SAP HANA Academy just published two new hands-on video tutorial about additional services when using the SAP Business Technology Platform extension generators with the SAP Cloud Application Programming model (CAP). In this article you will find the videos embedded with references and additional information. For related articles on the topic, see SAP....
If you are new to the SAP Business Technology Platform (SAP BTP), there is definitely a lot to learn. Especially if you’re excited about one of the many solutions on SAP BTP, such as app development, data, and analytics, integrating and automation, artificial intelligence, machine learning, and many more. That being said, let’s get straight....
Great news! The low-code application development in SAP Business Application Studio is now available out-of-the-box to all users and in SAP BTP Free-Tier! This means that customers, partners, or individual developers, already using SAP Business Application Studio for professional development can now easily access low-code attributes, such as a development toolkit, visual user interface, reusable....
Developing Spring Boot Application with SAP HANA to store Meter Usage In the AI on mobile: Powering your field force – Part 1, Vriddhi Shetty has set the context of the project and explained what we are trying to achieve with the blog post series. In next section, I will walk you through the steps to create the....
Welcome to the Third episode of the Series: SAP CAPM Full Stack UI5 Application with CRUD Operations. Till now we have created Development Space in BAS and set up a project structure for further development. In this episode, we will create a database entity for the project and expose the same. Assumption(OR Must Have to Start): You have....
To follow-up with this blog post you must have read and completed the following previous blog posts in this series: Series introduction and preparation Jumpstart the CAP Project Import SAP SuccessFactors OData Services definitions Define the CDS Data Model Create the CAP Service Add Business Logic Prepare the UI with CDS Annotations Add Security Deploy....
Previous article – Introducing CAP to SAP Commissions This article describes how to consume file based approach using with CAP (Cloud Application Programming) for end users to see the report. There are several ways we can make use of CAP Application for the end users to see the real data. Download raw data from Commissions workspace as....
Previous article – SAP Commissions – CAP – Consuming Files based – Part 1 This article describes how to make a Fiori App for the end users to see the Payments report from your project. Note: you need to run the below cds command and start configuring as per below steps cds watch Go to File – select New....
If you are a JavaScript developer then you have multiple options and frameworks for connecting to and working with SAP HANA databases. It’s easy to be overwhelmed with too many options, some of which even seem to be overlapping in functionality. In this blog post series, I’d like to walk the reader through the assorted....
Welcome to the Fifth episode of the Series: SAP CAPM Full Stack UI5 Application with CRUD Operations. Till now we have created Development Space in BAS, set up a project structure for development, created entities and exposed the same as Odata services. In this episode, we will create a FreeStyle UI5 Application for the project. Assumption(OR Must Have....
Welcome to the Fourth Episode of the Series: SAP CAPM Full Stack UI5 Application with CRUD Operations. Till now we have created Development Space in BAS, set up a project structure for development, created entities and exposed the same as Odata services. In this episode, we will be inserting the Data in the created database entity for the....
In the previous blog post in this series, we took a deep look at the two major different JavaScript modules that act as HANA Clients: @sap/hana-client and hdb. Architectural differences aside, let’s return to that sample usage of the @sap/hana-client we saw at the end of the previous blog post: import hanaClient from "@sap/hana-client" import * as xsenv from "@sap/xsenv" export....
Welcome to the Sixth Episode of the Series: SAP CAPM Full Stack UI5 Application with CRUD Operations. Till now we have created Development Space in BAS with a project structure for development, created entities and exposed Odata services. In this episode, we will create a Table in UI, do READ Operation on our Odata service & bind the....
Welcome to the Seventh Episode of the Series: SAP CAPM Full Stack UI5 Application with CRUD Operations. Till now we have set up Development Space in BAS, created entities, exposed and Integrated Odata services. In this episode, we will do Create and Delete Operation on the Table created in the previous episode. Assumption(OR Must Have to Start): You....
In this series of Blogs, I would be discussing about Architecting, Solutioning, designing complex Cloud Application Programming Model based applications using SAP BTP (Business Technology Platform) Extension Suite. Blog Posts in this Series Here’s the list of blog posts in this series for you to follow. **I will update the Link as soon as I....
Going back to our discuss in the previous blog post in this series about @sap/hana-client and hdb, the situation is now even more complex. @sap/hana-client supports promises, but hdb doesn’t. That’s just one of several differences between the two modules. There are also other functions like connection pooling or calling stored procedures that can be done in both @sap/hana-client and hdb, but perhaps could be made even easier with....
In this blog post series, we’ve explored several aspects of the HANA client tooling for JavaScript developers. In part one, we examined the differences between @sap/hana-client and hdb modules. In part two, we saw how to optimize our code using Promises / Async / Await. Then in part three, we looked at the value of additional wrapper modules like @sap/hdbext and....
This is the 2nd blog of my Blog series on SAP BTP. In this Blog, I would be discussing about: Architecting the BTP Setup for the Green field implementations. Identify the right services and subscription based on the sizing and scalability SAP BTP Configurations and Setup : Based on the Business Process / Requirement In....
NOTE: this blog post is intended for developers who have previous experience in developing CAP applications which consume either OData or REST APIs using SAP Business Application Studio and SAP BTP destinations, as well as handling communication scenarios and communication arrangements in S/4HANA Cloud. Introduction You may have realized that most modern cloud applications are....
This month our team faced a blocker issue of case sensitive filter in SAP Fiori List Report applications supporting Nodejs / Java CAP Model as backend. The business wanted a solution with case insensitive filtering of selection fields in List Report applications. After so many research and blog reviews I have found a simple solution to this. At the time I....
I needed to connect a CAP application to a remote oAuth2 client credentials service. Here is a short recipe 🧑🍳 that describes the steps I made Ingredients: package.json src/rest.cds src/rest.js SAP BTP destination service default-env.json cds bind destination Prerequisites: of course you should have the connection details of the remote service 🤷♂️ For this recipe to work you will....
Note: as David Kunz pointed out below, for CAP projects it is now possible to use cds bind, which can load the environment variables from the BTP CF services based on the current targeted CF space. This makes the use of default-env.json obsolete. 🥳 Introduction When I locally want to run a Node.js application that requires one or....
Introduction: In my last blog post, I introduced how to build a Fiori applicaiton by ABAP RESTful Programming Model (RAP). My Learning Journal On BTP (Series 1) – Using Six Questions And One Example To Learn ABAP RESTful Application Programming Model (RAP) In this blog post, I will use CAP (Cloud Application Programming Model) and....
I recently got in touch with OData in connection with the ABAP Programing Model for SAP Fiori. However, there is more than only this one programing mode. There is SEGW, there is RAP and CAP… I’m aware of the fact that various documents/blogs have been published on the topic of OData already, but for sake....
In CDS, some entities are automatically exposed in a CDS service, for example, entities of compositions for an entity that has been exposed as a projection in a CDS service. In the CDS Graphical Modeler, we have a user option to control how to show and hide those auto-exposed entities in a CDS service. Let’s....
The Advocates Service The Advocates Service is a Node.js based SAP Cloud Application Programming Model service which is deployed on SAP BTP, Cloud Foundry runtime and connected to an SAP HANA Cloud database. The service has three endpoints defined so different types of applications can consume that service. In this Blog Post I will talk....
This example demonstrates how to build multitenant application using Cloud Application Programming Model Java SDK and mtx-sidecar node module. Overview: This sample application contains UI module containing a public welcome page which contains link to fetch data from its own tenant database. backend module which contains CDS service exposing OData CRUD APIs on Books entity....
In the past weeks I explored some capabilities of the SAP Cloud Application Programming Model (CAP) in more details in conjunction with SAP Fiori Elements. To evaluate and explore these capabilities I decided to build “Yet Another Covid-19 Tracker”. Note: This is a more advanced article. If you want to learn more about the basics of SAP CAP please....
Starting the release of CDS Graphical Modeler 2105, you can not only create entities and projections but also the CDS Graphical Modeler would allow you to create structured types, enums and named aspects as well. In this blog post, we’ll demonstrate how to create structured types, enums and aspects using the CDS Graphical Modeler. Creating....
In this blog post will see how to do CRUD operations after defining service in CAPM Please follow steps given in the below link to create database with sample entities and sample data till step “Querying thru OData out-of-box” https://cap.cloud.sap/docs/get-started/in-a-nutshell Now go to menu -> select New Terminal -> and run the command cds run....
In this blog post will see how to do CRUD operations after defining service in CAPM Please follow steps given in the below link to create database with sample entities and sample data till step “Querying thru OData out-of-box” https://cap.cloud.sap/docs/get-started/in-a-nutshell Now go to menu -> select New Terminal -> and run the command cds run....
Today I will show you how you can deploy a CAP service to Cloud Foundry while using the in-memory SQLite database. This approach is useful when your service needs a simple datastore that does not need to persist between service restarts. For instance, if you are providing a mock service and you wish to allow....
Hi developer! We are in an exiting moment for SAP cloud development. Since SAP decided to offer Cloud Foundry environments, the company has release several tools and frameworks that clearly speed up development, and what I even like the most, it gives us flexibility to choose what we want to use and how we want....
I want to provide the SAP community with insights as to where and how we are using the SAP Cloud Application Programming model or short CAP. I saw a presentation on it at TechEd in Las Vegas in 2019 and was immediately impressed by the potential in efficiency gains. Since then, we have used it in several....