| π This project is funded and maintained by π¦ | π |
|---|---|
| Regesta S.p.A. | https://www.regestaitalia.eu/ |
| Clarex S.r.l. | https://www.clarex.it/ |
trm-client is the CLI implementation of the core functionalities of TRM.
π TRM (Transport Request Manager) is a package manager inspired solution built leveraging CTS that simplifies SAP ABAP transports.
TRM introduces package-based software delivery to the SAP ecosystem, bringing with it semantic versioning, dependency management, and automated deployment activities.
TRM is a software that transforms how custom ABAP developments are published, installed, and maintained across SAP landscapes. Inspired by modern package managers, TRM introduces a declarative, version-controlled, and automated way to manage your SAP transports.
With TRM, you can:
- Define a manifest for each ABAP package (similar to
package.jsonwith Node.js orpom.xmlwith Maven) - Version your products (SemVer compliance)
- Declare dependencies (to other TRM packages, SAP standard objects, or customizing data)
- Automate post-install activities, such as client dependant customizing, cache invalidation etc.
- Validate system requirements prior to installation
- Compare versions of the same product across multiple SAP systems (in or outside the same landscape)
- Distribute your product release to the public or to a restricted number of users:
- Registry (e.g., trmregistry.com or private registry)
- Local
.trmfiles for offline installations
- Publish ABAP packages from a central development system
- Deliver packages to target systems (outside of the original landscape e.g. customers development system) using a single CLI command (or in a pipeline)
- Full support for workbench objects, customizing, and translations
Each package includes a manifest.json that declares:
- Version and metadata
- System requirements
- Dependencies
- Post-install scripts
Full documentation can be seen at https://docs.trmregistry.com/.
If you are using Docker, the recommended approach is to use trm-docker.
This script is a small utility used to run TRM inside Docker. After installing the required SAP proprietary tools, the script can be moved into a directory included in your PATH so that it can be executed from anywhere.
- Go to the trm-docker repository
- Download the script corresponding to your operating system:
- In the same directory where you placed the script, create a folder named
init.
This init folder will later contain the SAP proprietary files required by TRM.
SAPCAR is used to extract .SAR archives downloaded from SAP Software Center.
- Log in to the SAP Software Center
- Click SUPPORT PACKAGES & PATCHES
- Expand By Alphabetical Index (AβZ) and select S
- Click SAPCAR
- Choose the latest version
- On the download page select your operating system:
- WINDOWS ON X64 64BIT
- MACOS ON ARM64BIT
- MACOS X 64-BIT
- Download:
- Windows β latest
.EXE - macOS β latest
.ZIP
- Windows β latest
- If using macOS, extract the archive and make the binary executable:
chmod +x SAPCAR
- Go back to SUPPORT PACKAGES & PATCHES
- Expand By Alphabetical Index (AβZ) and select K
- Click SAP KERNEL 64-BIT
- Choose the latest version
- On the download page select LINUX ON X86_64 64BIT
- Download the latest SAPEXE archive
(file name similar toSAPEXE_###-########.SAR)
-
Place the downloaded
SAPEXE_*.SARfile in the same directory asSAPCAR. -
Extract it:
Windows
SAPCAR -xvf SAPEXE_###-########.SARmacOS / Linux
./SAPCAR -xvf SAPEXE_###-########.SAR -
After extraction, move the following files into the previously created
initfolder:R3trans libicudata##.so libicui18n##.so libicuuc##.so -
(Optional) If you want RFC functionality available in TRM, also move the following files into the
initfolder:startrfc rfcexec libsapnwrfc.so libsapucum.so
Execute this command to pull the latest docker image
docker pull --platform=linux/amd64 abaptrm/dockerOnce the init folder is populated and the trm script is ready, run the script from the directory where it is located.
Windows
trmmacOS / Linux
./trmThe first execution performs the initial setup of the Docker environment.
After the installation completes, you may move the script to a directory included in your system PATH so it can be executed from anywhere.
Windows
C:\Windows\System32
macOS / Linux
/usr/local/bin
After this step, you can simply run:
trmfrom any directory.
With Node.js and npm installed, you can install trm-client via npm, as it is distributed as a Node.js package.
Like every other TRM open-source 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.
