Posted on

5 Steps to Bind Service to Application in SAP® BTP

SAP® BTP Blogs Series Covers:

  1. 5 Simple Steps to Setup and Get Started with SAP® BTP
  2. 5 Steps to Deploy Application in SAP® BTP
  3. 5 Steps to Bind Service to Application in SAP® BTP

This blog is a part of the End-to-End SAP® BTP and Cloud Bundle


  1. Choose a Service:

    Choose a service from the SAP® BTP marketplace that you want to bind to your application.For example a Database(DB) service like PostgreSQL.

  2. Create a Service Instance:

    Create a service instance of the chosen service in your SAP® BTP space. With CF CLI we can use the command

    cf create-service [service-name] trial [name-given-to-instance]

  3. Bind the Service:

    Bind the service Instance to your Application, by using the Cloud Foundry CLI or the SAP® BTP cockpit to bind the service instance manually. Also, service-binding can be done by passing service information with the Manifest.YML file.

  4. VCAP Variable:

    VCAP is an environment variable in a JSON data format that is provided to an Application when it is hosted in Cloud Foundry (SAP® BTP), this variable act as a way to share the information that the application needs to connect to the service instance.

  5. Use the Service

    Once the Service is Bound you will get the required credentials to connect to the service via VCAP environment variable. After the connection to the service, you can use the service instance. Based on the service if it is a Database, server, messaging queue, etc. the operation related to connecting and usage will be different, which needs to be handled accordingly in the application.

Posted on

5 Steps to Deploy Application in SAP® BTP

SAP® BTP Blogs Series Covers:

  1. 5 Simple Steps to Setup and Get Started with SAP® BTP
  2. 5 Steps to Deploy Application in SAP® BTP
  3. 5 Steps to Bind Service to Application in SAP® BTP

This blog is a part of the End-to-End SAP® BTP and Cloud Bundle


  1. Prepare your Application:

    Make sure your application is ready to be deployed and meets the requirements for deployment to SAP® BTP.

  2. Connect to SAP® BTP:

    Connect to the SAP® BTP environment using a Cloud Foundry CLI or a Web-based interface.


    Login to CF CLI Using:

    cf login -a [API-END] -o [ORG] -s [Space]

    After that, one needs to enter the prompt password in CLI.

  3. Choose a Deployment Method:

    Decide on a deployment method using the Cloud Foundry CLI or a web-based interface such as the SAP® BTP cockpit. Application Buildpack needs to be also checked if the runtime environment which the Application need is present.


    To check available buildpacks use command

    cf buildpack

  4. Create a Deployment Descriptor:

    Create a deployment descriptor, such as a manifest(YAML or YML) file, that specifies the configuration for your application.

  5. Deploy and Monitor App:

    Use below CLI command to Push Application to SAP® BTP
    cf push [App-Name]

Posted on

5 Simple Steps to Setup and Get Started with SAP® BTP

SAP® BTP Blogs Series Covers:

  1. 5 Simple Steps to Setup and Get Started with SAP® BTP
  2. 5 Steps to Deploy Application in SAP® BTP
  3. 5 Steps to Bind Service to Application in SAP® BTP

This blog is a part of the End-to-End SAP® BTP and Cloud Bundle


  1. Create an Account and Login:

    Start by creating SAP® BTP Account if you don’t have one already. Log in to your SAP® Cloud Account, go to the SAP® BTP Console, and choose the SAP® BTP service.

  2. Create Subaccount:

    Subaccount is 1-to-1 associated with Org and Org acts like a Container for Space.

  3. Assign Quota:

    A quota is a set of limits that define the maximum amount of resources (e.g. memory, CPU, storage) consumed by an organization (Org) or a space within an Org.

  4. Create a Space:

    One Subaccount can have many spaces, it is the place where the Applications are deployed.

  5. Create Services or Deploy Apps

    Inside spaces, you have capabilities to Create Services and Deploy Apps.

Posted on

System Setup of S/4 HANA® 1909 On-Premise Using Docker for Free for Learning

