In 2025, for the first time, you can open SAP Fiori Tools in VS Code and create a Fiori app directly from ABAP Development Tools: Just open a service binding and choose Create Fiori app. I have tested this with ABAP Cloud Developer Trial and it really works! In this blog post, I’m going to:
Set up a connection between SAP Fiori Tools and ABAP Cloud Developer Trial. There were no problems, but connectivity is a little different from Cloud systems.Set up the connection between ABAP Developer Tools (in Eclipse) and SAP Fiori Tools.Talk about the changes I made to the (on-premise) back end.
I tested on Windows. However, I am indebted to @Marian_Zeis who tested this on Mac and who provided me with his notes. Thank you Marian!
Also, this procedure looks longer than it is – some of it is just checking stuff that should be working.
First, you need to check the following:
1. Make sure you have installed python for Windows:
https://www.python.org/downloads/
To test this, enter: py.exe
This should return the version number plus some more information.
2. Set up VS Code and extensions by working through this complete guide. (Cloud Foundry CLI Tools are optional):
Setup: Visual Studio Code
Note: I got an error later, deploying. I updated this extension manually and the problem was solved:
https://github.com/SAP/open-ux-tools/tree/main/packages/deploy-tooling
3. Check that the Docker container is running:
The container should already be running. I confirmed port 50001 was up with a quick curl:
/usr/bin/curl -sk -u ‘DEVELOPER:<pw>’
-o /dev/null -w ‘%{http_code}n’
‘https://127.0.0.1:50001/sap/bc/adt/discovery’
# 200
-s = (silent): Suppresses progress meter and error messages. Keeps output clean.
-k = (insecure): Allows you to connect to a server with invalid or self-signed SSL/TLS certificates
-o /dev/null = Redirects the response body to /dev/null (discarded).
-w ‘%{http_code}n’ = use the write option to print custom info after the request completes, here the HTTP response code.
The path /sap/bc/adt/discovery — the ABAP Development Tools (ADT) discovery endpoint, which lists available ADT services – commonly used to verify ADT connectivity and authentication from a client (like Eclipse ADT).
4. Update /etc/hosts file:
Add the following two entries to /etc/hosts. Both resolve to 127.0.0.1. (See also below: “Certificate setup”):
sudo sh -c ‘echo “127.0.0.1 vhcala4hci vhcala4hci.dummy.nodomain vhcala4hcs vhcala4hcs.dummy.nodomain vhcala4hdb vhcala4hdb.dummy.nodomain” >> /etc/hosts’
sudo sh -c ‘echo “127.0.0.1 A4H.wdf.sap.corp” >> /etc/hosts’
5. Certificate setup
Problem 1, specific to MacOS:
The VS Code Fiori Tools extension uses Node.js internally for HTTPS calls. Node.js has its own built-in CA bundle and ignores the macOS system keychain entirely. The ABAP server certificate is signed by CN=SAPNetCA_G2, which is a SAP internal CA not included in Node.js’s bundle. This will cause the unable to get local issuer certificate error.
Problem 2, on both Windows and MacOS:
SAP Fiori Tools expects the hostname vhcala4hci.dummy.nodomain . However, this hostname is not in the SAN list for the certificate. This is why you needed to add “a4h” to the etc/hosts file above.
Note: Why curl -k and the YAML proxy worked with vhcala4hci.dummy.nodomain:
curl -k disables all TLS validation. The YAML proxy uses ignoreCertErrors: true, which has the same effect inside the Fiori Tools preview server. The VS Code system connection has no equivalent bypass – it performs full TLS validation, so both the CA and the hostname had to be correct.
Therefore, you need to:
Export the CA certificates from STRUST:
In SAP GUI, transaction STRUST, I opened SSL server Standard. In the Certificate List, there are two entries:CN=SAPNetCA_G2, O=SAP, L=Walldorf, C=DECN=SAP Global Root CA, O=SAP AG, L=Walldorf, C=DE
Double-click each one and use Export Certificate to save them, e.g. to your home folder as ~/sapnetca and ~/globalroot. They will be in DER (binary) format.Convert them to .PEM and create a bundle:Verify the bundle is working — a curl without -k against the correct hostname should return 200. Adapt for your own user and certificate location (MAC):NOTE: For Windows command prompt, change cat to type like this:
type sapnetca_g2.pem globalroot.pem > C:Usersusername>DEVABAPTRIAL2025sap-ca-bundle.pemcd ~
openssl x509 -inform DER -in sapnetca -out sapnetca_g2.pem
openssl x509 -inform DER -in globalroot -out globalroot.pem
cat sapnetca_g2.pem globalroot.pem > /Users/<Username>/DEV/ABAPTRIAL2025/sap-ca-bundle.pem
/usr/bin/curl –cacert /Users/<Username>/DEV/ABAPTRIAL2025/sap-ca-bundle.pem
-u ‘DEVELOPER:<pw>’
-o /dev/null -w ‘%{http_code}n’
‘https://A4H.wdf.sap.corp:50001/sap/bc/adt/discovery’
# 200
6. Connect to ACDT in VS Code
Open VS Code. There’s a new tool available to connect to an ABAP back end, Connection Manager for SAP Systems:
Add a new system with these values:
Field
Value
System Type
ABAP On Premise
Connection Name
A4H 2025
Connection Type
ABAP Catalog
URL
https://A4H.wdf.sap.corp:50001
Client
001
Username
Developer
After clicking Test Connection, the result for me was:
The OData V2 catalog call returned 58 services.
The OData V4 catalog call returned 1262 services.
I saved the connection.
For more information, see:
Connection Manager for SAP Systems | Visual Studio Marketplace
Now, you’re ready to create your first SAP Fiori Elements app from within ADT (in Eclipse), as described by André Fischer:
Create a SAP Fiori Elements application from within ADT
For more information regarding certificate setup, see :
Handling CA Certificates
Handling Self-Signed SSL Certificates in SAP Fiori Tools
For troubleshooting certificates (not recommended generally), see:
Disable SSL Validation – Local Preview
Disable SSL Validation – Deploying to ABAP
Appendix: Backend checks in SAP GUI (client 001, user DEVELOPER)
I configured the following backend services, which need to be active for Fiori Tools and deploy to work:
Transaction/ Activity
What I checked
Result
/n/IWFND/V4_ADMIN
Service group IWFND/CONFIG published
✔️active
/n/IWFND/MAINT_SERVICE
ZABAP_REPOSITORY_SRV listed, system alias LOCAL assigned
✔️active
SICF
/sap/bc/adt and /sap/bc/ui2/app_index
✔️active
Deactivate virus scan – FOR TESTS ONLY
✔️done✔️
In 2025, for the first time, you can open SAP Fiori Tools in VS Code and create a Fiori app directly from ABAP Development Tools: Just open a service binding and choose Create Fiori app. I have tested this with ABAP Cloud Developer Trial and it really works! In this blog post, I’m going to:Set up a connection between SAP Fiori Tools and ABAP Cloud Developer Trial. There were no problems, but connectivity is a little different from Cloud systems.Set up the connection between ABAP Developer Tools (in Eclipse) and SAP Fiori Tools.Talk about the changes I made to the (on-premise) back end.I tested on Windows. However, I am indebted to @Marian_Zeis who tested this on Mac and who provided me with his notes. Thank you Marian! Also, this procedure looks longer than it is – some of it is just checking stuff that should be working.First, you need to check the following:1. Make sure you have installed python for Windows:https://www.python.org/downloads/To test this, enter: py.exe This should return the version number plus some more information.2. Set up VS Code and extensions by working through this complete guide. (Cloud Foundry CLI Tools are optional):Setup: Visual Studio CodeNote: I got an error later, deploying. I updated this extension manually and the problem was solved:https://github.com/SAP/open-ux-tools/tree/main/packages/deploy-tooling3. Check that the Docker container is running:The container should already be running. I confirmed port 50001 was up with a quick curl:/usr/bin/curl -sk -u ‘DEVELOPER:<pw>’
-o /dev/null -w ‘%{http_code}n’
‘https://127.0.0.1:50001/sap/bc/adt/discovery’
# 200 -s = (silent): Suppresses progress meter and error messages. Keeps output clean.-k = (insecure): Allows you to connect to a server with invalid or self-signed SSL/TLS certificates-o /dev/null = Redirects the response body to /dev/null (discarded). -w ‘%{http_code}n’ = use the write option to print custom info after the request completes, here the HTTP response code.The path /sap/bc/adt/discovery — the ABAP Development Tools (ADT) discovery endpoint, which lists available ADT services – commonly used to verify ADT connectivity and authentication from a client (like Eclipse ADT).4. Update /etc/hosts file:Add the following two entries to /etc/hosts. Both resolve to 127.0.0.1. (See also below: “Certificate setup”):sudo sh -c ‘echo “127.0.0.1 vhcala4hci vhcala4hci.dummy.nodomain vhcala4hcs vhcala4hcs.dummy.nodomain vhcala4hdb vhcala4hdb.dummy.nodomain” >> /etc/hosts’
sudo sh -c ‘echo “127.0.0.1 A4H.wdf.sap.corp” >> /etc/hosts’5. Certificate setupProblem 1, specific to MacOS:The VS Code Fiori Tools extension uses Node.js internally for HTTPS calls. Node.js has its own built-in CA bundle and ignores the macOS system keychain entirely. The ABAP server certificate is signed by CN=SAPNetCA_G2, which is a SAP internal CA not included in Node.js’s bundle. This will cause the unable to get local issuer certificate error.Problem 2, on both Windows and MacOS:SAP Fiori Tools expects the hostname vhcala4hci.dummy.nodomain . However, this hostname is not in the SAN list for the certificate. This is why you needed to add “a4h” to the etc/hosts file above.Note: Why curl -k and the YAML proxy worked with vhcala4hci.dummy.nodomain:curl -k disables all TLS validation. The YAML proxy uses ignoreCertErrors: true, which has the same effect inside the Fiori Tools preview server. The VS Code system connection has no equivalent bypass – it performs full TLS validation, so both the CA and the hostname had to be correct.Therefore, you need to: Export the CA certificates from STRUST: In SAP GUI, transaction STRUST, I opened SSL server Standard. In the Certificate List, there are two entries:CN=SAPNetCA_G2, O=SAP, L=Walldorf, C=DECN=SAP Global Root CA, O=SAP AG, L=Walldorf, C=DEDouble-click each one and use Export Certificate to save them, e.g. to your home folder as ~/sapnetca and ~/globalroot. They will be in DER (binary) format.Convert them to .PEM and create a bundle:Verify the bundle is working — a curl without -k against the correct hostname should return 200. Adapt for your own user and certificate location (MAC):NOTE: For Windows command prompt, change cat to type like this:type sapnetca_g2.pem globalroot.pem > C:Usersusername>DEVABAPTRIAL2025sap-ca-bundle.pemcd ~
openssl x509 -inform DER -in sapnetca -out sapnetca_g2.pem
openssl x509 -inform DER -in globalroot -out globalroot.pem
cat sapnetca_g2.pem globalroot.pem > /Users/<Username>/DEV/ABAPTRIAL2025/sap-ca-bundle.pem
/usr/bin/curl –cacert /Users/<Username>/DEV/ABAPTRIAL2025/sap-ca-bundle.pem
-u ‘DEVELOPER:<pw>’
-o /dev/null -w ‘%{http_code}n’
‘https://A4H.wdf.sap.corp:50001/sap/bc/adt/discovery’
# 200 6. Connect to ACDT in VS CodeOpen VS Code. There’s a new tool available to connect to an ABAP back end, Connection Manager for SAP Systems:Add a new system with these values:FieldValueSystem TypeABAP On PremiseConnection NameA4H 2025Connection TypeABAP CatalogURLhttps://A4H.wdf.sap.corp:50001Client001UsernameDeveloperAfter clicking Test Connection, the result for me was:The OData V2 catalog call returned 58 services.The OData V4 catalog call returned 1262 services.I saved the connection.For more information, see:Connection Manager for SAP Systems | Visual Studio Marketplace Now, you’re ready to create your first SAP Fiori Elements app from within ADT (in Eclipse), as described by André Fischer:Create a SAP Fiori Elements application from within ADTFor more information regarding certificate setup, see : Handling CA CertificatesHandling Self-Signed SSL Certificates in SAP Fiori ToolsFor troubleshooting certificates (not recommended generally), see:Disable SSL Validation – Local PreviewDisable SSL Validation – Deploying to ABAPAppendix: Backend checks in SAP GUI (client 001, user DEVELOPER)I configured the following backend services, which need to be active for Fiori Tools and deploy to work:Transaction/ ActivityWhat I checkedResult/n/IWFND/V4_ADMINService group IWFND/CONFIG published✔️active/n/IWFND/MAINT_SERVICEZABAP_REPOSITORY_SRV listed, system alias LOCAL assigned✔️activeSICF/sap/bc/adt and /sap/bc/ui2/app_index✔️activeDeactivate virus scan – FOR TESTS ONLY ✔️done✔️ Read More Technology Blog Posts by SAP articles
#SAP
#SAPTechnologyblog