Abap
Abap
Home
What’s New
SAP on Azure
Microsoft and SAP join forces to give customers a trusted path to digital
transformation in the cloud
SAP on Azure
The SAP community is looking forward to see ABAP in the cloud platform and its
benefits.
ABAP and the Cloud - Introducing ABAP 7.52 and ABAP in SAP Cloud Platform by Karl
Kessler - SAP Insider
Be prepared for the new ABAP programming model in SAP S/4HANA by Carine Tchoutouo
Djomo
Interesting Videos
ABAP in Eclipse
Recommended Books
Title
Author
Publisher
Paul Hardy
Kerem Koseoglu
SAP in General
Open Source
abapGit – so easy
SAPlink – Thankyou
dotabap
ABAP in Eclipse
Get Started with the ABAP Development Tools for SAP NetWeaver
ABAP Doc
API Development
Usage of the ABAP REST Library - SAP_BASIS 7.40 (Basic REST Handler and REST
Resource class)
Calling an external RESTful service from ABAP – HTTP Method GET (Consuming APIs
using REST Client)
Application Log
Useful tips regarding ABAP code inspector that you may not know
Best Practices
DSAG Best Practice Guideline for ABAP Development now available in English
Test Automation
Continuous Integration
Switch “ON” and “OFF” your newly developed capabilities using the Feature Flags
service
Object-oriented Programming
A General Purpose ABAP Multiton Class
Unit Testing
Microservices Architecture
Debugging
Useful Tools
Cloud Platform
Installing SAP Cloud Connector into Docker and connecting it to SAP Cloud Platform
SAP UI5
OAuth
OAuth 2.0 - Constrained Authorization and Single Sign-On for OData Services
Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 Client
Authentication and Authorization Grants (RFC7522)
IoT
3) Go to transaction STRUST
8) Save
If you see error something like below, please see the next section.
1) Go to transaction SMICM
3) If you see message complaining about TLS version then proceed the next section
[Thr 139804692911872] *** ERROR => SSL handshake with github.com:443 failed:
SSSLERR_SSL_READ (-58)
[Thr 139804692911872]
[Thr 139804692911872] => "received a fatal TLS1.0 protocol version alert message
from the peer"
[Thr 139804692911872] received a fatal TLS1.0 protocol version alert message from
the peer
[Thr 139804692911872] received a fatal TLS1.0 protocol version alert message from
the peer
[Thr 139804692911872] received a fatal TLS1.0 protocol version alert message from
the peer
[Thr 139804692911872] 0xa0600278 SSL ssl3_read_bytes
[Thr 139804692911872] received a fatal TLS1.0 protocol version alert message from
the peer
[Thr 139804692911872]
1) Go to transaction RZ10
Over the course of year 2016, a growing number of TLS servers were reconfigured to
abort/reject TLSv1.0 handshakes, or they are requring forward secrecy (PFS) cipher
suites for access. The currently recommended settings for TLSv1.2 interoperability
are (requiring at least CommonCryptoLib 8.4.38, recommending at least 8.4.49):
ssl/ciphersuites = 135:PFS:HIGH::EC_P256:EC_HIGH
ssl/client_ciphersuites = 150:PFS:HIGH::EC_P256:EC_HIGH
For a SAP Solution Manager System 7.[012], please use the following value for
ssl/client_ciphersuites instead:
ssl/client_ciphersuites = 918:PFS:HIGH::EC_P256:EC_HIGH
5) Restart server
$ su -l npladm
$ stopsap
$ startsap
References
Links
No content
Pair Programming
Test Isolation
Injections
Test Doubles
Dependency Lookup
Legacy Code
Continuous Integration
http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
Michael Feathers
How to Install SAP ABAP 7.52 SP01 Ubuntu 16.04 using Hyper-V
1. Follow instructions in this blog to setup Hyper-V, Virtual Switch, and create
virtual machine
With WSL2 coming with Windows 10 update 2004, virtual switch named `WSL` is not
recommended.
8GB of RAM
2. Download Ubuntu Server 16.04 , mount, and install it by referring this guide
Choose Guided - use entire disk without LVM (logical volume) when partitioning hard
drive
If choose location other than United States, make sure you update file
/etc/default/locale later
Create checkpoint
3. Follow the same guide to update & make system ready to install SAP
No need to install VirtualBox or VMWare for guest OS (as we are using Hyper-V)
# Start SAP
# Stop SAP
You can configure auto-start by sudo vim /etc/rc.local and populate with below
content and make it executable by sudo chmod +x /etc/rc.local
#!/bin/sh
Configure STRUST
Install abapGit
Troubleshooting
Basic Settings
Size: Standard D2s v3 (2 vcpus, 8 GiB memory) should be enoughNo need to allow any
public inbound ports
Disk Settings
Add 2 data disks:
Premium SSD with at least 128 GiB for SAP instance data - to be mounted at /sybase
Networking Settings
Setup Bastion
Follow this guide to create Bastion Host in the same virtual network as your VM.
Prepare Ubuntu
Set Locale
LANG=en_US.UTF-8
Set Hostname
And replace content with the hostname you wish to use e.g. vhcalnplci
Add the line below. Replace IP with your VM's private IP address. (Use command ip
addr show to see IP)
cat /etc/default/locale
cat /etc/hostname
cat /etc/hosts
Firewall
Verify local firewall. It should be inactive. If not, use command sudo ufw disable
to turn off.
Restart
You should see your data disks by recognizing their sizes (128GB and 32GB)
mklabel gpt
quit
Using /dev/sdb
(parted) quit
Format disk
sudo mkfs.ext4 /dev/sdb
4096000, 7962624
Repeat the same for the other disk (/dev/sda in this case).
/dev/sdd14: PARTUUID="bddfd6d3-8ef9-40d2-8fda-0083f3e0df9b"
Mount disks
Verify mounts. You should see /sybase and /media/sf_s4installer mounted properly.
df
This assumes you already downloaded installation files from SAP, unrar them and re-
archived it as sap752sp04.tgz and uploaded to your Azure Storage account container.
Install AzCopy
cd /mnt
sudo wget
https://azcopyvnext.azureedge.net/release20200501/azcopy_linux_amd64_10.4.3.tar.gz
Decompress
Move binary
Clean up
sudo rm -r azcopy_linux_amd64_10.4.3
Verify
which azcopy
/usr/local/bin/azcopy
Download archive from Azure Storage container using azcopy with SAS key.
cd /mnt
Extract Files
Execute Installation
cd /media/sf_s4installer
chmod +x install.sh
sudo ./install.sh -s
The installation is successful when the script finishes with the following
messages:
Recovery Complete
OK
-------------------------------------------
-------------------------------------------
OK
-------------------------------------------
-------------------------------------------
In case, the installation failed and you want to reinstall, you need to do some
clean up before executing the script again.
Remove all sap users i.e. sapadm, npladm, sybnpl - sudo userdel <username>
You may need to kill running process by such user first - sudo kill -s 15 <process
id>
aaa
You should see everything in GREEN like below then everything is ready.
GetProcessList
OK
By default, the SAP servers are not started when you start the VM. To make them
started automatically, follow steps below.
#!/bin/sh
sudo -i -u npladm startsap ALL
Make it executable
Try to stop and start the VM and check if the SAP servers have been started
properly.
Install License
Follow Post-Installation Steps in this guide to register a new license key file.
Install abapGit
Before you can push/pull codes from Git repositories like GitHub. You need to
install server's certificates on SAP server trust store.
Download Certificates
Install Certificates
Go to transaction STRUST.
Select the certificate that you saved and click Add to Certificate List.
Repeat the same until you imported all certificates and see them in the list. Click
Save.
Install abapGit
Copy the source codes from GitHub and activate the program.
Execute the program and click Install abapGit repo to sync abapGit with GitHub.
You may choose NOT to override ZABAPGIT program first. Once you import everything
else then you Pull the repo again and choose to override. This make the
import/upgrade goes smoother.
References
How to Install SAP ABAP 7.52 SP01 Ubuntu 16.04 using Hyper-V - chairat.me
AS ABAP 7.52 SP04, Developer Edition: Concise Installation Guide - SAP Blogs
Installing SAP NetWeaver Developer Edition on an Ubuntu desktop VM – the non-
concise guide - SAP Blogs
Partitioning, Formatting, and Mounting a Hard Drive in Linux Ubuntu 18.04 (2020) -
medium.com
Useful Commands
Kill a process - sudo kill -s 15 2358 (SIGTERM) or sudo kill -9 3553 (SIGKILL)
References:
How to check running process in Ubuntu Linux using command line - nixCraft
A command to list all users? And how to add, delete, modify users? - AskUbuntu