PackagePackagetypeA library you install and call yourself.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

trm-server

The server-side component of TRM, installed on source and target SAP systems to expose the RFC APIs a TRM client uses to import and export transports, closed to users not listed in /ATRM/USERS.

TRM is, in its maintainers' words, a package manager inspired solution built leveraging CTS, which introduces package-based software delivery to the SAP ecosystem with semantic versioning, dependency management and automated deployment activities; trm-server is the half that runs inside the SAP system. It acts as the secure bridge between the SAP application server and the TRM client, exposing the APIs that import and export transports, and it is installed only on source and target systems, not on any other system in the landscape. The client reaches it through a System Connector, which the README lists as RFC SDK, REST or BTP, and without trm-server installed the client can still talk to the SAP system directly, with limited capabilities and without extended TRM features. Access is closed by default: no user may execute its RFC functions unless authorized through table /ATRM/USERS, and the function module /ATRM/PING is how the README has you test that. The first installation runs from a standalone installer report, and installing through abapGit instead is the route for a system whose objects you need to modify, which needs the /ATRM/ namespace.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
Source controlABAPSource controlcapabilityKeeping source code and development objects in version control, comparing their revisions, and moving them between development environments. Managed delivery of changes belongs to [transport management](capability:change-promotion).

Who is behind it

RegGitHubRegGitHubOrganisationMaintains this
In the atlas: maintains 1
@RegestaItalia
maintainerSimone GaffuriniPersonContributes to this
In the atlas: contributes to 1
@simonegaffurini
1 contributor

What it declares

Every artifact

Type
Package
Origin
Independently maintained

As a package

Where it runs
Inside its host
Distributed through
abapGit

Connections1

README

quoted from RegestaItalia/trm-server under MIT, read
RegestaItalia/trm-server/README.mdOn GitHub

TRM

Contributor Covenant TRM License TRM Latest version TRM Installs View Code Wiki

🚀 This project is funded and maintained by 🏦🔗
Regesta S.p.A.https://www.regestaitalia.eu/
Clarex S.r.l.https://www.clarex.it/

Minimum tested release: SAP_BASIS 702 SP12 (SAP ECC 6.0 EHP2)

trm-server is the server-side component of TRM.

🚚 TRM (Transport Request Manager) is an open-source package manager for SAP ABAP that publishes, installs, updates, and uninstalls versioned software through CTS transports.

TRM Logo

TRM introduces package-based software delivery to the SAP ecosystem, bringing with it semantic versioning, dependency management, and automated deployment activities.

Note

If you're looking for the REST implementation of trm-server, head over to trm-rest

It acts as the secure bridge between the SAP application server and the TRM client.

It exposes the APIs that allow TRM to import/export transports, and, as a consequence, it must be installed only on source and target systems, as its not required on any other system in the landscape.

              ┌──────────────────────────┐
              │        TRM Client        │
              └─────────────┬────────────┘
                            │
                            │  System Connector
                            │  (RFC SDK / REST / BTP / ...)
                            ▼
              ┌──────────────────────────┐
              │        trm-server        │
              │  (Installed on SAP)      │
              └─────────────┬────────────┘
                            │
                            │  Native SAP APIs
                            ▼
              ┌──────────────────────────┐
              │        SAP System        │
              └──────────────────────────┘

Documentation

Full documentation can be seen at https://docs.trmregistry.com.

Basic Usage

In a typical scenario, TRM Client connects to a SAP system through a System Connector (RFC SDK, REST, BTP, etc.).
After checking that trm-server is installed on the system, the client uses its APIs to perform secure and controlled transport export and import operations.
If not installed, the client can still communicate directly with the SAP system, but with limited capabilities and without extended TRM features.


Server setup

trm-server is the server-side component of TRM.

It acts as the secure bridge between the SAP application server and the TRM client.

It exposes the APIs that allow TRM to import/export transports, and, as a consequence, it must be installed only on source and target systems, as its not required on any other system in the landscape.

First Installation

The first installation must be performed using the standalone installer.

The standalone installer is a self-contained ABAP report that allows the installation of trm-server and trm-rest.
The installer imports trm-server transports (and trm-rest transports, if necessary) into your system and automatically moves their objects into the temporary package(s) $TRM/$TRM_*, which it also creates.
The installer does not import the /ATRM/ namespace because trm-server and trm-rest are intended to be used as-is. If you need to modify their objects, consider installing them via abapGit instead.

After the initial installation, we recommend installing subsequent updates through TRM.

  1. Download the report source code from here
  2. Open transaction SE38 and create a new report called ZTRM_INSTALLER

SE38

  1. Give it a title and set the type to "Executable program"

SE38

  1. Save as a local object (or in temporary package $TMP)

SE38

  1. Paste or upload the report's source code, then activate it

SE38

Release file install (From file)
Download the releases
  1. Go to https://trmregistry.com and search for trm-server
  2. On the release page, select Download
  3. Download trm-rest too, if needed
  4. Open SE38 and run ZTRM_INSTALLER
  5. Select the file(s) downloaded
  6. Execute the report and wait for the installation to complete (approximately 10 minutes)

ZTRM_INSTALLER

Installation of either package can be performed at any time through this report. However, you should consider using a TRM client when upgrading trm-server or trm-rest.

Online install (From registry)
The online installation is only possible if your system is allowed to connect to the external server https://trmregistry.com.

