Showing posts with label ABAP RESTful Programming Model. Show all posts
Showing posts with label ABAP RESTful Programming Model. Show all posts

Friday, 9 September 2022

Create and Deploy MTA Project to Cloud Foundry account using Business Application Studio

Deploying Fiori List Report and Object Page application to Cloud Foundry account.

We have created Fiori List Report and Object Page Application as MTA Project using Business Application Studio.

Below video shows step by step detailed process of deployment.

Step By Step Guide Create and Deploy MTA Project


What is MTA Project

MTA stands for Multi Target Application. Multi Target Application logically created with multiple different parts which may be written using different languages or technologies. All of these different parts works together to complete application life cycle.

Monday, 21 June 2021

Install ABAP Platform 1909 – Dev Edition on an Azure Ubuntu instance using docker – Part 2

In this part, we are going to focus on the installation and access to the ABAP platform.

I will reiterate the process blueprint to help follow the steps we need to achieve to complete this installation. Since we tackled Step 1 of the blueprint in Part 1 of this series, we will continue from step 2 in this part.

Process blueprint

1. Create and login into an ubuntu instance on Azure.

2. Prepare the data drive on your ubuntu instance.

3. Install docker and move docker data directory to the prepared data drive.

4. Install ABAP Platform 1909 Dev Edition with docker.

5. Open the necessary ports on Azure.

6. Access your ABAP instance in SAP GUI and generate a new license.

Friday, 18 June 2021

Install ABAP Platform 1909 – Dev Edition on an Azure Ubuntu instance using docker – Part 1

Introduction

As coders, we run into several situations where we would like to test snippets of code on a local system before even implementing the snippet in a dev system. In certain instances, we as developers would want to use code QA tools like the ABAP Test Cockpit and either do not have the authorizations to access the tool or are not comfortable with setting it up in a customer system.

My goto setup to get a personal system was the SAP Cloud Appliance Library (SAP CAL), It serves the purpose it was designed for perfectly. It is very well built and very intuitive to use while requiring very little interaction with the underlying technologies to get up and running in a test ABAP environment. The only apparent downside with regards to SAP CAL is the fact that it is a bit of an overkill for what a developer might want to use the system for, which warrants its relatively heavy price tag. The cost break down of running an an SAP NetWeaver AS ABAP 7.51 SP02 on HANA Dev system as at the time of writing this post is: 

Sunday, 18 April 2021

How to use a RFC Function module using RESTful ABAP Programming

I got a requirement to use RFC function module to get the data third party system. Using ABAP programming it is a cake walk for any ABAP developer. But, my client asked to use Eclipse and CDS to achieve this functionality. As many of us are new to Eclipse and CDS views. After doing R&D and found one reference to achieve my requirement. I hope this blog helps to all those who are going to start using Eclipse ADT for their developments.

1. Create a CDS view using templet “Custom entity with parameters”.

2. Create custom entity as per your required output and make sure to give the Class name “ABAP:ZCL_RFC_DETERMINE_JURISDICTION” where you are going to call your function module.

Friday, 5 March 2021

Be Prepared for the Upgrade 2105! Clean Up your RAP Business Objects to Adapt them to the Upcoming Changes

With release 2105 of SAP BTP ABAP Environment, SAP releases more business object (BO) contract checks for the ABAP RESTful Application Programming Model (RAP) to help you make your RAP implementation consistent, user-friendly, and compatible with further RAP features. These contract checks ensure that both, the consumer and the provider can rely on the consistency and the correctness of any transactional request. Requests that are not contract-conform may result in short dumps, triggered by these checks.

In the following, you will find explanation and solutions to prepare your code for the upcoming checks, even before the upgrade takes place and thus help you to prevent problems after the upgrade.

Wednesday, 27 January 2021

ABAP RAP Covid-19 List Report

Introduction

In this blog post, I am going to show you how to create the Covid-19 app using Abap restful application programming model. I guess many of us have hard times due to the coronavirus but every cloud has a silver lining. I’m sure that we will come across better days soon after the vaccination process. There has been a remarkable increase in the number of people who are affected by the virus and increasing every minute. According to social science theory “sixth degrees of separation” we all have connected each other at most six steps. I can reach the president of any country within six steps, I know the guy who knows the guy. That means we are all connected and we can spread the virus easily.  The purpose of this block is to raise awareness and show how to use RAP for external data.

Tuesday, 19 January 2021

ABAP RAP : Enabling custom actions with a dialog for additional input fields

Prerequisites:

◉ Knowledge on ABAP Restful Application Programming

◉ Knowledge on Entity Manipulation Language (EML)

◉ [Optional] Hands on exercises in Open SAP course https://open.sap.com/courses/cp13.

Friday, 15 January 2021

Determinations in ABAP RESTful Programming Model

I would like to share my learnings so far as well as some of the best practices for implementing determinations in RAP (ABAP RESTful Programming Model) so that many of your queries are already solved before implementing determinations.

Syntax for determination:

determination DetName on modify/save { CRUD1; CRUD2; … } | { field Field1, Field2, … ; }

Example: 

Saturday, 26 December 2020

SAP Cloud Platform Launchpad: Integrate apps from the ABAP Environment