1.Why?

The purpose of getting an S/4 HANA® On-Premise system is to learn and practice some of the new and upcoming technologies of SAP® Hands-on. Having access to a personal sandbox system allows you to learn multiple technologies at once with freedom. With S/4 HANA® On-Premise Systems you can learn not only S/4 HANA® Technical but also ABAP®, ABAP® RAP, CDS, Fiori®, UI5, Basis, BTP(SAP® Cloud Platform), HANA® DB and Many more such topics.

Also,check UI5CN courses to learn SAPUI5, SAP® Fiori®, SAP® CDS, S/4 HANA, ABAP®, ABAP® RAP, SAP® BTP Hands-on with Details
https://www.ui5cn.com/collections
Get All Course Access with Pricing Plan
https://www.ui5cn.com/pages/pricing

 

2. What?

In this course, you will see how to use the image of S/4 HANA® 1909 On-Premise in Docker Hub(provided by SAP®) and install it on your personal computer or Cloud VM. We have kept all the steps very simple to understand and also shared our experience, so the installation would be a piece of cake for you.

 

3. Prerequisite and Architecture

We will be Using Google® Cloud Platform(GCP) to create our VM Instance which will be having our S/4 HANA® On-Premise Instance running in Docker Engine.

The S/4 HANA® Docker Engine will be acquired from Docker Hub where SAP® is providing the S/4 1909 system Docker images(based on updates the new version can change). You as a developer can access the Systems from local SAP® Frontend GUI or Eclipse with ABAP® ADT plugins.
Prerequisite:

  1. Account in Google® Cloud Platform(GCP) with Credit Card Added
  2. Compute Engine API Enabled for GCP
  3. SAP® Frontend Installed in Local Machine
  4. Eclipse Installed in Local Machine with ABAP® ADT Plugins
  5. Basic knowledge of installation with Linux(Ubuntu) Systems
  6. Docker Hub Account

 

4.  Create a VM Instance in GCP 

Create a Linux(Ubuntu 18.04) based VM Instance in GCP with minimum specification as below

– 8 CPUs
– 32GB RAM
– 190GB Disk

Note: You can use other Operating Systems as well, but the Minimum specifications need to be as below for different OS types:

For Windows OS Machine:

– 4 CPUs for Docker Desktop
-16GB RAM for Docker Desktop
-170GB Disk for Docker Desktop

For Linux OS:

 – 4 CPUs
– 16GB RAM
– 150GB Disk

For macOS:

– 4 CPUs for Docker Desktop
– 16GB RAM for Docker Desktop
– 170GB Disk for Docker Desktop

 

If you are installing the machine on a Personal Computer then you need to allocate the above resources to Docker Engine. As these specifications are higher than many of our personal computer specifications so we are using a VM instance in Cloud to install the machine.

 

In case you provide fewer system resources than the minimum requirement, then you will face issues while the installation of S/4 HANA® will go into a state where it will go out of memory and installation can fail or take too long.

 

5. Install Docker

Install Docker on Ubuntu Machine with the below commands:

 

sudo apt update

sudo apt install apt-transport-https ca-certificates curl software-properties-common


curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -


sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"


sudo apt update


apt-cache policy docker-ce


sudo apt install docker-ce


sudo systemctl status docker

 

 

6. Download and Install S/4 HANA® 

 

6.1 Login to Docker Hub Using CLI

 

sudo docker login
<Your Docker Hub UserID>
<Your Docker Hub PASS>

 

6.2 Pull the S/4 HANA® Image from Docker Hub, Start Installation and Run the Container

 

sudo docker run --stop-timeout 3600 -i --name a4h -h vhcala4hci -p 3200:3200 -p 3300:3300 -p 8443:8443 -p 30213:30213 -p 50000:50000 -p 50001:50001 store/saplabs/abaptrial:1909 -skip-limits-check -agree-to-sap-license


Here we are exposing ports: 

