abapGit Transport Generator
Writes the two files an SAP transport consists of, the cofile and the data file, from an abapGitabapGitA Git client written in ABAP that runs inside the system, so objects are cloned, pulled and pushed without leaving it; with no package manager in ABAP, a cloned repository is how code is distributed.community org, abap repository, so a pipeline can deliver ABAP code through STMS without exporting a request from a development system.
Generates the cofile K<number>.<SID> and the data file R<number>.<SID> of an SAP transport from the source and XML of an abapGitabapGitA Git client written in ABAP that runs inside the system, so objects are cloned, pulled and pushed without leaving it; with no package manager in ABAP, a cloned repository is how code is distributed.community org, abap repository, so the request can be added to the import queue in STMS and nothing has to be exported from a development system. For each object type it starts from a template: a real transport of one minimal object of that type, which the project does not ship and which you capture yourself from a system you are authorised to use. 46 abapGit object types are generated, among them PROG, CLAS, INTF, FUGR, DDIC types, MSAG, TRAN and SICF. ENHO and package interfaces are not supported, dynpros and GUI status are not generated, and texts are transported in the master language only. It is run as a Python command or as the published GitHub Action, reads no credentials and talks to no SAP system.
Facts
Where it sits
Who is behind it
In the atlas: maintains 2, contributes to 1@F-Wermaintainer
Before choosing this
Conditions
PracticalFunctional boundary
The maintainer marks version 0.1.0 experimental and states that importing a transport changes the target system; generated transports were import-tested on one test system, SAP_BASIS 8.16, and no other release is tested yet. Template row layouts are release-specific, so a template captured on a different release can produce a transport that does not import, and the per-type handling was developed against specific template shapes.
What it declares
Every artifact
- Type
- CLI
- Origin
- Independently maintained
- Runtime
- build time
As a CLI
- Distributed through
- does not say
Connections
Moving a change from development through test to production
Git client written in ABAP that runs inside the system
Download
Architecture
Download
Legend and provenance
README
quoted from F-Wer/abapgit-transport-generator under GPL-2.0, readabapGit Transport Generator
Generate SAP transport files — the cofile K<number>.<SID> and the data file
R<number>.<SID> — from an abapGit repository, so a
CI pipeline can deliver ABAP code through STMS without exporting anything
from a development system.
Experimental (0.1.0). Importing a transport changes the target system. Read the disclaimer and import into a non-production system first.
How it works
For each object type the generator starts from a template: a transport of one minimal object of that type, exported from a system you are authorized to use. It renames the template's object, request and texts, replaces its content with your repository's source and XML, and merges every object into one request. The result is checked structurally before it is written.
This project ships no templates. You capture your own once; see docs/templates.md.
Quick start
python -m venv .venv
.venv/bin/python -m pip install --require-hashes -r requirements.txt
# validate your template directory
python abapgit_to_transport.py --check-templates --templates /path/to/templates
# generate one transport with all objects of an abapGit repository
python abapgit_to_transport.py /path/to/abapgit-repo \
--templates /path/to/templates \
--request DEVK900001 --package ZDEMO_PACKAGE --author DEVELOPER
| Option | Meaning |
|---|---|
--request | Request number <SID><letter><6 digits>; required |
--sid | Defaults to the request's first three characters |
--package | Target package; without it objects move into the template's package |
--author | User written into the generated metadata |
--templates | Template directory (or ABAPGIT_TRANSPORT_TEMPLATES) |
--object | Generate a single object instead of all |
--list | List the detected objects and stop |
Invalid values stop with exit code 2 before any file is written.
GitHub Action
- uses: actions/checkout@v4
- uses: actions/checkout@v4 # your private template repository
with:
repository: your-org/sap-transport-templates
path: templates
token: ${{ secrets.TEMPLATES_TOKEN }}
- uses: F-Wer/abapgit-transport-generator@v0.1.0
with:
request: DEVK900001
package: ZDEMO_PACKAGE
templates: templates
Inputs reach the action's scripts only through environment variables. The generated files are verified before the action reports success.
Importing
- Copy
K…to/usr/sap/trans/cofiles/andR…to/usr/sap/trans/data/in binary mode. - STMS → Extras → Other Requests → Add → your request, then import it.
- If the objects already exist, import with Overwrite Originals.
Supported object types
46 abapGit object types are generated, among them PROG, CLAS, INTF, FUGR, DDIC types (DOMA, DTEL, TABL, TTYP, VIEW, ENQU, SHLP), MSAG, TRAN, SICF, XSLT, Adobe forms (SFPF/SFPI), packages (DEVC) and many table-based types. Import-tested on one test system (SAP_BASIS 8.16) only; no other release is tested yet. ENHO and package interfaces are not supported. Per-type status: docs/support.md.
Known limits: dynpros and GUI status are not generated; table foreign keys, secondary indexes and search-help assignments are not shipped; texts are transported in the master language only.
Security and data
The tool reads no credentials and talks to no SAP system. Generated files contain your source code and your templates' metadata: treat them like the repository they come from. Report vulnerabilities as described in SECURITY.md.
Contributing
See CONTRIBUTING.md. This project follows the Contributor Covenant.
License
GPL-2.0-only — see LICENSE. Not affiliated with SAP SE or the abapGit project; see the disclaimer.
History
Other 8
Notes
First public version.
- Generate one transport (cofile and data file) for all objects of an abapGit repository, or for a single object, for 46 object types.
- Templates are user-supplied: a template directory with
templates.json, chosen by--templatesorABAPGIT_TRANSPORT_TEMPLATES, and validated by--check-templates(files, request, object, required tables). - Request, SID, package and author are validated before any file is written; the SID defaults to the request's first three characters.
- Generation stops unless the request lists exactly the generated objects.
- Every generated data file passes a structural verifier (container, checksums, record round trip, request shape, template leftovers).
- Composite GitHub Action with environment-only input handling.
- Repository XML is parsed with defusedxml.
- Dependencies are locked with hashes.
Others providing
Compare all 18 on the Change promotion page →- HammerHammerA native macOS code editor for ABAP and CDS, with an Object Navigator, Transport Organizer, Data Browser and Gateway Client in the same app as the editor.independent, abapNative macOS code editor for ABAP and CDSfrom ABAP
- CPIOpsCPIOpsA web app deployed into your own BTP subaccount that commits a Cloud Integration tenant's artifacts to GitHub or GitLab as extracted source files, each commit tagged with the artifact's CPI version.independent, btpCPI artifacts committed to Git as source files, with a quality checkfrom BTP/BAIP
- SAP Cloud Transport ManagementSAP Cloud Transport ManagementMoves software deliverables between SAP BTP accounts along a modelled landscape of transport nodes and routes: Multitarget Application archives, and application-specific content such as SAP Cloud Integration iFlows.sap official, btpMoves MTA archives and content between SAP BTP accountsfrom BTP/BAIP
- Cloud ALM Link for ADTCloud ALM Link for ADTAn Eclipse plugin that shows the transports and SAP Cloud ALM features behind an ABAP object, and turns Cloud ALM IDs in source comments into links.independent, abapEclipse plugin linking ABAP transports to SAP Cloud ALM featuresfrom ABAP
- EPOD ADT MCP ServerEPOD ADT MCP ServerAn MCP server for ABAP that runs inside ABAP Development Tools for Eclipse on the ADT session of each connected project, with a standalone mode that runs with no IDE open.independent, abapMCP server for ABAP on the ADT session, in Eclipse or standalonefrom ABAP
- furkancosgun/Transport-Management-Toolfurkancosgun/Transport-Management-ToolAn ABAP tool that uploads and downloads transport requests as files from a selection screen, and can import an uploaded transport into the system directly rather than as a separate step.independent, abapUploads, downloads and imports ABAP transport requests as filesfrom ABAP
- furkancosgun/ZWARPfurkancosgun/ZWARPAn ABAP utility that finds the custom development objects a program or function module depends on, across nineteen object types, and adds the ones selected to a transport request.independent, abapAdds a program's dependent objects to a transport requestfrom ABAP
- abapToCabapToCAn SAP GUI transaction, ZTOC, that creates, releases and imports a transport of copies from one screen, retrying the import until the copy is visible on the target system.independent, abapSAP GUI transaction for one-click transports of copiesfrom ABAP
- ABAP remote filesystemABAP remote filesystemA Visual Studio Code extension that opens an ABAP system over ADT as an editable filesystem and exposes system tools to GitHub Copilot and external MCP clients.independent, abapVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
- ActiveControl Transport form creatorActiveControl Transport form creatorA Visual Studio Code extension that automates ActiveControl transport form creation: a creation window pops up when a transport without a form is used, and a command creates one manually.independent, abapVS Code extension automating ActiveControl transport formsfrom ABAP
- ZCTS_BROWSERZCTS_BROWSERAn ABAP report, ZREP_CTS002_TRANSCOPY, that creates a transport of copies for a request without generating a new version first, and can transport it to a target system over RFC.independent, abapReport creating transports of copies without a new versionfrom ABAP
- git-env-branchesgit-env-branchesA command line that shows, for a list of feature branches, which environment branches such as DEV, ACC and master each one has been merged into.independent, generalShows which feature branches reached which environment branchfrom General
- qttqttA tool that finds which BEx queries sit on a transport request, which transports carry a given query, and which query a given element belongs to, showing the result in an ALV Grid.independent, abapTool mapping BEx queries to the transport requests carrying themfrom ABAP
- ABAP Development Tools for VS CodeABAP Development Tools for VS CodeSAP's ABAP tools in VS Code: editing and debugging against a connected system, ABAP Unit and ATC runs, transport management in the Transport Organizer, over RFC to an on-premise system or HTTP to a cloud one, with the ADT MCP Server behind an AI-unit licence.sap official, abapSAP's ABAP tools in VS Code, over RFC to on-premise or HTTP to cloudfrom ABAP
- abap-adt-cliabap-adt-cliPulls an ABAP package to local files over the ADT REST API in parallel, and pushes edited objects back under a transport — bulk sync rather than one object at a time in SE80 or Eclipse.independent, abapCLI that pulls and pushes ABAP packages as local files over ADTfrom ABAP
- KlystronKlystronAn MCP server written in ABAP that runs inside the application server behind an ICF service and exposes typed tools for ABAP development, quality, transports, customizing, roles, Basis operations and integration, with a client-side plugin of SAP skills.independent, abapMCP server in ABAP inside the application server, with agent skillsfrom ABAP
- ZTCTZTCTA transport checking tool that analyses ABAP transports at object level before they move to production, determining a safe order and flagging risks.independent, abapA transport checking tool that analyses ABAP transports at object level before they move to production, determining a safe order and flagging risks.from ABAP
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
History in the atlas
- First seen.
For your agent
- Ref
artifact:f-wer-abapgit-transport-generator- JSON
- /artifacts/f-wer-abapgit-transport-generator.json
- MCP
- Connecting an agent