
SAP HANA is a fast, in-memory database that enables real-time analytics and transactional processing. Building apps that leverage SAP HANA’s data used to require months of coding, but platforms like Adalo simplify this process. By connecting SAP HANA to Adalo through APIs - using tools like DreamFactory - you can quickly create web and mobile apps without writing code.
Key Steps to Build Your App:
- Set Up SAP HANA: Enable OData services, configure API credentials, and ensure proper user permissions.
- Use DreamFactory: Generate REST APIs for SAP HANA data to make it accessible to Adalo.
- Create in Adalo: Use Adalo’s drag-and-drop builder to design your app and link it to SAP HANA data via external collections.
- Add Features: Display live data, create forms for CRUD operations, and include user authentication.
- Optimize Performance: Use caching, pagination, and API monitoring to handle large datasets efficiently.
- Deploy: With Adalo, you can launch a single app across web, iOS, and Android without rebuilding for each platform.
Adalo’s no-code approach reduces development time and costs, making it easier for businesses to create functional apps powered by SAP HANA data. With the right setup, you can build operational dashboards, customer portals, or mobile tools in days instead of months.
6-Step Process to Build an App Using SAP HANA Data with Adalo
Building Intelligent Apps with SAP HANA Cloud | SAP TechEd in 2022 | Demo

What You Need Before You Start
Before diving in, make sure you have access to the necessary tools and accounts: SAP HANA, an Adalo account with external API capabilities, and DreamFactory to bridge the connection between them.
SAP HANA Account and API Credentials

To connect to SAP HANA, you'll need these database details: host name (fully qualified domain name), port number, database name, username, and password. For single-container systems, use port 30015, while multi-tenant systems require port 3NN15 (replace "NN" with the instance number).
Before connecting, open SAP HANA Studio and enable HTTP and HTTPS endpoints for OData services under the Services tab. It's also a good idea to create a dedicated integration user (e.g., HDB_API_USER) instead of using admin credentials. Assign schema-level permissions to this user with SQL commands like:
GRANT ALL PRIVILEGES ON SCHEMA <SCHEMA_NAME> TO <USER_NAME>;
Don’t forget to configure your firewall to allow traffic between DreamFactory and your SAP HANA database port.
Adalo Account with API Connection Setup

To build your app, you’ll need an active Adalo account. While Adalo offers a free plan for web publishing, accessing external databases via REST APIs requires a Pro subscription. This plan unlocks the External Collections feature, enabling Adalo to fetch data from your SAP HANA database and display it in your app.
DreamFactory Setup for SAP HANA API Generation

