released-abap-classes — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited released-abap-classes (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Reference for released ABAP classes available in ABAP for Cloud Development (SAP BTP ABAP Environment and SAP Cloud ERP Private).
All classes listed here are released APIs governed by a stability contract — using them keeps an extension at clean core Level A. If a class you need is not released, see the abap-cloud skill for the wrapper pattern and level classification.| Category | Key Classes |
|---|---|
| Console Output | IF_OO_ADT_CLASSRUN, CL_DEMO_CLASSRUN, CL_XCO_CP_ADT_SIMPLE_CLASSRUN |
| UUID | CL_SYSTEM_UUID, XCO_CP, XCO_CP_UUID |
| Time & Date | CL_ABAP_CONTEXT_INFO, XCO_CP_TIME, CL_ABAP_TSTMP, CL_ABAP_UTCLONG, CL_ABAP_DATFM, CL_ABAP_TIMEFM |
| Calendar | CL_FHC_CALENDAR_RUNTIME, CL_SCAL_UTILS |
| String Processing | CL_ABAP_CHAR_UTILITIES, CL_ABAP_STRING_UTILITIES, XCO_CP |
| Numbers/Math | CL_ABAP_MATH, CL_ABAP_DECFLOAT, CL_ABAP_BIGINT, CL_ABAP_RATIONAL |
| Random Numbers | CL_ABAP_RANDOM_* (INT, INT8, FLOAT, PACKED, DECFLOAT16/34), CL_ABAP_PROB_DISTRIBUTION |
| Regular Expressions | CL_ABAP_REGEX, CL_ABAP_MATCHER |
| Codepage/Binary | CL_ABAP_CONV_CODEPAGE, CL_ABAP_GZIP*, CL_WEB_HTTP_UTILITY |
| JSON/XML | XCO_CP_JSON, /UI2/CL_JSON, CL_SXML_*, CL_IXML_* |
CL_BCS_MAIL_MESSAGE | |
| HTTP Calls | CL_WEB_HTTP_CLIENT_MANAGER, CL_HTTP_DESTINATION_PROVIDER |
| RAP | CL_ABAP_BEHV_AUX, CL_ABAP_BEHAVIOR_HANDLER, CL_ABAP_BEHAVIOR_SAVER |
| RTTS | CL_ABAP_TYPEDESCR and hierarchy |
| Dynamic Programming | CL_ABAP_DYN_PRG, CL_ABAP_CORRESPONDING |
| User Info | CL_ABAP_CONTEXT_INFO, XCO_CP=>sy->user() |
| Unit Testing | CL_ABAP_UNIT_ASSERT, CL_OSQL_TEST_ENVIRONMENT, CL_CDS_TEST_ENVIRONMENT |
| Parallel Processing | CL_ABAP_PARALLEL |
| Application Log | CL_BALI_LOG |
| Background Jobs | CL_BGMC_PROCESS_FACTORY |
| Locking | CL_ABAP_LOCK_OBJECT_FACTORY |
| XLSX | XCO_CP_XLSX |
| Zip Files | CL_ABAP_ZIP |
| PDF Rendering | CL_FP_ADS_UTIL |
"Using CL_ABAP_CONTEXT_INFO
DATA(sys_date) = cl_abap_context_info=>get_system_date( ). "e.g. 20240101
DATA(sys_time) = cl_abap_context_info=>get_system_time( ). "e.g. 152450
"Using XCO (various formats)
DATA(date_utc) = xco_cp=>sy->date( xco_cp_time=>time_zone->utc )->as( xco_cp_time=>format->abap )->value.
DATA(time_utc) = xco_cp=>sy->time( xco_cp_time=>time_zone->utc )->as( xco_cp_time=>format->iso_8601_extended )->value.
DATA(moment_utc) = xco_cp=>sy->moment( xco_cp_time=>time_zone->utc )->as( xco_cp_time=>format->iso_8601_extended )->value.TRY.
DATA(mail) = cl_bcs_mail_message=>create_instance( ).
mail->set_sender( '[email protected]' ).
mail->add_recipient( '[email protected]' ).
mail->set_subject( 'Subject' ).
mail->set_main( cl_bcs_mail_textpart=>create_instance(
iv_content = '<h1>Hello</h1><p>Message body.</p>'
iv_content_type = 'text/html' ) ).
mail->send( IMPORTING et_status = DATA(status) ).
CATCH cx_bcs_mail INTO DATA(error).
ENDTRY."CL_SYSTEM_UUID
DATA(uuid_x16) = cl_system_uuid=>create_uuid_x16_static( ).
DATA(uuid_c36) = cl_system_uuid=>create_uuid_c36_static( ).
"XCO
DATA(uuid) = xco_cp=>uuid( )->value.
DATA(uuid_c36_xco) = xco_cp=>uuid( )->as( xco_cp_uuid=>format->c36 )->value."ABAP -> JSON
DATA(json) = xco_cp_json=>data->from_abap( some_structure )->to_string( ).
"JSON -> ABAP
xco_cp_json=>data->from_string( json_string )->write_to( REF #( target_structure ) ).
"Using /UI2/CL_JSON
DATA(json2) = /ui2/cl_json=>serialize( data = some_data ).
/ui2/cl_json=>deserialize( EXPORTING json = json2 CHANGING data = target ).TRY.
DATA(dest) = cl_http_destination_provider=>create_by_url( 'https://api.example.com' ).
DATA(client) = cl_web_http_client_manager=>create_by_http_destination( dest ).
DATA(request) = client->get_http_request( ).
DATA(response) = client->execute( if_web_http_client=>get ).
DATA(status) = response->get_status( ).
DATA(body) = response->get_text( ).
CATCH cx_web_http_client_error cx_http_dest_provider_error INTO DATA(error).
ENDTRY."Using CL_ABAP_CONTEXT_INFO
DATA(user_alias) = cl_abap_context_info=>get_user_alias( ).
DATA(user_name) = cl_abap_context_info=>get_user_formatted_name( ).
"Using XCO
DATA(user) = xco_cp=>sy->user( )->name."Check if an object is released for ABAP Cloud
SELECT SINGLE *
FROM i_apistateofrepositoryobject
WHERE ObjectType = 'CLAS'
AND ObjectName = 'CL_NUMBERRANGE_RUNTIME'
AND ReleaseState = 'RELEASED'
INTO @DATA(ls_state).Other discovery options:
| Method | Use |
|---|---|
| ADT Released Object Search | Search with api: prefix (e.g., api:cl_*) |
| Project Explorer | Released Objects → Source Code Library folder |
| Released Objects Fiori app | F5865 — search by classic name, view successor information |
| SAP Business Accelerator Hub | https://api.sap.com/ — released remote and local APIs |
| Cloudification Repository | https://sap.github.io/abap-atc-cr-cv-s4hc/ — level classification |
| Situation | Clean core level | Action |
|---|---|---|
| A nominated classic API exists | B | Use it in classic ABAP; wrap for ABAP Cloud |
| Only an internal SAP object exists | C | Wrap it, create one ATC exemption, monitor changelog |
| The object is classified `noAPI` | D | Do not use — find a released or classic alternative |
For comprehensive code examples and all available classes, read:
The reference file is organized into these sections (use grep patterns to search):
| Section | Search Pattern |
|---|---|
| Console Output | Running a Class and Displaying Output |
| UUID | Creating and Transforming UUIDs |
| SY Components | XCO Representations of SY Components |
| RAP | ## RAP |
| Transactional Consistency | Transactional Consistency |
| Numbers/Calculations | Numbers and Calculations |
| String Processing | String Processing |
| Codepages/Binary | Handling Codepages and Binary |
| Regular Expressions | Regular Expressions |
| Time and Date | Time and Date |
| Calendar | Calendar-Related Information |
| RTTS | Runtime Type Services |
| Assignments | ## Assignments |
| Structure Components | Non-Initial Structure Components |
| Table Comparison | Comparing Content of Compatible |
| Dynamic Programming | Dynamic Programming |
| Current User | Getting the Current User Name |
| XML/JSON | XML/JSON |
| Repository Objects | ABAP Repository Object Information |
| Generating Objects | Generating ABAP Repository Objects |
| Call Stack | Call Stack |
Sending Emails | |
| Tenant Info | Tenant Information |
| Exceptions | Exception Classes |
| Parallel Processing | Parallel Processing |
| Application Log | Application Log |
| Background Jobs | Running Code in the Background |
| Locking | ## Locking |
| HTTP Calls | Calling Services |
| XLSX | Reading and Writing XLSX Content |
| Zip Files | Zip Files |
| Unit Testing | ABAP Unit |
| Units of Measurement | Units of Measurement |
| ATC | Programmatic ABAP Test Cockpit |
| Number Ranges | Handling Number Ranges |
| Releasing APIs | Releasing APIs |
| Application Jobs | Application Jobs |
| Generative AI | Generative AI |
| Transport Requests | Programmatically Creating and Releasing Transport |
| HTML/XML Cleanup | Repairing and Cleaning up HTML |
| IDE Actions | Creating and Using IDE Actions |
| PDF Rendering | Output Management |
| CSV Export | Writing Internal Table Content to CSV |
| Garbage Collection | Triggering Garbage Collection |
CL_ABAP_BEHAVIOR_HANDLER, CL_ABAP_BEHAVIOR_SAVER)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.