SAP

Ask your ERP the question you would ask a colleague

Daslab reads and writes S/4HANA over a conversation: every standard OData service, live ABAP against CDS views, BAPIs and any table. The same surface covers SuccessFactors, and one prompt can use both.

No integration project.

"Top customers by FY revenue, their account managers, and each manager's Q4 comp plan."
CustomerS/4HANA FY revenueS/4HANA Account managerSuccessFactors Q4 planSuccessFactors
Meridian Steel4,182,900K. AlvarezTier 2
Northgate Foods3,740,100R. OkaforTier 1
Halden Marine2,915,600K. AlvarezTier 2
Vaster Ltd2,204,850S. LindqvistTier 3
S/4HANASuccessFactorstwo systems, one table, no export
"Which orders did we place above the quote we accepted?"
OrderSupplierQuotedOrderedOver
4500019283Meridian Steel121,000128,400+6.1%
4500018844Halden Marine64,50071,900+11.5%
4500017120Vaster Ltd18,20018,640+2.4%
3 quote PDFs readthe quoted figure came off the comparison sheet, not a field
Procurement

What you paid against what you agreed

The order total is a field. The price you actually agreed is usually in the quote comparison somebody attached, so the two have never been comparable in one query.

Daslab reads both. On one on-premise estate that meant 45,188 purchase orders with their attachments filed alongside the rows, so a question can cross from one to the other without anybody exporting anything.

s4_get_purchase_orders4_get_purchase_requisitions4_get_rfqs4_get_purchase_contracts4_get_supplier_invoices4_get_attachment
Supply chain

Where a batch went, without opening four transactions

Stock, movements, deliveries and process orders are four screens and one story. Asked as a question, the answer is the story.

Useful when it matters most: a customer complaint, a recall, a quality hold, a count that does not reconcile.

s4_get_material_stocks4_get_material_documents4_get_outbound_deliverys4_get_inbound_deliverys4_get_process_orders4_get_product
"Where did batch NO.022 of that compound end up?"
04 MarGoods receiptplant 2100, store 21051,000 kg
11 MarIssued to process ordercompound run 60041882640 kg
19 MarOutbound deliveryNorthgate Foods, 2 shipments330 kg
nowOn handstore 2105, quality hold30 kg
four objects, one answer
Waiting for youbefore it happens
Create sales order for Northgate Foods
sold-to     10004821 Northgate Foods
material    RETTSTE001 × 400 kg
price       from contract 46000291
req. date   2026-04-02
Approve Reject held
Reads ran free. This one waits.
It does not only read

The ones that change something stop and ask

Creating a sales order, approving leave, releasing a requisition. Real actions, through the same transaction layers your own users go through, so they are undoable by the same means.

Writes require approval. The trace covers every action, reads included. The gate is on the action, not on the conversation, so nobody is clicking through a permission dialog to ask a question.

Every approval, and who gave it, is on the scene's record afterwards.

s4_create_sales_ordersf_submit_time_offsf_approve_time_offsf_list_pending_approvals
People

The HR question that needs the plant to answer it

Leave requests are approved against a calendar. Whether a shift can absorb them is in the other system.

Employee Central, Compensation, Recruiting, Performance and Learning read the same way S/4 does, and a single prompt can hold both sides of the question.

sf_list_pending_approvalssf_get_time_balancesf_get_org_chartsf_list_positionssf_list_employees
"Which pending leave requests clash with a line already short-staffed that week?"
EmployeeRequestedLine coverfrom S/4
J. Suwan06 to 10 Apr2 of 4clash
M. Prasert07 to 08 Apr2 of 4clash
A. Chai21 to 24 Apr4 of 4clear
SuccessFactorsS/4HANAone question, both sides
One ABAP run$TMP, start to finish
1write the report, submit it0.2s
2activated in $TMP, isolated from the system1.1s
3executed, output captured0.8s
4deleted. nothing left behind0.1s
Every run has a permalink with code, output and timing.
s4_abap_runs4_abap_edits4_abap_deploys4_abap_searchs4_abap_read_sources4_describe_tables4_analytic_query
For consultants and developers

A dev system you cannot break

Most ABAP work happens on a shared dev system: a heavyweight IDE, a transport request for every iteration, manual cleanup, and the risk of breaking something a colleague depends on.

Here every run is isolated in $TMP, activated, executed and deleted. Try fifty things and leave nothing behind. No transports.

Test BAPI signatures, check CDS view shapes, prove out logic, then hand over the permalink instead of a screenshot.

Worth forwarding

For the person who has to approve this

The honest answers to the objections you are about to raise, in the order they usually come up.

All of it runs through the controls your existing users already have, and the account decides the rest.

How Daslab Gateway connects →

"It could change something."
Reads issue SELECT through the application layer and nothing else. A write is a separate action that waits for a named person to approve it.
"You want database access."
No database user is created and no port is opened. That matters for licensing as much as security, since direct database access is the part your agreement restricts.
"Our data would leave."
The copy lives on a machine in your network and the connection is outbound only, so you open nothing inbound.
"It would see everything."
It reads what the account is allowed to read. Access is a named user you create, revoke and audit like any other.
"You will train on it."
Nothing is trained on your data.
In one sceneassets
S/4HANAread-only account
SuccessFactorsread-only account
Gateway nodethe local copy, plus documents
Slack, Drive, Postgreswhatever else the question needs
And the rest of the estate

SAP is rarely the only system in the question

100+ native integrations plus any MCP server. Same conversation, same scene, no glue code.

When nothing pre-built fits, Daslab writes its own code, runs it in an isolated sandbox, captures the output and cleans up.

Browse all integrations →

See it on your system.

Connect a sandbox, run live ABAP, or talk to us.