ZTRM_INSTALLER

If you see the "Install certificates" button, then your system is missing the required certificates to trust https://trmregistry.com.
You should either install them manually (via STRUST) or let the report install them by pressing that button.

Once certificates are installed, you can proceede with the install.

Installation of either package can be performed at any time through this report. However, you should consider using a TRM client when upgrading trm-server or trm-rest.

Authorize Users

Grant each SAP user who needs to use TRM authorization object ZTRM_AUTH with activity ACTVT = 16 (Execute), typically through an assigned role.

For security reasons, TRM does not allow a user to execute its functions unless the user has this authorization.

Verify RFC Authorization

To verify that a user has access to RFC functions:

  1. Log into the system as the user you want to test
  2. Execute function module /ATRM/PING

If the user is authorized, no errors should occur. If not authorized, access will be denied.

Install with abapGit

Because this package uses the /ATRM/ namespace, installation through abapGit requires a system with this namespace installed.

Installing via abapGit is not recommended unless you are planning to contribute new features or bug fixes.

Demo systems

If you are running a demo system, you can use the following keys:

Development key: 18531191373370851361
Repair key: 00211665563784583720

Other systems

For abapGit to work, you need to generate a valid developer key using the Development Namespace Application.


Contributing

Like every other TRM open-soruce projects, contributions are always welcomed ❤️.

Make sure to open an issue first.

Contributions will be merged upon approval.

Click here for the full list of TRM contribution guidelines.

MIT, read

History

Latest

v8.0.0

Features 1, Fixes 3

Notes
  • package objects: generated sql views of cds in subpackages were not removed
  • package objects: removing generated sql views could delete their database tadir entries
  • lock transaction translations in DE, IT and FR
  • changes in package transport layer
  1. v7.0.1

    Features 1

    Notes
    • ecc 6.0 syntax
  2. v7.0.0

    Removed 1, Features 1, Changed 1

    Notes
    • outdated number range pa
    • regenerate sap_all pa ! /atrm/users -> auth object ZTRM_AUTH
  3. v6.4.1

    Features 1

    Notes
    • activate sicf pa
  4. v6.4.0

    Features 1, Changed 1

    Notes

    ! syntax for ecc

    • dependency detection for DOCV type DT
  5. v6.3.0

    Changed 1

    Notes

    ! changed direct tadir update with fm

  6. v6.2.0

    Changed 2

    Notes

    ! remove generated sql views from package objects ! error on namespace missing tadir interface

  7. v6.1.0

    Removed 1, Features 1, Changed 1

    Notes
    • optional filter installed packages
    • remove useless number range ! update dirty packages
  8. v6.0.0

    Features 1, Changed 2

    Notes

    ! moved from Z to namespace /ATRM/ ! get objs locks methods

    • new api methods
  9. v5.2.0

    Features 1, Changed 1

    Notes

    ! moved abap class source extraction for badi usage

    • transport import status api
  10. v5.1.0

    Changed 1, Fixes 1

    Notes

    ! dependency detection

    • subpackages
  11. v5.0.1

    Features 1

    Notes
    • add client to import tr function
  12. v5.0.0

    Changed 1

    Notes

    ! update root package find (core issue)

  13. v4.0.0

    Features 1, Changed 3

    Notes

    ! context singleton for installed packages list ! manifest interface with dependencies ! trm-rest with trm-server dependency

    • change tr owner api
  14. v3.1.0

    Removed 1, Features 1, Changed 1

    Notes

    ! set check auth rfc enabled

    • unused regen method
    • wb transport to installed packages list
  15. v3.0.0

    Features 4, Changed 1

    Notes

    ! package interface suppress access permission

    • abapdoc
    • before transport export check/fix
    • regen program
    • installed packages porting
  16. v2.2.2

    Fixes 1

    Notes
    • add object to transport dump
  17. v2.2.1

    Fixes 1

    Notes
    • remove tr comments
  18. v2.2.0

    Features 6, Changed 1

    Notes
    • handle transports overwriting ! add remove transport comments method
    • add remove from skipped trkorr
    • abapGit source code download function
    • add post activity support
    • add new number range interval post activity
    • add fiori ui5 cache cleanup post activity
Source control
  1. abapGitGit client written in ABAP that runs inside the systemfrom ABAP
  2. abap-transport-reviewTransport release check gated by GitHub pull request approvalfrom ABAP
  3. abapGitServerGit server implemented in ABAP for abapGit clientsfrom ABAP
  4. Tools for abapGitHelper programs around abapGitfrom ABAP
  5. ABAP remote filesystemVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
  6. abapgit-commitlintabapGit user exits checking commit messages against repository rulesfrom ABAP
  7. abap-file-formatsSAP's specification for serialising ABAP objects to filesfrom ABAP
  8. abap-adt-cliCLI that pulls and pushes ABAP packages as local files over ADTfrom ABAP

Details

Sources3
Added by handdiscovered herechecked
github.com/RegestaItalia/trm-servertree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainabap, developer-experience
abaplint
issues under its own abaplint configuration0
lines27,807
statements17,234
objects385
files700
analysed, main
abaplint version2.120.84
Contributors1

From the repository’s contributor list, .

History in the atlas1
  1. First seen.
For your agent
Ref
artifact:regestaitalia-trm-server
JSON
/artifacts/regestaitalia-trm-server.json
MCP
Connecting an agent