For Frontend GUI: 3200
For Eclipse: 30213
For Cloud Connector: 8443
For oData Access HTTP: 50000
For oData Access HTTPS:  50001
For RFC: 3300

 

The flag -agree-to-sap-license is an optional flag, if you do not apply it then it will ask to accept the license after installation.

The Installation will first download the Docker image, then extract it and then Install it. It might take up to 1-2 hrs depending on your network speed and system configuration. As the Docker image is 23GB in size when compressed and 63GB when unzipped.


Note:
For our setup below are time take to perform actions:

  1. The download of 23GB Docker Image – Approx 15 min
  2. Extraction of 23GB Docker Image to 63GB Image – Appx 20 min
  3. Installation of S/4 HANA® when we run Docker Image for the first time – Approx 25 min

Total time taken: 1 hr(Approx)

The Initial screen at the start of Installation is below:

S4 HANA® Installation Start

The Final Screen After Installation is below:

 

S4 HANA® Installation Final Screen

 

Congratulations! if you see this message, your System is now ready to be used. Also, if you want to learn Hands-on new SAP® Skills of Front-end or Backend you can check our course information here: https://www.ui5cn.com/collections

 

 

7. Monitor During/After Installation and Start/Stop System

At the time of System installation, you can monitor the progress and memory status to make sure the installation is not halted with the below commands. 

 

7.1 Memory used for container a4h

sudo docker exec -it a4h free -h

S4 HANA® Memory Usage

 

 

7.2 Disk Space allocated for container a4h

sudo docker exec -it a4h df -h /

S4 HANA® Disk Usage

 

 

7.3 For checking HDB Components Status

sudo docker exec -it a4h su - hdbadm -c "sapcontrol -nr 02 -function GetProcessList"

S4 HANA® Component Status

 

7.4 Installation in Personal Computer

Note: If you are performing the steps on your own personal computer then instead of using the IP of VM use the IP of Docker which you can find with the below command:

sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' a4h

 

7.5 Start, Stop and Logs of Docker Machine

Once the installation is done and you want to stop the machine then use

sudo docker stop a4h

For starting the machine again use

sudo docker start a4h

 

For checking logs or the status of the running machine use

sudo docker logs a4h


8. Adding Licence 

Go to acquire a mini SAP® Developer License here

Select the A4H System and provide your Hardware Key to generate the License. 

Hardware Key is printed in Console at the time of Installation of S/4 HANA®.

In case you are not able to find the Hardware key in the installation Console then you can go to Early Watch to get the hardware key

 

Early Watch SAP® Login Details:
Client: 000
User: SAP*
Password: Ldtf5432

 

Note: Ldtf5432 is the default master password for your system.

 

Go to T-Code: SLICENSE

 

The other way is to also download your License and upload it to GCP Linux Machine. Then you can use the below command to apply the license to Docker Image:

 

sudo docker cp <Path_to_License_File_in_VM_A4H.txt> a4h:/opt/sap/ASABAP_license
sudo docker exec -it a4h /usr/local/bin/asabap_license_update

 

Optional: Stop and Start the Docker engine again for a new License to work properly.

 

9. Connecting to SAP® Frontend and Eclipse

You must have a Firewall rule added to your VM Instances which will allow ports that you want to access from outside, which can be for SAP® GUI, Eclipse, or SAP® Cloud Connector, etc.

 

The list of Port to be opened are:
For Frontend GUI : 3200
For Eclipse : 30213
For Cloud Connector: 8443
For oData Access HTTP: 50000
For oData Access HTTPS:  50001
For RFC: 3300

 

For SAP® Frontend Machine you can use the below setting:

conn=/H/<IP ADDRESS OR HOST OF VM>/S/3200

Or

Server: <VM IP Address>
Instance: 00
System ID: A4H

SAP® Frontend GUI

 

For Eclipse You can Use 

S4 HANA® Eclipse Connection

Default Username and Password:

SAPGUI
Client: 001
User: DEVELOPER
Password: Ldtf5432

 

SAP DB SYSTEMDB
User: SYSTEM
Password: Ldtf5432

 