In this blog I’ll demonstrate how to configure an integration between the SAP Cloud Platform Launchpad service and a Fiori application deployed in the the ABAP environment. Below is the setup with both the ABAP environment and the Launchpad service sitting in the same subaccount. The steps shown will also work across separate subaccounts.

SAP Cloud Platform, ABAP Environment, SAP ABAP Exam Prep, SAP ABAP Development, SAP ABAP Guides, SAP ABAP Career, ABAP RESTful Programming Model

Saturday, 5 December 2020

Entity Manipulation Language – EML | RAP Series

What is EML?

Entity Manipulation Language (EML) is a part of the ABAP language. It means that there are new syntaxes available in ABAP to

◉ control the business object’s behavior in the context of ABAP RESTful programming model, using ABAP code user can manipulate Business Object created using ABAP RAP model

◉ provides a type-save read and modifying access to data in transactional development scenarios.

Monday, 23 November 2020

Consume ABAP RESTful Application Programming Model (RAP) Service in SAP UI5 Application

In this blog will see how to consume RAPM (ABAP RESTful Application Programming Model) service in SAP UI5 App through SAP Business Application Studio (BAS).

Step 1: Required SAP Cloud Platform Trial account. Refer below link to create.

https://developers.sap.com/tutorials/hcp-create-trial-account.html

Step 2: Considering we have ABAP RESTful Application Programming Model (RAP) service developed in SAP Cloud Platform ABAP Environment. To create one you can follow OpenSAP course Building Apps with the ABAP RESTful Application Programming Model

Thursday, 12 November 2020

Custom E-tag for optimistic lock in SAP Gateway Odata for Deep Update

This blog is about the locking concept in SAP Gateway odata for update deep method. As there are already many blogs on optimistic and pessimistic locking mechanism. And in Gateway Odata there are different ways to implement optimistic lock for concurrency control. below are the ways which I am trying to categorizing 

1.) Using Timestamp for E-tag

2.) Using Hash for E-tag

Monday, 2 November 2020

Transactional Fiori App using ABAP Restful Programming Model

UI Apps development is getting simplified with the evolution of ABAP. In my experience when UI5 was released i had to learn JavaScript ,jQuery concepts and use them to create even a simple UI App ,and then with the advent of  ABAP Programming model for Fiori it changed the approach, since using BOPF with annotations we can easily create  simple Transactional UI app’s with minimal frontend code. Now with ABAP RAP programming which is an evolution of latter, it further simplified and made flexible for UI App development.

Wednesday, 30 September 2020

Pessimistic Lock in SAP Netweaver Gateway OData without using soft state

We are building our own App for SAP S4HANA 1909. The frontend is built in a Microsoft based tool. We integrated the App to S4HANA using OData protocol.

One of the requirement is to lock the object, once the user clicks on edit in the App. So that nobody else can edit, either from the app, or in SAP GUI.

Talking about lock in SAP NetWeaver Gateway-OData(on-premise), till date I could not find any solution which will behave similar way as in SAP GUI because of rest property(as rest is stateless) so cant store the state there.

Friday, 28 August 2020

Message Classes – SAP Cloud Platform

Definition: Message classes are created within an ABAP project at the ABAP package level. They are used to group messages within a development object. So, you can combine related messages and reuse them in other programs. After creating a message class, you add the individual messages.

Message: Messages notify a user about unexpected behaviour, an error, a status, or a result of an action. An application will display the message at runtime. A message is specified by a unique 3-digit message number, a single-digit language key, text information, and a message class.

Friday, 17 July 2020

Table Function – SAP Cloud Platform

It is a type of CDS which allow developers to write database procedures They support the HANA platform code pushdown capabilities in ABAP CDS.

For creating a table function two components are required

◉ CDS entity of the table function
◉ CDS table function implementation

Friday, 10 July 2020

RAP( Restful ABAP programming) for OnPrem S4HANA

The purpose of this document is to show the capabilities of RAP with on Premise setup and see how exactly this is different than BOPF.

Basically there are 3 implementation scenarios possible for RAP

◉ Managed ( Green field development )

1. Managed Scenarios are more like BOPF where you define what tables will be updated at end of the process.
2. We have options for implementing actions, determination and validations
3. Only available on S4HANA cloud

Monday, 6 July 2020

Custom Entities – SAP Cloud Platform

Custom entities are data definitions, which does not have a select statement on data source but we define return fields and their types. In case of custom entities their data model is invoked manually at runtime. The logic is defined in a class, we could not only retrieve data using custom entities but also do some other useful and awesome stuff with these good little tools.

Saturday, 20 June 2020

How to setup WebIDE Project for OData service generated using Restful ABAP Programming Model

In this blog I will show the how easily we can set up the WebIDE to create a Fiori project which will utilize the OData service created in backend using Restful ABAP Programming Model.

Steps to be followed are –

1. Generate a Service binding based on Service Definition. Activated service binding will look like below in ABAP Development Toolkit  –

Monday, 16 March 2020

Call a Remote Function Module (RFC) From SAP Cloud Platform ABAP Environment

First some important prerequisites (because I noticed these myself just late somewhere in the fine print after spending [wasting] some time trying things in my own trial accounts)

◉ You need a Global Enterprise Cloud Account – i.e. not just a trial account
◉ You need this for both, the SAP Cloud Foundry and the SAP Cloud Neo environment
◉ SAP Cloud Foundry and the SAP Cloud Neo need to be in the same region