trm-client
v7.7.1
Published
TRM (Transport Request Manager) Client
Readme
| 🚀 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.
What is TRM?
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
Modern approach for ABAP
- 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
Structured Manifest
Each package includes a manifest.json that declares:
- Version and metadata
- System requirements
- Dependencies
- Post-install scripts
Documentation
Full documentation can be seen at https://docs.trmregistry.com/.
Dockerized version (Recommended)
If you are using Docker, the recommended approach is to use trm-docker.
Download Docker Run Script
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.
Download SAPCAR and SAPEXE and Extract Required Files
SAPCAR is used to extract .SAR archives downloaded from SAP Software Center.
Download SAPCAR
- 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
Download SAP Kernel Files
- 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)
Extract the Required Files
Place the downloaded
SAPEXE_*.SARfile in the same directory asSAPCAR.Extract it:
Windows
SAPCAR -xvf SAPEXE_###-########.SARmacOS / Linux
./SAPCAR -xvf SAPEXE_###-########.SARAfter 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
Pull docker image
Execute this command to pull the latest docker image
docker pull --platform=linux/amd64 abaptrm/dockerInitial Installation via Script
Once 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\System32macOS / Linux
/usr/local/binAfter this step, you can simply run:
trmfrom any directory.
Install via Npm
With Node.js and npm installed, you can install trm-client via npm, as it is distributed as a Node.js package.
TODO
Contributing
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.
