ABAP editor
Work on any ABAP codebase. No SAP system required.
Open an abapGit export and work with it as in a full IDE: go to definition, where-used list, code completion, syntax checks, and git commit and push. No SAP connection, no logon and no Basis request. Zmarga runs on your machine, and your code goes only where you push it.
macOS: Apple silicon & Intel Windows
28 METHOD generate_summary.2930 DATA(lo_booking) = NEW zcl_flight_booking( iv_carrier ).3132 LOOP AT it_requests INTO DATA(ls_request).33 lo_booking->add_booking(34 iv_flight_id = ls_request-flight_id35 iv_class = ls_request-class ).36 ENDLOOP.3738 " total across every booking just added39 rv_luggage = lo_booking->calculate_total_luggage( ).4041 ENDMETHOD.
Why it exists
The code is right there. The system isn't.
ABAP developers are often handed a folder of .abap files with no system
to open it in. These are the most common cases.
// handover
Taking over an undocumented codebase
Custom code from a previous consultant, exported and handed over. You need to understand it before the kickoff, and system access arrives next week.
// review
Reviewing changes without system access
The change is in a client system where you have no user, only the export. SE80 is not available, and a plain text editor is not enough.
// estimate
Estimating from an export
A prospect wants an estimate for migrating their custom code and has sent an export rather than a logon. An accurate estimate depends on understanding that code first.
What you get
A real IDE, on a folder of files
Go to definition
Ctrl-click any method call and land on its implementation — across files, not just
within one. Works through zcl_x=>m( ), zif_x~m( ) and
variable receivers, resolving the variable's type from its declaration.
Where-used list
Every call site for a method, split into exact matches and likely ones, so an ambiguous receiver is flagged rather than silently dropped. One keystroke shows whether a signature can safely change.
Outline & dependency map
Classes and interfaces with their methods, own and inherited separated, jump on click. The map shows which objects a class depends on, giving an overview of the codebase before you read the code.
Mock-data debug simulator
Step through a method without a system. Supply the inputs, watch variables and internal tables change line by line. Control flow, assignment and table basics are simulated; method calls take a value you provide.
Completion that knows your classes
After ->, => or ~, Zmarga lists what that
object actually offers, grouped as the class is built: methods, attributes, each
interface, each superclass. Enter writes the whole call with its parameters named;
Tab inserts just the name. It follows your file's upper or lower case.
Syntax errors as you type
Unparsable statements and unclosed blocks are underlined while you write, with a pointer to the actual mistake — the misspelt keyword, the missing period — rather than the line where the parser gave up.
Every change in one place
The Changes tab shows each file you have edited against what is on disk, side by side. Revert or save each file, or all of them at once, before you commit.
Git, built in
Commit, fetch, pull and push from inside the app, using the git login you already have, or a token for GitHub, GitLab, Bitbucket or Azure DevOps. It only goes online when you click.
Privacy
Your client's source code stays on your machine.
Zmarga never contacts Marga Concepts or any other service. No telemetry, no crash reports, no licence check over the internet: your key is checked on your machine. There is no account to create and no server to send anything to. The only connections it ever makes are the git fetch, pull and push you click, straight to your own git server.
This is easy to verify: with no network connection, everything except git works as normal.
Tested on real code
Built against abapGit's own source
Measured on the abapGit repository, an MIT-licensed export of real production ABAP. Every release is tested against it.
Pricing
Buy it once. It keeps working.
No subscription. Zmarga runs entirely on your machine, so a licence is a one-time purchase, and the app keeps working after your update period ends.
Personal licence
$99 once
- Yours permanently, on all your machines
- One year of updates included
- Second year of updates: $49, optional
- Every year after that: $29
- macOS and Windows
Includes a 30-day trial, counted only on days you open Zmarga. No card or account is needed. Prices are in US dollars, and a full refund is available within 14 days of purchase.
Questions
Frequently asked questions
Do I need an SAP system or a connection?
No. Zmarga reads ABAP source files from disk: an abapGit export, a repository
checkout or any folder of .abap files. It does not connect to SAP
systems and contains no RFC or OData client.
How does the trial work?
The trial lasts 30 days, counted only on days you open the app. No card or account is needed. When it ends, Zmarga becomes read-only: you can still open and read everything, and a licence key turns editing back on. Your files are never changed.
How does this compare to ADT in Eclipse?
When you have system access, use ADT: it has SAP's full syntax check and can run your code. Zmarga is for when you don't: no logon and no Eclipse installation, and a folder opens in seconds.
Does it understand SAP standard classes?
Only those included in your export. Standard classes such as
cl_salv_table are part of the SAP system, not of an abapGit
repository, so navigation stops at the call. Everything in your own namespace
resolves fully.
Is my code uploaded anywhere?
No. There is no account, no server and no telemetry, and the licence check runs on your machine against a key you enter once. Zmarga goes online only when you click fetch, pull or push, and then only to your own git server. You can verify this by using Zmarga with no network connection.
Which ABAP statements does the simulator support?
A defined subset: DATA and assignment, IF/ELSEIF/ELSE, CASE, LOOP AT ... INTO, WHILE, APPEND, CLEAR, CHECK, EXIT, CONTINUE, RETURN and WRITE. Method calls are not executed; you supply each return value. Other statements are stepped over and labelled "not simulated".
Can it be installed on a managed corporate laptop?
Zmarga installs no background service, driver or kernel extension, and its only network access is the git fetch, pull and push you start, to your own git server. The installer is not yet code-signed, so the first launch needs the standard "Open anyway" step in Gatekeeper (macOS) or SmartScreen (Windows). Code signing is in progress.
Try it before the first release.
Zmarga is in early access. Email us and we'll send you a build for macOS or Windows to try on your own exports. No sign-up and no mailing list, and your code stays on your machine.