Released ABAP Classes
Reference for released ABAP classes available in ABAP for Cloud Development (SAP BTP ABAP Environment).
Quick Reference by Category
| 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_* |
| Email |
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 |
Common Use Cases
Get Current Date/Time in UTC
"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.
Send Email
TRY.
DATA(mail) = cl_bcs_mail_message=>create_instance( ).
mail->set_sender( 'sender@example.com' ).
mail->add_recipient( 'recipient@example.com' ).
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.
Generate UUID
"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.
JSON Processing
"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 ).
HTTP Client Call
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.
Get Current User
"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.
Detailed Reference
For comprehensive code examples and all available classes, read:
- references/Released_ABAP_Classes.md
Reference File Structure
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 |
| Email |
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 |
1---2name: released-abap-classes3description: Find released ABAP classes for ABAP Cloud Development. Use when user asks about ABAP classes for specific functionality like email, UUID generation, time/date handling, JSON/XML processing, RAP, string processing, random numbers, regex, Base64, HTTP calls, unit testing, PDF rendering, parallel processing, application logs, or any other ABAP Cloud class lookup.4---5
6# Released ABAP Classes
7
8Reference for released ABAP classes available in ABAP for Cloud Development (SAP BTP ABAP Environment).
9
10## Quick Reference by Category
11
12| Category | Key Classes |
13|----------|-------------|
14| **Console Output** | `IF_OO_ADT_CLASSRUN`, `CL_DEMO_CLASSRUN`, `CL_XCO_CP_ADT_SIMPLE_CLASSRUN` |
15| **UUID** | `CL_SYSTEM_UUID`, `XCO_CP`, `XCO_CP_UUID` |
16| **Time & Date** | `CL_ABAP_CONTEXT_INFO`, `XCO_CP_TIME`, `CL_ABAP_TSTMP`, `CL_ABAP_UTCLONG`, `CL_ABAP_DATFM`, `CL_ABAP_TIMEFM` |
17| **Calendar** | `CL_FHC_CALENDAR_RUNTIME`, `CL_SCAL_UTILS` |
18| **String Processing** | `CL_ABAP_CHAR_UTILITIES`, `CL_ABAP_STRING_UTILITIES`, `XCO_CP` |
19| **Numbers/Math** | `CL_ABAP_MATH`, `CL_ABAP_DECFLOAT`, `CL_ABAP_BIGINT`, `CL_ABAP_RATIONAL` |
20| **Random Numbers** | `CL_ABAP_RANDOM_*` (INT, INT8, FLOAT, PACKED, DECFLOAT16/34), `CL_ABAP_PROB_DISTRIBUTION` |
21| **Regular Expressions** | `CL_ABAP_REGEX`, `CL_ABAP_MATCHER` |
22| **Codepage/Binary** | `CL_ABAP_CONV_CODEPAGE`, `CL_ABAP_GZIP*`, `CL_WEB_HTTP_UTILITY` |
23| **JSON/XML** | `XCO_CP_JSON`, `/UI2/CL_JSON`, `CL_SXML_*`, `CL_IXML_*` |
24| **Email** | `CL_BCS_MAIL_MESSAGE` |
25| **HTTP Calls** | `CL_WEB_HTTP_CLIENT_MANAGER`, `CL_HTTP_DESTINATION_PROVIDER` |
26| **RAP** | `CL_ABAP_BEHV_AUX`, `CL_ABAP_BEHAVIOR_HANDLER`, `CL_ABAP_BEHAVIOR_SAVER` |
27| **RTTS** | `CL_ABAP_TYPEDESCR` and hierarchy |
28| **Dynamic Programming** | `CL_ABAP_DYN_PRG`, `CL_ABAP_CORRESPONDING` |
29| **User Info** | `CL_ABAP_CONTEXT_INFO`, `XCO_CP=>sy->user()` |
30| **Unit Testing** | `CL_ABAP_UNIT_ASSERT`, `CL_OSQL_TEST_ENVIRONMENT`, `CL_CDS_TEST_ENVIRONMENT` |
31| **Parallel Processing** | `CL_ABAP_PARALLEL` |
32| **Application Log** | `CL_BALI_LOG` |
33| **Background Jobs** | `CL_BGMC_PROCESS_FACTORY` |
34| **Locking** | `CL_ABAP_LOCK_OBJECT_FACTORY` |
35| **XLSX** | `XCO_CP_XLSX` |
36| **Zip Files** | `CL_ABAP_ZIP` |
37| **PDF Rendering** | `CL_FP_ADS_UTIL` |
38
39## Common Use Cases
40
41### Get Current Date/Time in UTC
42```abap
43"Using CL_ABAP_CONTEXT_INFO
44DATA(sys_date) = cl_abap_context_info=>get_system_date( ). "e.g. 20240101
45DATA(sys_time) = cl_abap_context_info=>get_system_time( ). "e.g. 152450
46
47"Using XCO (various formats)
48DATA(date_utc) = xco_cp=>sy->date( xco_cp_time=>time_zone->utc )->as( xco_cp_time=>format->abap )->value.
49DATA(time_utc) = xco_cp=>sy->time( xco_cp_time=>time_zone->utc )->as( xco_cp_time=>format->iso_8601_extended )->value.
50DATA(moment_utc) = xco_cp=>sy->moment( xco_cp_time=>time_zone->utc )->as( xco_cp_time=>format->iso_8601_extended )->value.
51```
52
53### Send Email
54```abap
55TRY.
56 DATA(mail) = cl_bcs_mail_message=>create_instance( ).
57 mail->set_sender( 'sender@example.com' ).
58 mail->add_recipient( 'recipient@example.com' ).
59 mail->set_subject( 'Subject' ).
60 mail->set_main( cl_bcs_mail_textpart=>create_instance(
61 iv_content = '<h1>Hello</h1><p>Message body.</p>'
62 iv_content_type = 'text/html' ) ).
63 mail->send( IMPORTING et_status = DATA(status) ).
64 CATCH cx_bcs_mail INTO DATA(error).
65ENDTRY.
66```
67
68### Generate UUID
69```abap
70"CL_SYSTEM_UUID
71DATA(uuid_x16) = cl_system_uuid=>create_uuid_x16_static( ).
72DATA(uuid_c36) = cl_system_uuid=>create_uuid_c36_static( ).
73
74"XCO
75DATA(uuid) = xco_cp=>uuid( )->value.
76DATA(uuid_c36_xco) = xco_cp=>uuid( )->as( xco_cp_uuid=>format->c36 )->value.
77```
78
79### JSON Processing
80```abap
81"ABAP -> JSON
82DATA(json) = xco_cp_json=>data->from_abap( some_structure )->to_string( ).
83
84"JSON -> ABAP
85xco_cp_json=>data->from_string( json_string )->write_to( REF #( target_structure ) ).
86
87"Using /UI2/CL_JSON
88DATA(json2) = /ui2/cl_json=>serialize( data = some_data ).
89/ui2/cl_json=>deserialize( EXPORTING json = json2 CHANGING data = target ).
90```
91
92### HTTP Client Call
93```abap
94TRY.
95 DATA(dest) = cl_http_destination_provider=>create_by_url( 'https://api.example.com' ).
96 DATA(client) = cl_web_http_client_manager=>create_by_http_destination( dest ).
97 DATA(request) = client->get_http_request( ).
98 DATA(response) = client->execute( if_web_http_client=>get ).
99 DATA(status) = response->get_status( ).
100 DATA(body) = response->get_text( ).
101 CATCH cx_web_http_client_error cx_http_dest_provider_error INTO DATA(error).
102ENDTRY.
103```
104
105### Get Current User
106```abap
107"Using CL_ABAP_CONTEXT_INFO
108DATA(user_alias) = cl_abap_context_info=>get_user_alias( ).
109DATA(user_name) = cl_abap_context_info=>get_user_formatted_name( ).
110
111"Using XCO
112DATA(user) = xco_cp=>sy->user( )->name.
113```
114
115## Detailed Reference
116
117For comprehensive code examples and all available classes, read:
118- [references/Released_ABAP_Classes.md](references/Released_ABAP_Classes.md)
119
120### Reference File Structure
121
122The reference file is organized into these sections (use grep patterns to search):
123
124| Section | Search Pattern |
125|---------|---------------|
126| Console Output | `Running a Class and Displaying Output` |
127| UUID | `Creating and Transforming UUIDs` |
128| SY Components | `XCO Representations of SY Components` |
129| RAP | `## RAP` |
130| Transactional Consistency | `Transactional Consistency` |
131| Numbers/Calculations | `Numbers and Calculations` |
132| String Processing | `String Processing` |
133| Codepages/Binary | `Handling Codepages and Binary` |
134| Regular Expressions | `Regular Expressions` |
135| Time and Date | `Time and Date` |
136| Calendar | `Calendar-Related Information` |
137| RTTS | `Runtime Type Services` |
138| Assignments | `## Assignments` |
139| Structure Components | `Non-Initial Structure Components` |
140| Table Comparison | `Comparing Content of Compatible` |
141| Dynamic Programming | `Dynamic Programming` |
142| Current User | `Getting the Current User Name` |
143| XML/JSON | `XML/JSON` |
144| Repository Objects | `ABAP Repository Object Information` |
145| Generating Objects | `Generating ABAP Repository Objects` |
146| Call Stack | `Call Stack` |
147| Email | `Sending Emails` |
148| Tenant Info | `Tenant Information` |
149| Exceptions | `Exception Classes` |
150| Parallel Processing | `Parallel Processing` |
151| Application Log | `Application Log` |
152| Background Jobs | `Running Code in the Background` |
153| Locking | `## Locking` |
154| HTTP Calls | `Calling Services` |
155| XLSX | `Reading and Writing XLSX Content` |
156| Zip Files | `Zip Files` |
157| Unit Testing | `ABAP Unit` |
158| Units of Measurement | `Units of Measurement` |
159| ATC | `Programmatic ABAP Test Cockpit` |
160| Number Ranges | `Handling Number Ranges` |
161| Releasing APIs | `Releasing APIs` |
162| Application Jobs | `Application Jobs` |
163| Generative AI | `Generative AI` |
164| Transport Requests | `Programmatically Creating and Releasing Transport` |
165| HTML/XML Cleanup | `Repairing and Cleaning up HTML` |
166| IDE Actions | `Creating and Using IDE Actions` |
167| PDF Rendering | `Output Management` |
168| CSV Export | `Writing Internal Table Content to CSV` |
169| Garbage Collection | `Triggering Garbage Collection` |