SmartApps Your first app

Your first app in 30 minutes: the warranty check, on your live data.

Six blocks of five minutes. You draw three lanes, register two data handlers on live tables, compose three screens, write four criteria, assign roles and publish version 1.

YOUR FIRST APP, IN 30 MINUTES10–5 minName the app; pickprocess; draw 3 lanes25–12 minRegister 2 datahandlers on live SAPtables312–20 minCompose 3 screensfrom components420–25 minWrite the 4 flowcriteria; test each525–28 minAssign roles; previewas each role628–30 minPublish v1; firstinstance runs
The 30 minutes, block by block. The showcase walkthrough was recorded on SAP S/4HANA; the same steps apply on Oracle, with the handlers bound to Fusion's resources.
30 min
to version 1 with a running instance
showcase
2
handlers: warranty with its equipment record; sales order line
walkthrough
3
screens: lookup and claim, coverage, decision
walkthrough
4
criteria: start, covered, above band, approved
walkthrough
5 days
to the production-grade version in the catalogue estimate: portal screen, assessor lane, return orders, board
estimate
Before you start

What is in place

The system is connected and its objects are registered in the catalog: for SAP, the equipment and master warranty tables and the sales order tables; for Oracle Fusion, the installed base and service contract resources and the order lines. Write-back for the service order interface has had its test write. You have the configurator role for a new app and the process owner is with you for the preview.

Everything else happens in the studio. The times below are from the recorded walkthrough on the showcase estate.

SystemSAP S/4HANA connected; objects registeredday 0
Write-backservice order interface test write confirmedswitched on
Rolesconfigurator; process owner for the preview2 people
Datalive rows; writes held during previewin place
Minutes 0–5

Name the app, choose process, draw three lanes

Create the app, choose the process way of building, and draw three lanes: customer or agent, service agent, system. Place a start node in the first lane, a screen box in the second, a decision after it, and a write-back box in the third. Five boxes, four arrows. The validator shows green when every box has a way in and a way out.

Studio · new app · Warranty check process
LanesCustomer or agent · Service agent · System
BoxesStart → S01 Lookup and claim → Covered? → S03 Decide → Service order (write-back)
Validator5 nodes · 5 arrows · entry and exit found · OK
Draw lanesAdd boxAdd decisionValidate
Minutes 5–12

Register two data handlers on live tables

From the catalog, pick the warranty object; the studio proposes the handler with the equipment record joined (in SAP, BGMK and BGMS with EQUI's warranty dates; in Fusion, serviceContracts with installedBaseAssets). Pick the sales order line object for the delivering order. Each handler shows its rows the moment it is registered; you pick a serial you know and see its dates. Two handlers, seven minutes, most of it looking at the rows.

Data handlers · Warranty check
dh_warrantytable · BGMK · BGMS · EQUI (GWLDT, GWLEN, SERNR, KUNDE) · read · 31,204 rows
dh_so_linetable · VBAK · VBAP · VBEP · read · filter by material and customer
Testserial CX4-0921 → warranty_end 2027-11-30 · customer 10023 · order 0000512345/000010
Add from catalogTest with a row
Minutes 12–20

Compose three screens from the handlers

Draft S01 from dh_warranty: a serial field with scan, a lookup button, the coverage card (product, customer, start, end, type, earlier claims), a fault type dropdown, a description, a photo upload and a submit button. Draft S02 as the coverage detail, with the sales order line from dh_so_line. Draft S03 as the decision screen: estimate, decision options, note, approve. The studio lays out desktop and mobile; you rename two labels and move the photos below the fault.

Screens · 3 of 3 · preview on CX4-0921
S01 Lookup and claimtxt_serial (scan) · btn_lookup · card_coverage · dd_fault · txt_desc · up_photos · btn_submit
S02 Coverage detailgrid: warranty terms · so line 0000512345/000010 · covered types
S03 Decidenum_estimate · dd_decision · txt_note · btn_approve (enabled when note present)
Draft from handlerMobile layoutPreview
Minutes 20–25

Write four criteria and test each on a real serial

The start criterion: a claim submitted on S01. The decision after S01: covered when the fault date is on or before the warranty end and the fault type is in the covered types and the estimate is below the band; above band otherwise. The arrow into the write-back: approved. The editor shows 'covered' for CX4-0921 and 'assess' when you change the estimate to 900. Four criteria in five minutes, each tested before it is saved.

# covered?
dh_warranty.warranty_end >= dt_fault.value
  and dd_fault.value in dh_warranty.covered_types
  and num_estimate.value < glob.claim_band      # 500
→ covered for CX4-0921 · assess at estimate 900

# write-back arrow
app.decision == 'approve' and txt_note.value.length > 10
Minutes 25–28

Assign roles and preview as each one

Attach the service agent role to the second lane and pick two agents from the directory; the system role is the SAP connector. Run the preview as an agent: scan CX4-0921, pick a fault, upload a photo, submit; the decision node reports 'covered'; the write-back is shown as it would be sent, held. Run it again with a 900 estimate and see the assess path. The process owner nods.

Preview · as service agent · writes held
S01CX4-0921 · sensor fault · 1 photo · submitted 10:41:05
Decisioncovered (band 500, estimate 180)
Write-back (held)BAPI_ALM_ORDER_MAINTAIN · equipment 10004471 · would create service order
Log3 steps · 2 reads · 1 held write · version draft
Run as roleSwitch roleApprove preview
Minutes 28–30

Publish version 1; the first instance runs

Publish with the note 'v1: lookup, coverage decision, service order'. The process owner approves the gate, write-back for the service order interface is already on, and the first real claim runs: a serial in, 'covered' out, a service order number back from SAP, and a log entry with the acknowledgement. Thirty minutes.

Published · Warranty check v1 · first instance PR-2026-04512
Start10:58:12 · agent L. Martin · serial CX4-0921
Decisioncovered · band 500
Write-backBAPI_ALM_ORDER_MAINTAIN · service order 4000123 · RETURN S · 10:58:14
Board1 open · 0 escalations
v1 publishedOpen board
After the 30 minutes

What turns version 1 into the production-grade app

The catalogue entry estimates five working days.

Day 1–2: the customer's screenA portal screen for the customer to report the fault and see the appointment; the customer role and its access scope.
Terms on this page

Data handlerA named connection from an app to rows in a system: a federated table, a saved query, a pipeline result, an API or a file. Screens, expressions and decision points use it to read and write.
Flow criterionA condition, written in the expression editor, that moves a flow from one level or box to the next. A trigger criterion is the condition that starts the flow.
VersionA published state of an app. A new version keeps the old one available for running instances and records what changed and who approved it.
Write-backA change made by the app in the system of record through that system's released interface, with the acknowledgement stored beside the decision.

See a SmartApp built on your data

Bring one process and the systems it touches. In the first session we register the data handlers, draw the levels or the lanes and run the first screen on your live rows.