Package Layout
The root package /ORK/CORE contains base runtime objects, exceptions, UUIDs, semantic version helpers, and package-level infrastructure.
Feature packages group larger domains: /ork/json, /ork/date_time, /ork/io, /ork/formatting, /ork/collections, and /ork/dev.
Facades And Factories
The library favors small public facades with static creation methods.
JSON exposes singleton references through /ork/cl_json=>new and /ork/cl_json=>parse; date/time, duration, UUID, and SemVer APIs use similar s_new, s_parse, or s_get factory naming.
DATA(json_factory) = /ork/cl_json=>new.
DATA(version) = /ork/cl_semver=>s_parse( `1.2.3` ).
DATA(uuid) = /ork/cl_uuid=>s_new( ).
Runtime Version
Use /ork/core=>version to inspect the ORK core version currently active in the ABAP system.
The value is a shared /ork/cl_semver instance, so you can render it as text or inspect its SemVer components.
DATA(version) = /ork/core=>version->to_string( ).
For release notes and migration context, read the Changelog.
Typed Interfaces
Most behavior is consumed through interfaces. Classes provide creation and infrastructure; interfaces describe the stable shape of the returned objects.
This keeps calling code focused on capabilities like /ork/if_json_node, /ork/if_date_time, /ork/if_logger, or /ork/if_io_stream.
Fluent And Immutable APIs
Where it improves composition, methods return a new value or the current interface so calls can be chained.
Logger instances are immutable, so contextual methods return a logger with additional scope instead of mutating the existing logger.
Exceptions
Library-specific failures use /ork/cx_exception.
Let those exceptions surface when the caller can handle the domain failure, and wrap them only when your application boundary needs a different error contract.
