Prepare your Application: Make sure your application is ready to be deployed and meets the requirements for deployment to SAP® BTP.
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.
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 that the Application needs is present. To check available buildpacks use command:
cf buildpack
Create a Deployment Descriptor: Create a deployment descriptor, such as a manifest(YAML or YML) file, that specifies the configuration for your application.
Deploy and Monitor App: Use below CLI command below to Push the Application to SAP® BTP
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.
Create Subaccount:
Subaccount is 1-to-1 associated with Org and Org acts like a Container for Space.
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.
Create a Space:
One Subaccount can have many spaces, it is the place where the Applications are deployed.
Create Services or Deploy Apps
Inside spaces, you have capabilities to Create Services and Deploy Apps.
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.
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:
Account in Google® Cloud Platform(GCP) with Credit Card Added
Compute Engine API Enabled for GCP
SAP® Frontend Installed in Local Machine
Eclipse Installed in Local Machine with ABAP® ADT Plugins
Basic knowledge of installation with Linux(Ubuntu) Systems
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:
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:
The download of 23GB Docker Image – Approx 15 min
Extraction of 23GB Docker Image to 63GB Image – Appx 20 min
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:
The Final Screen After Installation is below:
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.
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:
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:
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
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 stopexit
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.
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) Developmenthere 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.
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.
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]
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.
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.
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.
VS Code Plugins can be also used with BAS and VS Code have a lot of nice Plugins.
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.
Theme Setting and Visual Setting like Editor’s Fonts, Spaces, etc are easy to change.
You can Add(or Bind) Services like Database, API’s to Test and Experiment Within the BAS environment.
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.
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.
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]
When the BAS is kept inactive for a while it stops automatically and sometimes starting a stopped BAS takes a long time.
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.
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.
In this 7 blog series, we are going to provide a small end-to-end scenario to work with SAP® CAPM. Here the usecase we are going to use is of Learning Management System(LMS) and build a Student List App and Deploy it to SCF.
Link to Master(or Main) Blog from which all the other blogs can be reached is Here.
If you wanted to check out the detailed course on SAP® CAPM the link is Here.
If you want to get learn SAP® Cloud Platform Development in Detailed then we have a 35hrs hands-on course Here.
For current offers and discounts check offer page Here.
Now let’s start this series with a little background about SAP® CAPM
SAP® Cloud Application Programming Model(CAPM) is a set of Library, Tools, Language and Framework from SAP® for building Apps.
The main reason for creating CAPM is to
Provide a Simple way to Create Cloud-Based Apps
The Apps and code which developer created can be made more reusable as modules
Advantage of Microservice can be utilized
Apps in Cloud can be easily integrated with Cloud Services(like DB service, message broker service or Auth Provider service)
A developer can focus more on the functional side of problem-solving
The 2 main Principle of SAP® CAPM are:
Declarative Approach: Focus on Outcome, not on Way!
Service-Based Approach: Get the Functionality from Service
Declarative Approach
So, if you are a developer you need to focus more on understanding the functional side which is what customer needs now, and also thinking about how can the App/Platform you are developing will evolve over time. Keeping this in mind you need to keep your current development modular, so it can allow future changes easily or your current development can be reused in the future easily.
Service-Based Approach
In CAPM all functionalities need to be broken down as service(s). In CAPM Services are stateless which means there is no record of previous interactions and each interaction request has to be handled based entirely on information that comes with it. You will also see, that to implement new service/functionality we will many times query existing service(s).
#2: Developer Stack
That Sounds Great! But you might be having questions like How it is Build and How as a developer you will work with it?
CAPM Lib are Predominantly Build With NodeJS, so you need to have basic know-how of NodeJS
We will use a lot of CDS code, may it be for building data structure(entity model/Table Structure), creating services(with functions) or even creating UI(with CDS Annotations)
You will find many out of the box tools which are part of CAPM, for example for running Apps with Fiori® Preview just with developed service, for building data structure to deploy in Database like HANA®, Sqlite or Other Other and many more surprises!
Prerequisite and Getting Started
We will create a simple End-to-End CAPM App using HDI Container in SAP® Cloud Foundry from Scratch.