Skip to content

abapPM/ABAP-Purl

Version

License Contributor Covenant REUSE Status

PURL

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

Usage

Get the components of a purl:

DATA(purl) = /apmg/cl_purl=>parse( 'pkg:apm/foobar@1.2.3' ).

" 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/foobar@1.2.3' 

Validate a schema:

IF /apmg/cl_purl=>is_valid_schema( 'apm' ) = abap_true.
  " yay!
ENDIF.

Prerequisites

SAP Basis 7.50 or higher

Installation

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.

Contributions

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

About

Made with ❤ in Canada

Copyright 2025 apm.to Inc. https://apm.to

Follow @marcf.be on Bluesky and @marcfbe or LinkedIn

About

Package "mostly universal" URL

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Contributors

Languages

Generated from abapPM/Template-for-ABAP