AWS for SAP
Towards a plug ‘n’ play experience for the AWS SDK for SAP ABAP
The AWS SDK for SAP ABAP (“ABAP SDK”) was first released in mid-2023 to ease integration of SAP ABAP-based software and systems with AWS services. As with other AWS SDKs, the ABAP SDK comes as a set of modules, which are imported into development projects and allow accessing AWS service APIs in a standardized, secure and scalable fashion. Most AWS SDKs can usually be used right away after import. However, SAP ABAP-based systems require a more detailed process of setup and configuration, using SAP’s Change and Transport System (CTS). Additionally, the ABAP SDK in the meantime has grown to over 400 individual transports.
Therefore, to further streamline the process of getting up to speed for SAP ABAP developers and SAP BASIS administrators, this blog introduces a graphical installer for the ABAP SDK (“ABAP SDK Installer”), which is available today as a standalone ABAP report on GitHub, and can simply be copied & pasted to a new ABAP report in your SAP development & test systems for easy deployment. The report offers a package manager like UI, which enables easy point&click operations for installing, updating, and deleting ABAP SDK modules, alongside with a comprehensive overview of what parts of the SDK are currently installed on an SAP system, alongside with any available updates. Additionally, it helps automate-in side tasks like installing required SSL certificates and downloading ABAP SDK transport archives.
Preliminary: If deploying on SAP RISE
The report can also be deployed and executed on an SAP RISE system under the following pre-requisites:
- For any Git-based installation (i.e. non copy/paste), the SAP RISE system needs to able to connect to github.com
- To download the ABAP SDK, connectivity form SAP RISE to aws.amazon.com is required
- Amazon SSL certificates needed for connectivty have to be downloadable from amazontrust.com
- OPTIONAL: If Internet access from the SAP RISE system is happening via a proxy, the SAP RISE system’s ICM has to be configured accordingly and the above-mentioned sites need to be allow-listed on the respective proxy. At the time of this writing, they are not part of the standard allow list of a proxy shipped with a SAP RISE environment.
Getting started
At first startup, the ABAP SDK Installer will check if the SAP system it is being run on has all Amazon SSL root certificates required for communicating with AWS service APIs stored in its SAP trust store (transaction STRUST). Should this not be the case, the report can automatically download and maintain any missing certificates from Amazon Trust Services. Afterwards, the user is presented with an overview of all ABAP SDK modules currently installed on the SAP system (“Installed ABAP SDK Modules”), alongside a list of all modules available in a tree-like folder view. The “Available ABAP SDK Modules” folder further holds a sub-folder listing the most popular modules.
The first folder solely holds the ABAP SDK core module to emphasize its pivotal role for the ABAP SDK‘s functioning. If the ABAP SDK is not yet present on the SAP system, the core transport needs to be installed with the other modules selected for initial deployment. The user can do so by clicking the checkbox besides the module names and hit either <Execute all> or <Execute All (batch)>. The report will then check if the most up to date ABAP SDK .zip archives for installation & uninstallation are present on the SAP system‘s filesystem. If not, they are automatically being downloaded and subsequently accessed to extract the necessary transport files for import with SAP’s CTS tools. Note that a completely new installation, i.e., the core and further selected modules, can take a bit longer (batch mode recommended).
Managing ABAP SDK modules
At each startup and after hitting the <Refresh> button, the ABAP SDK Installer report checks the ABAP SDK download repository for the ABAP SDK’s newest version and, if available, marks all installed modules for update. To preserve an ABAP SDK installation’s integrity, mixing of different module versions is currently not allowed. All installed modules must be on the same version as the currently installed ABAP SDK core module. The column to the right of the traffic light indicator gives a natural language description of what the report is going to do with the module after pressing either <Execute all> or <Execute All (batch)>. The latter option does not block access to the SAP GUI window you are running the report in and indicates ongoing operations by showing a “Processing…” status for the respective modules.
Installing additional modules can be done by selecting their respective checkboxes in the „Available modules” folder. The search function button labeled with the spyglass / magnifying glass icon (depending on the configured SAP GUI (theme) can help if you have trouble finding your desired module in the list. Select the respective checkbox to the left of the module‘s three-letter-acronym (TLA) name. The report offers the option to install & update all modules to latest version of the ABAP SDK (<Execute …> options) or to just install the selected modules without any update (<Install only …> options). In the latter case, the ABAP SDK Installer will download the respective ABAP SDK .zip file version, if not yet present on the system.
Once the checkboxes for all desired modules are selected, again push either <Execute all> / <Execute All (batch)> to install & update or <Install only> / <Install only (batch)> to just install without updating, to have the report automatically download and import them to your SAP system. All modules present on the system will appear under the „Installed ABAP SDK modules“ folder. If there is a new version of the ABAP SDK available, the GUI will indicate it accordingly.
Deleting modules works in the same fashion: De-selecting the checkbox besides a module‘s TLA will set it up for deletion, further indicated by a red traffic light sign and a message that the module will be deleted in the two rightmost columns. Pressing either <Execute all> or <Execute All (batch)> will start the import for the deletion transports of all de-selected modules and update all remaining modules at the same time, if a newer version of the SDK is available. The <Delete only> / <Delete only (batch)> options will trigger a delete run, without any updates. If you have a larger number of modules present on your system and want to get rid of them all, you can do so quickly by means of the „Delete/De-Select all installed modules“ button, and hit either of the button choices mentioned before in this paragraph. Reversing this decision can be done by clicking „Update/Select all installed modules“. The ABAP SDK core module can only be deleted if all other modules are selected for deletion or no other modules are present on the SAP system.
The report also facilitates examining individual modules more closely. Double-clicking on a module’s name, available version or Transport ID (TID) in a “forward-navigation” kind of way, will open a browser with the corresponding API documentation page for that module. Doing the same for the installed version / TID will take you to that module’s object list recorded during its import. Forward-navigating via double-click on TP RC, the last msg or the transport status icon will take you to the overview of transport logs for the respective module’s latest import run.
Background processing and additional download buttons
Especially if you have a larger number of modules installed and set for update or deletion, or want to install a set of more than five modules at once, it is recommended to so in batch mode via starting the import through the buttons labeled with <… (batch)>. This will launch a batch job on your SAP system and prevent all further input to the module selection via blocking the checkboxes from editing. When starting a report run in background, the current module selection for installation and deletion is written into a shared memory area in your SAP session and kept there until the operation is finished. This way, the report can figure out if input still needs to be blocked.
You can still check the report’s progress by going to transaction SM37 and looking for an import job named like the report. The job will also produce a summary spool output upon completion. Pressing the <Refresh> button will further probe if the import job is still running and give a visual status indication in that case. Also, you can always display the background job number by clicking the “Background job details” button. You may intermittently still see in-between results of the currently running operation when refreshing, like, e.g., modules still shown as installed while others are already gone.
Furthermore, should the Amazon SSL root certificates need to be refreshed, you can do so by pressing the “Install SSL Certificates” button. If you just want to download the latest ABAP SDK .zip files on your system to have them ready, you can do that as well by pressing the “Download current SDK” button.
Current limitations
The report currently requires the SAP system it is being run on to have a working Internet connection that allows HTTP(S) and does not offer a true offline experience. The SAP system should be able to establish HTTP and HTTPs connections to the Amazon Trust Services website to download SSL certificates, as well as to the ABAP SDK download page and the ABAP SDK API documentation. There is also currently no option to indicate a path to manually downloaded ABAP SDK .zip files. If customers have demand for that this can get addressed in future revisions of the report. Furthermore, while it is technically feasible to install all modules via the report, e.g., for edge cases like training systems, it can become tedious to click every single checkbox. For this use case, AWS currently offers a command line bash script which helps download and bulk install all available modules. In general, however, it is recommended to only install the modules needed for the specific use case. Alongside this, the ABAP SDK Installer also does not support the AWS SDK for SAP ABAP – BTP edition at this point in time. Lastly, while the report helps starting ABAP SDK installations and/or keeping them up to date, it currently has no means of updating itself, so it is recommended to check the GitHub repo from time to time to get the newest release.
Conclusion & next steps
The AWS SDK for SAP ABAP was built to give customers the possibility to enhance and extend their SAP system in a standard and proven way from a familiar platform. The ABAP SDK Installer presented in this blog post helps to accelerate and simplify ABAP SDK deployments for customers to be able to experiment and evaluate on their SAP ABAP-based development systems – So you are cordinally invited to take it for a spin! Grab the report from the GitHub repo, explore and download the modules you are interested in and get started, e.g., with some of the multiple other AWS for SAP blogs on how customers can profit from combining their SAP systems with AWS AI services like Amazon Q and Amazon Bedrock, or realize event-driven architectures. The AWS SDK for SAP ABAP also holds a number of code examples, that you can use to get a grip on how to handle the ABAP SDK with the most common AWS services. Lastly, we at AWS would love to hear about your ABAP SDK ideas, questions and success stories, so please do not hesitate to reach out! AWS offers public discussion, question and answer forums on our re:Post site. Our AWS for SAP solution architecture team regularly monitors the AWS for SAP topic for discussion and questions