How do you profile, test and monitor data quality in SAP HANA with TestGen?

DataOps TestGen connects to SAP HANA through a SQL user with SELECT on your tables, runs profiling, data tests, and monitors as SQL inside HANA, and publishes scorecards on a data quality dashboard. It profiles 55 column characteristics and generates 34 test types from the profile. It's Apache 2.0, free for one connection, and needs no ECC or S/4HANA access.

Key points

  • DataOps TestGen has connected to SAP HANA since version 5.9.4, released March 27, 2026, in both the open-source and Enterprise editions.
  • TestGen's SAP HANA user needs SELECT on the target tables plus explicit SELECT grants on SYS.TABLE_COLUMNS and SYS.M_TABLES, per DataKitchen's Access Requirements page in October 2026.
  • TestGen reads SAP data through the HANA database over SQL; it does not connect to ECC or S/4HANA application servers.
  • On SAP HANA connections, TestGen does not generate the hash tests or Match Epoch Sum from its Table Comparison set, so migration checks into or out of HANA rely on counts, sums, and value tests instead.
  • SAP Information Steward offers profiling, validation rules, and scorecards; DataKitchen estimates it at $100,000 to $300,000 a year for 10 users and 1,000 tables.

This page is the SAP HANA setup. For moving data into or out of HANA, the migration answer covers the procedure.

On HANA, the data quality question is usually blunt: is the table the finance report reads complete and correct today?

Connect: one SQL user, three grants

TestGen authenticates with a username and password. Access Requirements lists the grants:

PermissionWhy TestGen needs it
SELECT on the tables in the target schemaProfile data, run tests, and collect monitor metrics
SELECT on SYS.TABLE_COLUMNSDiscover tables, columns, and data types
SELECT on SYS.M_TABLESTable metadata and row counts for in-memory tables

The catch on HANA: SYS.TABLE_COLUMNS needs an explicit grant. On most databases the catalog views come free. Here they don’t, so grant both system views along with the schema.

Calculation views vs tables

TestGen discovers what’s in SYS.TABLE_COLUMNS, which is a catalog of table columns. The docs say nothing about calculation views. Point the table group at the schema that holds the physical tables, then click Verify Access in the setup wizard to see exactly which objects TestGen found. Testing the tables under a view catches problems before the view rolls them up.

Profile, test, observe

Profiling captures 55 characteristics per column and flags 32 kinds of hygiene issues. TestGen generates 34 test types from that profile and gives you 19 business-rule and custom SQL types to configure. All of it runs as SQL inside HANA.

Monitors track freshness, volume, and schema on every table in the group, and alerts go to email, Slack, Microsoft Teams, or a webhook. Each table group gets a scorecard with a total score and a critical data element (CDE) score. Each hygiene issue has a PDF Issue Report with sample rows and the SQL to reproduce it.

One HANA limit to plan around. The Profile for table comparison setting isn’t shown for SAP HANA, so Verify a Data Migration skips the hash tests there.

Walkthrough: the general steps

DataKitchen has no SAP HANA quickstart. These are the general steps from Manage Connections:

  1. Select Connections, click Add Connection, and pick SAP HANA.
  2. Enter Host, Port, and the read-only user. Click Test Connection.
  3. Create a table group with the schema and table masks, then click Verify Access.
  4. Leave Run profiling, Generate and schedule tests, and Configure monitors on, then click Finish Setup.
TestGen Hygiene Issues list with likelihood counts, potential PII risk counts, and rows naming the table, column, issue type, and detail for each finding

That’s the Hygiene Issues page on TestGen’s demo data, not a HANA schema. Each row names a table, a column, an issue type such as non-standard blank values, and how likely it is to be a real problem.

TestGen vs SAP’s own tools

DataOps TestGenSAP Information StewardSAP Data Services
JobProfile, generate tests, monitorProfiling, validation rules, scorecards, metadataETL with embedded data quality and cleansing
Tests34 types generated from the profileRules you defineTransforms you build
CleansingNoneCleansing package builderYes
DataKitchen’s price estimate$0 open source$100,000 to $300,000 a year$150,000 to $400,000 a year

Sources: SAP’s Information Steward page, checked October 21, 2026, and DataKitchen’s Information Steward and Data Services comparisons, whose prices are DataKitchen estimates for 10 users and 1,000 tables. SAP’s tools fix data. TestGen doesn’t. Pick TestGen when you want coverage on every HANA table without writing the rules first.

Pricing

The core profiling, testing, and monitoring engine is free and open source. Enterprise adds team access, security, Commercial Pharma tests, source-data controls for AI, and support. Open source covers one user, one database connection, one project, and unlimited tables. Enterprise is $100 per user per month plus $100 per database connection per month. Install open source TestGen, or see every database it supports. The March 2026 release post covers the setup wizard, and the migration post covers the comparison tests.

Documentation: Access Requirements, Manage Connections, Data Profiling, Monitor Tables, Verify a Data Migration, SAP HANA 5.9.4 release notes

Frequently asked questions

Short answers to the follow-up questions people ask next.

Does any data leave my environment?

No. TestGen runs its profiling, tests, and monitors as read-only SQL inside SAP HANA. It stores results and metadata in its own application database: statistics, test outcomes, hygiene findings, and, for display, each column's most frequent values and minimum and maximum text values. It never runs INSERT, UPDATE, DELETE, CREATE, ALTER, or DROP against HANA.

Does TestGen read SAP tables through HANA or need ECC or S/4HANA access?

HANA only, through SQL. TestGen connects to the SAP HANA database with a username and password and queries the tables that user can select. It has no connector to ECC or S/4HANA application servers and needs no SAP application login. If an SAP table sits in HANA and your user can select it, TestGen can profile and test it.

What grants does TestGen need in SAP HANA?

Three: SELECT on the tables you want tested, SELECT on SYS.TABLE_COLUMNS, and SELECT on SYS.M_TABLES. DataKitchen's Access Requirements page notes that SYS.TABLE_COLUMNS needs an explicit grant on HANA, unlike the catalog views on most databases. TestGen reads SYS.M_TABLES for row counts of in-memory tables.

Can TestGen verify a migration into or out of SAP HANA?

Partly. TestGen's Table Comparison tests, added in version 5.134.0 on October 14, 2026, compare row counts, null counts, sums, and frequent values between source and copy. On SAP HANA connections the hash tests and Match Epoch Sum are not generated, and if HANA is the destination they end with an error, so deactivate them there.

Should I use SAP Information Steward or TestGen on HANA?

Use Information Steward if you need SAP's metadata management and cleansing package builder alongside rule-based scorecards. Use TestGen if you want tests generated from a profile of 55 column characteristics and run as SQL inside HANA. DataKitchen estimates Information Steward at $100,000 to $300,000 a year for 10 users and 1,000 tables; open-source TestGen is free for one connection.

Try it on your own data

DataOps TestGen is free and open source. Profile a table and generate its tests this afternoon.