Since SAP HANA doesn’t natively provide data in a format Adalo can use, DreamFactory acts as middleware, transforming your SAP HANA data into RESTful APIs. You can try DreamFactory with a free 14-day hosted trial or opt for self-hosting if you prefer.
For self-hosted installations, ensure your server meets these requirements: 64-bit, at least 4GB RAM (8GB recommended), PHP 8.1+, and a web server like Apache or NGINX. Once DreamFactory is set up and connected to SAP HANA, it generates an API key and base URL for Adalo to authenticate requests. According to DreamFactory, this automated API creation process can save businesses around $201,783 annually in development and maintenance costs.
"DreamFactory streamlines everything and makes it easy to concentrate on building your front end application. I had found something that just click, click, click... connect, and you are good to go." - Edo Williams, Lead Software Engineer, Intel
Adalo simplifies app development, letting you quickly create and deploy production-ready apps across platforms. With Adalo, you can launch your app as a progressive web app (PWA) or natively for iOS and Android without needing to rebuild for each platform.
Once you've set up SAP HANA, Adalo, and DreamFactory, you're ready to start building your app using SAP HANA data.
How to Build an App with SAP HANA Data
Once your infrastructure is set up, it's time to dive into building your app. This involves configuring DreamFactory to expose your SAP HANA data as REST APIs, creating the app in Adalo, linking the two platforms, and designing screens to display your enterprise data.
Set Up DreamFactory for SAP HANA API Access
DreamFactory simplifies the process by creating REST endpoints for your SAP HANA tables, views, and stored procedures. These endpoints enable full CRUD operations using standard HTTP methods.
Start by accessing the DreamFactory admin panel and navigating to API Generation & Connections. Select either SAP HANA or SAP HANA OData Connector as the service type. Enter the required connection details, including the host name (fully qualified domain name), username, password, and database name.
Before moving forward, ensure your SAP HANA user account has the necessary CRUD privileges. Without these, even a successful connection will result in API errors. Once connected, DreamFactory generates interactive Swagger/OpenAPI documentation, which you can find under the API Docs tab. Use this documentation to test your authentication keys and verify that data is correctly returned before integrating with Adalo.
Security is a top priority here. Apply Role-Based Access Control (RBAC) to restrict access to specific tables or HTTP methods, preventing your API from being fully exposed to the public.
"Role-Based Access Control (RBAC) simplifies API permission management by assigning users to predefined roles, each with specific permissions".
For better performance when working with large datasets, enable Data Retrieval Caching in the DreamFactory service configuration. This feature reduces response times when your Adalo app requests data from SAP HANA.
Once DreamFactory confirms your API setup, you're ready to move on to creating your app in Adalo.
Create a New App in Adalo
Log in to your Adalo account and start a new project. You can choose a Blank or Mobile First template as a foundation.
Since your data resides in SAP HANA, you won't need to build a data structure in Adalo from scratch. Instead, you'll create External Collections that reflect your SAP HANA tables. This approach allows you to display existing enterprise data in your app without duplicating or migrating it.
Connect Adalo to SAP HANA via APIs
In Adalo, set up a new External Collection to connect to your SAP HANA data. You'll need three key details from DreamFactory: the Base API URL (e.g., https://your-instance.com/api/v2/hana_service/_table/table_name), the specific table endpoint, and your API Key.
When configuring the collection, add a custom header called X-DreamFactory-Api-Key and input the API key from DreamFactory's Apps tab. This header ensures secure communication between Adalo and your SAP HANA database.
Pay close attention to the Results Key field, which should be set to resource. DreamFactory structures record collections under this JSON key, and incorrect configuration will prevent your app from displaying data.
Map Adalo actions to DreamFactory's HTTP methods. For example:
- Get All maps to the GET endpoint for retrieving records.
- Create maps to the POST endpoint for adding new data.
Use Adalo's Run Test feature during the setup process to confirm that the SAP HANA table schema is correctly pulled. To avoid errors, copy the exact JSON structure from DreamFactory's API Docs tab and ensure Adalo's External Collection fields are mapped accurately.
Design App Screens and Display Data
With the connection in place, it's time to focus on building an intuitive user interface in Adalo.
Start by adding a Simple List component to your home screen. Configure the list to pull data from your External Collection, and your SAP HANA data will display in real time. Use Adalo's Magic Text tool to bind specific SAP HANA data fields to UI elements. For instance, you can combine first_name and last_name fields to format full names for display.
To create detailed views, like an employee profile screen, add a Link Action to the list items. This action transfers the "Current [Item]" data to a new screen, where you can display additional details. You can also enhance usability by incorporating search bars, filters, and sorting options for navigating large datasets.
While many apps start as read-only directories, Adalo's External Collections support full CRUD operations. This means you can create forms in your app that allow users to add, update, or delete records directly from SAP HANA.
Add User Authentication and Permissions
Adalo makes user authentication simple. Add a login screen to your app, set up sign-up forms, and configure password reset flows - all without writing any code.
To align user roles with SAP HANA permissions, leverage the RBAC system you set up in DreamFactory. This ensures that each user's access is appropriately restricted based on their role.
sbb-itb-d4116c7
Improving App Performance and Scalability
Once your app is live and actively pulling data from SAP HANA, the next hurdle is maintaining speed and responsiveness as both your user base and data grow. Optimizing performance becomes a priority when working with SAP HANA, emphasizing its central role in your app’s infrastructure.
Enable Caching and Pagination for Large Datasets
Trying to load entire SAP HANA tables into your app all at once can lead to sluggish performance. Instead, configure DreamFactory's API to use server-side pagination, fetching only the data needed for the current view.
You can set URL parameters and filters in your External Collection to limit the number of records retrieved - for example, pulling 50 records per page. Enabling DreamFactory caching further speeds up response times. If you're using OData V2 or V4 services from SAP HANA, take advantage of system query options to better manage data volume. To ensure everything is working as expected, test your pagination setup using the Browse Real Data feature during integration.
"To ensure that your REST API is well performing, optimize queries and minimize the amount of data returned to the client".
These steps lay the groundwork for smoother deployment and easier monitoring.
Deploy Across Platforms with Adalo's Single-Codebase Architecture
Performance isn’t just about data retrieval - it’s also about how efficiently you can scale your app across platforms. One of Adalo's standout features is its single-codebase architecture, allowing you to build your app once and deploy it seamlessly to the web, iOS, and Android.
"develop an application once and then seamlessly deploy it as a web-based app or as versions compatible with both iOS and Android platforms".
With the app market expected to hit $187 billion by 2030, Adalo’s approach ensures that your optimizations apply universally, no matter the platform.
Monitor App Performance and User Activity
Keeping a close eye on performance requires monitoring both the SAP HANA backend and the Adalo frontend. DreamFactory’s admin panel provides insights into API usage, including response times, slow queries, and authentication errors that could signal connectivity issues.
For a deeper dive into SAP HANA’s performance, take advantage of the SAP HANA Performance Tools available through SAP Business Application Studio. Additionally, connecting SAP HANA Cloud to SAP Analytics Cloud enables you to create real-time visualizations, helping you track usage patterns and data trends.
To maintain responsiveness during high-traffic periods, implement rate limiting on your DreamFactory REST API. This prevents server overload and ensures the API remains functional, even during usage spikes.
Adalo also supports deploying your app as a Progressive Web App (PWA) or as native iOS and Android apps - all from a single build. This approach guarantees consistent, production-ready performance across different platforms.
Fixing Common SAP HANA Integration Problems
Connecting Adalo to SAP HANA through DreamFactory can sometimes hit snags in three main areas: authentication failures, data formatting mismatches, and API connectivity issues. If you're running into trouble, here’s how to tackle these common challenges step by step.
Authentication Errors and API Token Issues
One of the most frequent problems when linking Adalo to SAP HANA is authentication errors. For example, a 401 Unauthorized error usually means your API key or token is invalid. The fix? Regenerate your credentials in SAP HANA or DreamFactory and update the header in your Adalo External Collection settings.
If you encounter a 403 Forbidden error, it’s likely a permissions issue. Double-check your SAP BTP user roles to ensure the necessary privileges are active.
Another common issue is connection timeouts, which often point to firewall restrictions. If your SAP HANA instance is behind a firewall, make sure to add the outbound IP addresses of your integration tool (like Adalo or DreamFactory) to the allowlist. Lastly, a 404 Not Found error typically indicates an incorrect API endpoint. To resolve this, verify the Subaccount API URL directly in the SAP BTP Cockpit instead of relying on default values.
| Potential Error | Likely Cause | Recommended Resolution |
|---|---|---|
| 401 Unauthorized | Invalid API Key or Token | Regenerate credentials in SAP HANA/DreamFactory and update Adalo headers. |
| 403 Forbidden | Insufficient Permissions | Check SAP BTP user roles and activate necessary privileges. |
| Connection Timeout | Firewall/IP Block | Add outbound IP addresses of your integration tool to the SAP HANA allowlist. |
| 404 Not Found | Incorrect API Endpoint | Verify the Subaccount API URL in the SAP BTP Cockpit. |
When troubleshooting, adjust one variable at a time - whether it’s the header, token, or URL - so you can pinpoint the exact cause. Once authentication is resolved, you can move on to data formatting issues.
Data Formatting and Parsing Problems
If Adalo is struggling to parse numbers or dates from SAP HANA, the issue often lies in mismatched data types. For example, ensure currency values are stored as DECIMAL(22, 3), dates as DATE, and text fields as NVARCHAR with enough length to handle your data.
To check your data, use the SAP HANA Database Explorer and its "Open Data" function. This lets you preview stored data and confirm whether the problem is with the data format or the API transmission. If you’re importing US-localized data - like dates in MM/DD/YYYY format or dollar amounts with commas - make sure the "Table Mapping" step aligns the source data properties with your database column definitions. The Database Explorer also has an "Error Handling" feature that highlights rows failing to parse, helping you zero in on problematic entries.
Debugging API Connectivity Failures
If you suspect connectivity issues, start by confirming that your SAP HANA instance is in the RUNNING state in SAP HANA Cloud Central. Next, check that the SQL Endpoint, host name, and port are correctly entered in DreamFactory's connection settings. Also, ensure that TLS (Transport Layer Security) is enabled for secure communication.
For further debugging, tools like Postman or Adalo's API testing can be invaluable. These tools let you isolate the problem to either credentials or the data request itself. Creating a simplified test app in Adalo that focuses solely on the connection can also help by removing any complex app logic from the equation.
If the connection works but data access still fails, you may be dealing with missing authorizations. Run the SQL command call SYS.GET_INSUFFICIENT_PRIVILEGE_ERROR_DETAILS ('<GUID>', ?) in SAP HANA to identify missing privileges, such as SELECT or SELECT METADATA. This will give you a clear path to resolving authorization issues.
Launching Your SAP HANA-Integrated App with Adalo
With performance optimization and troubleshooting done, it’s time to launch your app. By now, you’ve successfully completed the setup, connection, design, and testing phases.
Before going live, have IT specialists and beta testers review the app to identify any last-minute tweaks. Their feedback ensures the app aligns with business needs, remains reliable, and is secure. Double-check that governance protocols and compliance measures are in place to support scalability and safeguard your app. Once these steps are confirmed, you’re ready to deploy.
Adalo’s single-codebase architecture makes it possible to launch your app simultaneously on web, iOS, and Android platforms. This approach speeds up development - up to 20 times faster than traditional coding methods - and aligns with the growing trend of low-code/no-code tools, projected to reach 65% adoption by 2024. The financial benefits are just as impressive: by reducing the need for specialized developers and eliminating the hassle of managing multiple codebases, businesses can reinvest those savings into projects that drive growth.
"Imagine a world where you do not have to write code, just say things and the computer does it for you." - Koushik Sen, Computer Science Lecturer, UC Berkeley
Adalo allows you to deploy production-ready Progressive Web Apps and native apps for iOS and Android - all from a single build.
FAQs
How does DreamFactory make it easier to create APIs for SAP HANA?
DreamFactory makes creating APIs for SAP HANA incredibly straightforward with its no-code, point-and-click interface. It takes care of generating complete REST endpoints automatically, including CRUD operations and OData support, directly from your SAP HANA database. This means you can skip the hassle of custom coding and get your APIs up and running much faster.
On top of that, DreamFactory manages authentication effortlessly, providing a secure and reliable connection to your SAP HANA data. Its intuitive design lets you concentrate on building robust, data-driven applications without getting bogged down by the technical details of API development.
What are the advantages of using Adalo to build apps with SAP HANA data?
Adalo’s no-code platform offers a straightforward way to turn SAP HANA data into a fully functional mobile app, saving both time and money. Thanks to its drag-and-drop builder and AI-assisted tools, you can design and launch an app in as little as 10 minutes - no coding required. In fact, studies suggest this method can slash development costs by about 48%, making it a smart choice for businesses across the U.S.
The platform also prioritizes smooth performance and scalability. Adalo takes care of data fetching, caching, and offline syncing automatically, ensuring real-time updates from SAP HANA while keeping apps responsive on both iOS and Android. With built-in testing features and one-click publishing, the entire development process becomes faster and more efficient.
What’s more, Adalo securely integrates with enterprise systems like SAP HANA through REST or OData endpoints. Configuring these connections is simple - you can easily map database fields to app components. This empowers business teams to make updates or add features on their own, without needing a developer. This kind of flexibility helps organizations stay agile and respond quickly to shifting market needs.
How can I securely connect my Adalo app to SAP HANA?
To maintain secure data transmission between your Adalo app and SAP HANA, start by enabling HTTPS with TLS 1.2 or higher on your SAP HANA Cloud instance. Since SAP HANA Cloud enforces TLS by default, all communication is encrypted. In Adalo, make sure to store the SAP HANA endpoint URL with the https:// prefix. Configure the external collection to use either Bearer tokens or Basic authentication. These credentials, which you generate in the SAP HANA Cloud cockpit, can be securely added to Adalo without being exposed in client-side code.
To enhance security further, implement role-based access controls in SAP HANA. Assign specific roles - like read-only or write-only - to the credentials used by Adalo, ensuring access is limited to only the necessary operations. Additionally, you can route traffic through the SAP Cloud Connector, which establishes a secure tunnel, especially useful if your HANA instance is protected by a corporate firewall. By combining these steps, you can ensure encrypted communication, authenticated access, and protection against unauthorized actions.
Related Blog Posts









