Automation · SAP, from the inside06
Hundreds of rows. By hand.
⚙️ SAP GUI Automation ToolkitPython · win32com · drives the live SAP GUI session Attached to session
The work-list — a master-data change to push on every row, by hand
work_list.xlsx A1:E219 218 records · update payment terms · Status column empty
#
Master record
Field
New value
Status
1
Vendor 100482
Payment terms
NT30 → NT45
2
Vendor 100483
Payment terms
NT30 → NT45
3
Vendor 100487
Payment terms
NT30 → NT45
4
Vendor 100491
Payment terms
NT30 → NT45
5
Vendor 100495
Payment terms
NT30 → NT45
6
Vendor 100502
Payment terms
NT30 → NT45
7
Vendor 100509
Payment terms
NT30 → NT45
8
Vendor 100514
Payment terms
NT30 → NT45
9
Vendor 100520
Payment terms
NT30 → NT45
+ 209 more rows
Payment terms
NT30 → NT45
218 near-identical master-data edits. Slow and error-prone to re-key. "Ask IT for a custom program" stalls — central IT is locked-down and oversubscribed.
The bot drives the transaction — by field ID, not by pixel
XK02 Change Vendor (Accounting) attached to live session
Vendor
100482
RF02K-LIFNR
Company code
1000
RF02K-BUKRS
Payment terms
NT45
LFB1-ZTERM
The bot finds each field by its field ID — robust to window size, layout, or screen position. No coordinate-clicking, no admin rights, no IT ticket.
Read-back validation — it confirms the field before it writes
XK02 Change Vendor (Accounting) attached to live session
Target field
LFB1-ZTERM · current “NT30”
LFB1-ZTERM
Read back: field LFB1-ZTERM = “NT30” — matches the record being changed.
Verified → wrote “NT45”. Correct field confirmed before any value was committed.
Never writes blind: it reads the live value, checks it's the field it expects, and writes only on a match. Anything off — locked record, wrong value — is caught and logged.
Every row logged — done, or why not — written back to Excel
work_list.xlsx A1:E219 216 done · 2 skipped · full audit trail
#
Master record
Field
New value
Status
1
Vendor 100482
Payment terms
NT45
✓ done
2
Vendor 100483
Payment terms
NT45
✓ done
3
Vendor 100487
Payment terms
NT45
✓ done
4
Vendor 100491
Payment terms
NT45
✓ done
5
Vendor 100495
Payment terms
NT45
✓ done
rows 6–46
Payment terms
NT45
✓ done
47
Vendor 100731
Payment terms
NT45
rows 48–162
Payment terms
NT45
✓ done
163
Vendor 101044
Payment terms
NT45
rows 164–218
Payment terms
NT45
✓ done
Hours → minutes Every change verifiable · skips logged with a reason — and no IT ticket, no admin rights, no fragile coordinate-clicking.