An implementation of the purl specification aka. a package "mostly universal" URL.
A purl is a URL composed of seven components:
scheme:type/namespace/name@version?qualifiers#subpath
For details, see Purl Specs.
NO WARRANTIES, MIT License
Get the components of a purl:
DATA(purl) = /apmg/cl_purl=>parse( 'pkg:apm/[email protected]' ).
" purl->components-...
" schema = 'pkg'
" type = 'apm'
" name = 'foobar'
" version = '1.2.3'Format components into a purl:
DATA(components) = VALUE /apmg/cl_purl=>ty_purl_components(
schema = 'pkg'
type = 'apm'
name = 'foobar'
version = '1.2.3' ).
DATA(url) = /apmg/cl_purl=>serialize( components ).
" url = 'pkg:apm/[email protected]' Validate a schema:
IF /apmg/cl_purl=>is_valid_schema( 'apm' ) = abap_true.
" yay!
ENDIF.SAP Basis 7.50 or higher
Install purl as a global module in your system using apm.
or
Specify the purl module as a dependency in your project and import it to your namespace using apm.
All contributions are welcome! Read our Contribution Guidelines, fork this repo, and create a pull request.
You can install the developer version of ABAP PURL using abapGit by creating a new online repository for https://github.com/abapPM/ABAP-Purl.
Recommended SAP package: /APMG/PURL
Made with ❤ in Canada
Copyright 2025 apm.to Inc. https://apm.to