Ad-Hoc Extracts from SAP ECC / S/4HANA
Pull data out of SAP ECC or S/4HANA yourself, starting from what you already know: a table name, a transaction code, or a saved SAP Query. You pick the object from a search, see its fields or selection screen, preview real rows, check the plan, and save a workflow step that lands the result in a table.
Prerequisites
Section titled “Prerequisites”- A PlaidLink agent with network access to the SAP system. See Install PlaidLink.
- An SAP ECC / S/4HANA Instance connection. See SAP ECC and S/4HANA Connector. The SAP user on that connection is the RFC user every extract runs as.
- The PlaidCloud SAP package installed in SAP. Your SAP Basis team installs it once per SAP system.
- SAP authorizations for the RFC user on the objects you extract. See SAP Authorizations.
Choose a Step
Section titled “Choose a Step”All three steps are in the workflow step menu under SAP.
| Step | Use it to |
|---|---|
| SAP: Ad-Hoc Extract | Read an SAP table, in full or incrementally. |
| SAP: Run Transaction / Report | Run a transaction code or an ABAP report program and land its result. |
| SAP: Run Query (SQ01) | Run a saved SAP Query and land its result. |
Every step starts with the same three fields — Agent, SAP Connection, and a Target Table for the result.
Find an SAP Object
Section titled “Find an SAP Object”With an agent and connection selected, the step’s search lists matching SAP objects — Tables, Transactions, or Queries, depending on the step. Type a name, a transaction code, or words from the description. SAP * wildcards work. An object SAP won’t serve still appears, greyed out, with the reason.
Picking a table lists its fields with their descriptions and fills in its key fields. Picking a transaction or report shows its selection screen.
Extract a Table
Section titled “Extract a Table”Use SAP: Ad-Hoc Extract.
-
On the SAP Extract tab, search for the table and pick it.
-
Enter the RFC Read Function — the table-read function from the PlaidCloud SAP package, as your Basis team installed it.
-
Check Key Columns. PlaidCloud fills them in from SAP’s data dictionary with the table’s primary key, client field excluded. Tick the box affirming they’re exactly the primary key. SAP refuses any other set of columns.
-
On the Bounding Filter tab, add filters. Click a known column to add a row, choose an Operator, and use value help to pick valid values straight from SAP. A large SAP table needs at least one filter, such as a date range or a company code.
-
To read only new and changed rows on each run, set up the Incremental tab. See Incremental Table Extracts.
-
On the Visibility & Definition tab, set the Governed Column. See Governed Column.
A CURR amount column whose currency key is in the same table lands at its true value. PlaidCloud shifts each amount by its currency’s decimal places, so a Japanese yen amount lands in whole yen. An amount column without its currency key lands as SAP stores it, and the run reports a warning naming the column.
SAP Client (mandt) and Slice Size are optional. Leave the client blank to use the connection’s default client.
Run a Transaction or Report
Section titled “Run a Transaction or Report”Use SAP: Run Transaction / Report.
-
On the SAP Run tab, search for a transaction and pick it, or type a report program name in Report/Program and click Look Up Selection Screen. Pick one or the other.
-
On the Filters tab, fill in the selection screen. The form builds it from the transaction’s or report’s own SAP selection screen. A blank field runs unfiltered for that field.
-
Set Max Rows — 10,000 by default, up to 50,000. SAP runs the whole transaction or report either way, and the cap limits the rows PlaidCloud reads back.
-
For a long-running report, tick Run as a background job and optionally give a Job Name (async only).
-
On the Visibility & Definition tab, set the Governed Column.
A report that needs interactive input, a popup, or a screen can’t run unattended. SAP refuses it, nothing lands, and the step reports SAP’s reason. Run that report in SAP GUI instead.
Run an SAP Query
Section titled “Run an SAP Query”Use SAP: Run Query (SQ01).
-
On the SAP Run tab, search for the query and pick it. Picking a query fills in Workspace, User Group, and Query Name. You can also choose the Workspace and type the User Group and Query Name directly.
-
Set Max Rows — 10,000 by default, up to 50,000.
-
On the Visibility & Definition tab, set the Governed Column.
The query’s own saved variant and defaults in SAP bound the result.
Governed Column
Section titled “Governed Column”Every SAP extract step requires a Governed Column: one of the columns the step lands, such as BUKRS for company code. The step doesn’t save without one, and a run lands no rows unless that column is among the landed columns.
Preview, Plan, and Authorizations
Section titled “Preview, Plan, and Authorizations”The Preflight group on each step has three buttons. None of them blocks saving the step.
| Button | What it shows |
|---|---|
| Preview | Sample rows. A table preview reads the first rows directly. For a transaction, report, or query, preview runs it in SAP as a separate sample capped at 100 rows, so the form asks you to confirm first. Nothing lands. |
| Plan | How the extract runs — its key columns, row estimate, and the selection sent to SAP — and anything that would stop it. A plan refusal disables Create and Run and Save and Run until you change the configuration or a fresh plan comes back clean. You can still save the step. |
| SAP Authorizations Needed | The SAP authorizations the object needs, to share with your Basis team. This list is informational. |
SAP Authorizations
Section titled “SAP Authorizations”SAP’s standard authorization checks apply to the RFC user, exactly as they do inside SAP.
| Extract | Authorization |
|---|---|
| Table | S_TABU_NAM or S_TABU_DIS display, activity 03 |
| Transaction | S_TCODE |
| Report | S_PROGRAM SUBMIT for the report’s authorization group |
A missing authorization fails the run with SAP’s not-authorized error and a remedy listing the preceding grants. PlaidCloud adds no permission checks of its own, and never blocks a step based on the SAP Authorizations Needed list.
Incremental Table Extracts
Section titled “Incremental Table Extracts”On the Incremental tab of SAP: Ad-Hoc Extract, tick Run incrementally and enter a Watermark Column. It must be one of these:
- A date column, SAP type
DATS - A UTC timestamp column, SAP type
TZNTSTMPSorTZNTSTMPL
Timestamp columns of SAP type UTCL aren’t supported, and the watermark column can’t also be a bounding-filter column.
The first run reads the whole table. Each later run reads only rows at or after the last watermark, less the Lookback, and merges them on the key columns. The watermark advances only after the whole run lands. SAP’s open-ended date 99991231 never becomes the watermark. A date more than a day after the run date holds the watermark at the run date, and a timestamp never moves it past the run’s start.
How Columns Land
Section titled “How Columns Land”SAP: Ad-Hoc Extract lands every column as text, and UTC timestamps land as ISO text such as 2026-01-03T10:15:00.123456Z. SAP: Run Transaction / Report lands amount columns as numbers. SAP: Run Query (SQ01) lands amount, integer, and date columns with those types. Every other column lands as text. Convert types in a downstream step where you need them.
Run Limits
Section titled “Run Limits”A single run of SAP: Ad-Hoc Extract pauses once it has read 5,000,000 rows or run for 240 minutes, after finishing the slice in progress. The step ends with a warning, not a failure, and the next run continues where it left off with no rows lost.
Related
Section titled “Related”- SAP ECC and S/4HANA Connector — the connection fields.
- SAP Steps — every SAP workflow step.
- PlaidLink — installing and upgrading agents.