For the database HDB,
User: SAPA4H,
Password: Ldtf5432

 

10. SAP® Cloud Connector

For Starting Cloud Connector in Docker VM:

 

sudo docker exec -it a4h bash

# Inside the Docker a4h bash shell use below command to start Cloud Connector
/usr/local/sbin/rcscc_daemon start

 

For Stopping Cloud Connector:

# Inside the Docker a4h bash use below command to stop Cloud Connector

/usr/local/sbin/rcscc_daemon stop
exit

 

You can Access Cloud Connector With Below Details:

 

URL: https://<IP Address of VM>:8443
Username: Administrator
Password: manage

 

Note: Do not forget the s of HTTPS in the URL and click proceed even if it shows the warning in the initial screen. Also, the default username and password are case-sensitive.

 

Posted on

SAP® BAS(Business Application Studio) in a Nutshell

SAP BAS in a nutshell
SAP BAS in a nutshell
SAP® BAS in a nutshell

In this blog, we will Summarise our Development Experience with SAP® BAS(Business Application Studio). You can also watch the detailed course of Learn SAP® Business Application Studio(BAS) Development here with Hands-on Examples and In-Depth Topic Coverage.

 

1. What is SAP® BAS?

 

SAP® Business Application Studio also known as SAP® BAS, is a Service in SAP® Cloud for Integrated Development and Enhancement of Applications.

 

SAP® BAS Main

 

2. What SAP® BAS is made of?

SAP® BAS is a container that is Based out on Eclipse Theia which almost looks Like a VS Code Development Environment.

 

3. Is it Free to Use?

No, for productively using SAP® BAS you need to acquire SAP® Licence. 

SAP® BAS Store

 

4. How Many kinds of SAP® BAS is Present?

SAP® BAS has different Flavours that are tailored for different types of development. For developing SAPUI5 or Fiori® App with BAS you select SAP® Fiori type, for developing CAPM App you select SAP® CAPM® type and so on. Also, with time you might see more development Flavour added to it.

You can also enable different packages like SAP® Workflow Package, CDS Viewer, HANA® Development Packages Which will allow you to develop the respective type of Project and Operate on Different File Types.

In our course of Learn SAP® Business Application Studio(BAS) Development here, we have covered details with SAP® Fiori®, SAP® CAPM and SAP® Workflow Dev Space Kind. In SAP® Fiori® Dev Space we have covered the new Standards and Format of SAPUI5 App Development in Details with Approuter, xs-app.json, SAPUI5 Tooling, Regular Expression, Connection Settings, Run Configuration, MTA.YAML and more.

 

5. What is the Operating System on Which SAP® BAS Runs?

SAP® BAS is a Virtual Container that runs on Ubuntu Based OS Architecture. 

Developers will not have root access to the operating system but still, the additional packages and modules required for the project can be installed with the Terminal.

6. How good is Terminal experience in BAS?

SAP® BAS Terminal Provides an Integrated Experience of Development and Dev-Ops. You can switch back and forth between, editors, terminal, and explorer to get the development done fast. You can almost use all CLI(Command Line Interface) Command with SAP® BAS which you might be using with Linux Systems. But for commands which require any kind of Extra Permissions like root permissions will not be possible out of the box.

Terminal also allows you to do an operation in multiple ways. 

Example 1. If you want to push an App to SAP® Cloud Foundry you can either use Explorer, right-click on MTA File, and Right Click on the Build and Deploy or You can also use BAS Terminal directly to use the respective CLI Commands.

In our course of Learn SAP® Business Application Studio(BAS) Development here, we have covered details of the MTA File Structure, also how to customize it for the Deployment to SAP® Cloud Foundry and On-Premise ABAP® Systems in Details, so make sure to check it out.

 

Example 2. You can use Yeoman Generator from CLI and create a Blank Application or Also you can use File>New Project from Template option to create a new Project.

One of the big advantage with BAS Terminal is it will allow you to use your existing knowledge about CLI Commands and get you out of difficult situations, for example chaining Terminal commands of npm install && npm build && cf push will allow you to chain 3 multiple commands together and you can take a coffee or tea break( depending upon your preference 😀 ) in between and not have to wait in front of the screen. 

When you are developing a NodeJS Based Application you can quickly test a piece of Javascript code by just typing Node jsbasecode.js to see how it performs.

These are just the tip of the iceberg, over time with the usage of BAS you will want to use more Terminal, than the Menu Options Provided because most of the operations are fast with Terminals.

Additionally, you also get a Find Command Option which has a list of popular CLI commands and CLI Operations one can use, which makes it even more fun to use Terminal Based Commands

Also, our course of SAP® BAS here covers how you can chain multiple commands together, create a project, build the project, run it or deploy it using CLI.

 

7. What is new in SAP® BAS compare to SAP® Web IDE?

SAP® Full Stack Web IDE was removed from SAP® Cloud offering on 13th Nov 2020. SAP® Web IDE Personal Edition is still under downloads but it is not getting any more updates, the link can be reached from here https://tools.hana.ondemand.com/#sapui5

In our course of Learn SAP® Business Application Studio(BAS) Development here, we have shown how one can start from exiting the SAPUI5 project of SAP® Web IDE Personal Edition and Import it into SAP® BAS. Once you import the existing Project to SAP® BAS, we have also covered in a step-by-step manner how to change the structure to New Standard SAPUI5 App Structure, Customization of Approuter and YAML file.

Now, when we see the need to update from existing SAP® Web IDE to SAP® BAS, the main reason can be:

 

SAP® BAS Pros Compare to SAP® Web IDE 

[Note: Below are personal opinions with our limited experience with Free Trial]

  1. BAS have different flavors, so for example one who wants to only work with CAPM can select that kind of environment with BAS. This needs to be done at the beginning of the BAS setup.
  2. In BAS the Underlying Eclipse Theia is designed to provide developers VS Code like development, experience which is one of the most popular developments IDE used. So you can use your existing knowledge of VS Code and Switch to BAS interface easily.
  3. BAS provides powerful CLI Functionalities and even if you are new to Terminal you can still use the List Terminal Command Options and select from the List your Command Without remembering equivalent CLI Command.
  4. VS Code Plugins can be also used with BAS and VS Code have a lot of nice Plugins.
  5. Run Configurations are easy to create and edit as the run configuration or Launch files are a JSON file which one can edit. These launch.json files are also the same when it comes to VS code so prior knowledge of VS Code Development can be used here.
  6. Theme Setting and Visual Setting like Editor’s Fonts, Spaces, etc are easy to change.
  7. You can Add(or Bind) Services like Database, API’s to Test and Experiment Within the BAS environment.
  8. More options are provided to Create Project from Template and also you can use Yeoman Generator from CLI and even Customize the Yeoman Generator to Autofill Fixed Values. 
  9. With Independent Git Tab developers can easily Track Changes, Amend Changes, Stage, Push, Pull, etc with Menu Options and the same can be also done with CLI.
  10. Working With SAP® Cloud Foundry(SCF) seems to be more robust. For example: when you deploy your application to SCF and if it stops in between then you can resume or abort it after the failure. Also, the logs can be downloaded of the process and investigation can be done easily within the BAS.

And many new improvements, but these are the top 10.

 

SAP® BAS Cons Compare to SAP® Web IDE 

[Note: Below are personal opinions with our limited experience with Free Trial]

  1. When the BAS is kept inactive for a while it stops automatically and sometimes starting a stopped BAS takes a long time.
  2. When you are working with a slow network, the BAS goes offline and the screen freezes, a good feature is the bottom colored bar shows you that you are offline.
  3. With BAS a limited Amount of Space is provided to you, so when you are out of space, BAS will not allow you to create new folders, files, or installations. You can fix this by removing some files or folders. 

8. How Can someone Add Local Run Configuration and Debug code in BAS?

Run Configuration is used to select the configuration and commands to test your code locally. When you add a new Run Configuration in BAS, it automatically suggests to you what are the files and configuration which can be used. When you select a suggested Run Configuration from the selected list a launch.json file is created and when you already have launch.json file then a new entry in the launch.json file is added.

This launch.json file has all the information of what commands need to be run, additional parameters, and multiple other information. You can edit the launch.json manually as well to customize.

When you want to debug, a breakpoint within the code can be easily set by clicking before the line number of the code. When the control passes the code where you have a breakpoint it stops execution and you also can see all the active variables and call stack, which is similar to other Eclipse Debugging Perspective.

In our course of Learn SAP® Business Application Studio(BAS) Development here, we have not only covered how you can add Run Configuration but also how to change the entry of launch.json files for customizing run.

9. How is SAPUI5/Fiori® App Development Changed in BAS Compared to SAP® Web IDE?

Now with the new pattern, a SAPUI5 App is a NodeJS App where the main SAPUI5 App goes inside a webapp folder and when you are creating an App targeting Cloud Environment then this webapp folder is inside the HTML5Module folder.

When you work with NodeJS based SAPUI5 App, you can use the Terminal for installation of dependencies inside node_modules, adding packages, adding and testing scripts inside package.json, etc. Also, the Terminal can be used to run many small experiments in between development to test the Code. You can also use the Run Configuration to Test the code locally which also abstracts many internal complexities required to run a code(or project) to developers, so developers can skip those if they do not want to be bothered with it. It provides quick debugging and test of the Application possible, which in turn speeds up the development process.

Also, when you are new to NodeJS App development, the concepts of package.json, node_modules and dependencies are totally new concepts. So in our course of Learn SAP® Business Application Studio(BAS) Development here, we have covered the basics in details before using the concepts in SAPUI5 App.

10. How is Workflow App Development Changed in BAS Compared to SAP® Web IDE?

Most of the SAP® Cloud Platform(SCP) Workflow based development is the same as it was with SAP® Full Stack Web IDE. Developers will find new changes when they work with SAPUI5 App and SCP Workflow together. The new changes will be the use of the XSUAA Token passing process for Authentication and Authorization.
You can also see the details of those in our course of BAS here, in Section 5.

11. How is CAPM App Development Changed in BAS Compared to VS Code?

SAP® BAS provides many nice features out of the box for CAPM based development. The New Project from Templates creates all the files which are required for a CAPM App with empty values that the developer can provide according to the project.  

The CAPM NodeJS based application again because it is a Node App allows developers to use the powerful CLI experience within the development. The debugging can also be done easily and active variables can be investigated with different tabs provided in debugging panel.

BAS also provides a different tab to add Database Source which allows the developer to see the Database(Local or Remote) content and changes to it, which speeds up the development.

You can also see the details of CAPM App Creation, Running and Deploy in our course of BAS here, in Section 6.

 

12. How Difficult is it to Personalise Theme Setting in BAS?

SAP® BAS provides Dark Theme which many developers would appreciate. The change of Theme is immediate when you select the new Theme from Theme Setting, which allows you to select the theme based on your liking. 

Similarly, the BAS UI Settings can be changed and Personalized easily with immediate feedback.

 

13. Can we use VS Code Plugin With BAS?

Yes once you accept SAP® Policies for 3rd Party Plugins(Initial Asked in Plugin Tab), it allows you to install additional Plugins from VS Code Library. Installation and Uninstallation both are fast and can be managed from Plugin tabs.

 

14. Does BAS have an integrated Version Control System like Git?

Yes, BAS provides an independent tab to allow developers to keep track of code changes. You can connect with your respective Git Repository and use standard features like Stage, Ammed, Push, Pull, etc within the same Tab. 

One can also use CLI to run Git commands for carrying out the same operations and the respective changes in the Git tab are almost immediate. For example, if you have some changes in the Git tab and you went to Terminal and ran the git add <fileName> command then the respective changes also will appear in the stage section almost immediately in the Git tab.

You can also see the details of the use of Version Control System like GitHub in our course of BAS here, in Section 6.