{"id":"4f220d4d-02cf-4e2a-ba59-016c69792f31","shortId":"YB4kWj","kind":"skill","title":"released-abap-classes","tagline":"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 rende","description":"# Released ABAP Classes\n\nReference for released ABAP classes available in ABAP for Cloud Development (SAP BTP ABAP Environment).\n\n## Quick Reference by Category\n\n| Category | Key Classes |\n|----------|-------------|\n| **Console Output** | `IF_OO_ADT_CLASSRUN`, `CL_DEMO_CLASSRUN`, `CL_XCO_CP_ADT_SIMPLE_CLASSRUN` |\n| **UUID** | `CL_SYSTEM_UUID`, `XCO_CP`, `XCO_CP_UUID` |\n| **Time & Date** | `CL_ABAP_CONTEXT_INFO`, `XCO_CP_TIME`, `CL_ABAP_TSTMP`, `CL_ABAP_UTCLONG`, `CL_ABAP_DATFM`, `CL_ABAP_TIMEFM` |\n| **Calendar** | `CL_FHC_CALENDAR_RUNTIME`, `CL_SCAL_UTILS` |\n| **String Processing** | `CL_ABAP_CHAR_UTILITIES`, `CL_ABAP_STRING_UTILITIES`, `XCO_CP` |\n| **Numbers/Math** | `CL_ABAP_MATH`, `CL_ABAP_DECFLOAT`, `CL_ABAP_BIGINT`, `CL_ABAP_RATIONAL` |\n| **Random Numbers** | `CL_ABAP_RANDOM_*` (INT, INT8, FLOAT, PACKED, DECFLOAT16/34), `CL_ABAP_PROB_DISTRIBUTION` |\n| **Regular Expressions** | `CL_ABAP_REGEX`, `CL_ABAP_MATCHER` |\n| **Codepage/Binary** | `CL_ABAP_CONV_CODEPAGE`, `CL_ABAP_GZIP*`, `CL_WEB_HTTP_UTILITY` |\n| **JSON/XML** | `XCO_CP_JSON`, `/UI2/CL_JSON`, `CL_SXML_*`, `CL_IXML_*` |\n| **Email** | `CL_BCS_MAIL_MESSAGE` |\n| **HTTP Calls** | `CL_WEB_HTTP_CLIENT_MANAGER`, `CL_HTTP_DESTINATION_PROVIDER` |\n| **RAP** | `CL_ABAP_BEHV_AUX`, `CL_ABAP_BEHAVIOR_HANDLER`, `CL_ABAP_BEHAVIOR_SAVER` |\n| **RTTS** | `CL_ABAP_TYPEDESCR` and hierarchy |\n| **Dynamic Programming** | `CL_ABAP_DYN_PRG`, `CL_ABAP_CORRESPONDING` |\n| **User Info** | `CL_ABAP_CONTEXT_INFO`, `XCO_CP=>sy->user()` |\n| **Unit Testing** | `CL_ABAP_UNIT_ASSERT`, `CL_OSQL_TEST_ENVIRONMENT`, `CL_CDS_TEST_ENVIRONMENT` |\n| **Parallel Processing** | `CL_ABAP_PARALLEL` |\n| **Application Log** | `CL_BALI_LOG` |\n| **Background Jobs** | `CL_BGMC_PROCESS_FACTORY` |\n| **Locking** | `CL_ABAP_LOCK_OBJECT_FACTORY` |\n| **XLSX** | `XCO_CP_XLSX` |\n| **Zip Files** | `CL_ABAP_ZIP` |\n| **PDF Rendering** | `CL_FP_ADS_UTIL` |\n\n## Common Use Cases\n\n### Get Current Date/Time in UTC\n```abap\n\"Using CL_ABAP_CONTEXT_INFO\nDATA(sys_date) = cl_abap_context_info=>get_system_date( ).  \"e.g. 20240101\nDATA(sys_time) = cl_abap_context_info=>get_system_time( ).  \"e.g. 152450\n\n\"Using XCO (various formats)\nDATA(date_utc) = xco_cp=>sy->date( xco_cp_time=>time_zone->utc )->as( xco_cp_time=>format->abap )->value.\nDATA(time_utc) = xco_cp=>sy->time( xco_cp_time=>time_zone->utc )->as( xco_cp_time=>format->iso_8601_extended )->value.\nDATA(moment_utc) = xco_cp=>sy->moment( xco_cp_time=>time_zone->utc )->as( xco_cp_time=>format->iso_8601_extended )->value.\n```\n\n### Send Email\n```abap\nTRY.\n    DATA(mail) = cl_bcs_mail_message=>create_instance( ).\n    mail->set_sender( 'sender@example.com' ).\n    mail->add_recipient( 'recipient@example.com' ).\n    mail->set_subject( 'Subject' ).\n    mail->set_main( cl_bcs_mail_textpart=>create_instance(\n      iv_content      = '<h1>Hello</h1><p>Message body.</p>'\n      iv_content_type = 'text/html' ) ).\n    mail->send( IMPORTING et_status = DATA(status) ).\n  CATCH cx_bcs_mail INTO DATA(error).\nENDTRY.\n```\n\n### Generate UUID\n```abap\n\"CL_SYSTEM_UUID\nDATA(uuid_x16) = cl_system_uuid=>create_uuid_x16_static( ).\nDATA(uuid_c36) = cl_system_uuid=>create_uuid_c36_static( ).\n\n\"XCO\nDATA(uuid) = xco_cp=>uuid( )->value.\nDATA(uuid_c36_xco) = xco_cp=>uuid( )->as( xco_cp_uuid=>format->c36 )->value.\n```\n\n### JSON Processing\n```abap\n\"ABAP -> JSON\nDATA(json) = xco_cp_json=>data->from_abap( some_structure )->to_string( ).\n\n\"JSON -> ABAP\nxco_cp_json=>data->from_string( json_string )->write_to( REF #( target_structure ) ).\n\n\"Using /UI2/CL_JSON\nDATA(json2) = /ui2/cl_json=>serialize( data = some_data ).\n/ui2/cl_json=>deserialize( EXPORTING json = json2 CHANGING data = target ).\n```\n\n### HTTP Client Call\n```abap\nTRY.\n    DATA(dest) = cl_http_destination_provider=>create_by_url( 'https://api.example.com' ).\n    DATA(client) = cl_web_http_client_manager=>create_by_http_destination( dest ).\n    DATA(request) = client->get_http_request( ).\n    DATA(response) = client->execute( if_web_http_client=>get ).\n    DATA(status) = response->get_status( ).\n    DATA(body) = response->get_text( ).\n  CATCH cx_web_http_client_error cx_http_dest_provider_error INTO DATA(error).\nENDTRY.\n```\n\n### Get Current User\n```abap\n\"Using CL_ABAP_CONTEXT_INFO\nDATA(user_alias) = cl_abap_context_info=>get_user_alias( ).\nDATA(user_name) = cl_abap_context_info=>get_user_formatted_name( ).\n\n\"Using XCO\nDATA(user) = xco_cp=>sy->user( )->name.\n```\n\n## Detailed Reference\n\nFor comprehensive code examples and all available classes, read:\n- [references/Released_ABAP_Classes.md](references/Released_ABAP_Classes.md)\n\n### Reference File Structure\n\nThe reference file is organized into these sections (use grep patterns to search):\n\n| Section | Search Pattern |\n|---------|---------------|\n| Console Output | `Running a Class and Displaying Output` |\n| UUID | `Creating and Transforming UUIDs` |\n| SY Components | `XCO Representations of SY Components` |\n| RAP | `## RAP` |\n| Transactional Consistency | `Transactional Consistency` |\n| Numbers/Calculations | `Numbers and Calculations` |\n| String Processing | `String Processing` |\n| Codepages/Binary | `Handling Codepages and Binary` |\n| Regular Expressions | `Regular Expressions` |\n| Time and Date | `Time and Date` |\n| Calendar | `Calendar-Related Information` |\n| RTTS | `Runtime Type Services` |\n| Assignments | `## Assignments` |\n| Structure Components | `Non-Initial Structure Components` |\n| Table Comparison | `Comparing Content of Compatible` |\n| Dynamic Programming | `Dynamic Programming` |\n| Current User | `Getting the Current User Name` |\n| XML/JSON | `XML/JSON` |\n| Repository Objects | `ABAP Repository Object Information` |\n| Generating Objects | `Generating ABAP Repository Objects` |\n| Call Stack | `Call Stack` |\n| Email | `Sending Emails` |\n| Tenant Info | `Tenant Information` |\n| Exceptions | `Exception Classes` |\n| Parallel Processing | `Parallel Processing` |\n| Application Log | `Application Log` |\n| Background Jobs | `Running Code in the Background` |\n| Locking | `## Locking` |\n| HTTP Calls | `Calling Services` |\n| XLSX | `Reading and Writing XLSX Content` |\n| Zip Files | `Zip Files` |\n| Unit Testing | `ABAP Unit` |\n| Units of Measurement | `Units of Measurement` |\n| ATC | `Programmatic ABAP Test Cockpit` |\n| Number Ranges | `Handling Number Ranges` |\n| Releasing APIs | `Releasing APIs` |\n| Application Jobs | `Application Jobs` |\n| Generative AI | `Generative AI` |\n| Transport Requests | `Programmatically Creating and Releasing Transport` |\n| HTML/XML Cleanup | `Repairing and Cleaning up HTML` |\n| IDE Actions | `Creating and Using IDE Actions` |\n| PDF Rendering | `Output Management` |\n| CSV Export | `Writing Internal Table Content to CSV` |\n| Garbage Collection | `Triggering Garbage Collection` |","tags":["released","abap","classes","skills","likweitan","agent-skills","sap"],"capabilities":["skill","source-likweitan","skill-released-abap-classes","topic-abap","topic-agent-skills","topic-sap"],"categories":["abap-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/likweitan/abap-skills/released-abap-classes","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add likweitan/abap-skills","source_repo":"https://github.com/likweitan/abap-skills","install_from":"skills.sh"}},"qualityScore":"0.456","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 12 github stars · SKILL.md body (6,737 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T01:03:17.069Z","embedding":null,"createdAt":"2026-04-23T13:03:45.686Z","updatedAt":"2026-04-24T01:03:17.069Z","lastSeenAt":"2026-04-24T01:03:17.069Z","tsv":"'/ui2/cl_json':185,538,541,546 '152450':332 '20240101':320 '8601':376,398 'abap':3,7,10,18,45,50,54,60,96,103,106,109,112,125,129,136,139,142,145,150,158,164,167,171,175,208,212,216,221,228,232,237,247,261,276,287,303,306,313,325,355,403,460,507,508,517,523,557,624,627,634,644,780,787,837,847 'action':882,887 'ad':293 'add':418 'adt':73,81 'ai':864,866 'alia':632,639 'api':856,858 'api.example.com':568 'applic':263,808,810,859,861 'ask':16 'assert':249 'assign':750,751 'atc':845 'aux':210 'avail':52,668 'background':268,812,818 'bali':266 'base64':37 'bcs':192,408,429,452 'behavior':213,217 'behv':209 'bgmc':271 'bigint':143 'binari':730 'bodi':438,602 'btp':59 'c36':476,482,493,503 'calcul':721 'calendar':114,117,741,743 'calendar-rel':742 'call':39,196,556,790,792,822,823 'case':297 'catch':450,606 'categori':65,66 'cds':255 'chang':551 'char':126 'cl':75,78,85,95,102,105,108,111,115,119,124,128,135,138,141,144,149,157,163,166,170,174,177,186,188,191,197,202,207,211,215,220,227,231,236,246,250,254,260,265,270,275,286,291,305,312,324,407,428,461,467,477,561,571,626,633,643 'class':4,8,19,46,51,68,669,696,803 'classrun':74,77,83 'clean':878 'cleanup':875 'client':200,555,570,574,583,589,594,610 'cloud':11,56 'cockpit':849 'code':664,815 'codepag':173,728 'codepage/binary':169 'codepages/binary':726 'collect':901,904 'common':295 'compar':761 'comparison':760 'compat':764 'compon':706,711,753,758 'comprehens':663 'consist':715,717 'consol':69,692 'content':435,440,762,830,897 'context':97,238,307,314,326,628,635,645 'conv':172 'correspond':233 'cp':80,89,91,100,133,183,241,282,341,345,352,361,365,372,383,387,394,488,496,500,513,525,656 'creat':411,432,470,480,565,576,701,870,883 'csv':892,899 'current':299,622,769,773 'cx':451,607,612 'data':309,321,337,357,379,405,448,455,464,474,485,491,510,515,527,539,543,545,552,559,569,581,587,596,601,618,630,640,653 'date':94,311,318,338,343,737,740 'date/time':300 'datfm':110 'decfloat':140 'decfloat16/34':156 'demo':76 'deseri':547 'dest':560,580,614 'destin':204,563,579 'detail':660 'develop':12,57 'display':698 'distribut':160 'dyn':229 'dynam':225,765,767 'e.g':319,331 'email':24,190,402,794,796 'endtri':457,620 'environ':61,253,257 'error':456,611,616,619 'et':446 'exampl':665 'except':801,802 'execut':590 'export':548,893 'express':162,732,734 'extend':377,399 'factori':273,279 'fhc':116 'file':285,674,678,832,834 'find':5 'float':154 'format':336,354,374,396,502,649 'fp':292 'function':22 'garbag':900,903 'generat':26,458,784,786,863,865 'get':298,316,328,584,595,599,604,621,637,647,771 'grep':685 'gzip':176 'handl':28,727,852 'handler':214 'hello':436 'hierarchi':224 'html':880 'html/xml':874 'http':38,179,195,199,203,554,562,573,578,585,593,609,613,821 'ide':881,886 'import':445 'info':98,235,239,308,315,327,629,636,646,798 'inform':745,783,800 'initi':756 'instanc':412,433 'int':152 'int8':153 'intern':895 'iso':375,397 'iv':434,439 'ixml':189 'job':269,813,860,862 'json':184,505,509,511,514,522,526,530,549 'json/xml':29,181 'json2':540,550 'key':67 'like':23 'lock':274,277,819,820 'log':264,267,809,811 'mail':193,406,409,413,417,421,425,430,443,453 'main':427 'manag':201,575,891 'matcher':168 'math':137 'measur':841,844 'messag':194,410,437 'moment':380,385 'name':642,650,659,775 'non':755 'non-initi':754 'number':35,148,719,850,853 'numbers/calculations':718 'numbers/math':134 'object':278,779,782,785,789 'oo':72 'organ':680 'osql':251 'output':70,693,699,890 'pack':155 'parallel':258,262,804,806 'pattern':686,691 'pdf':42,289,888 'prg':230 'prob':159 'process':30,33,123,259,272,506,723,725,805,807 'program':226,766,768 'programmat':846,869 'provid':205,564,615 'quick':62 'random':34,147,151 'rang':851,854 'rap':31,206,712,713 'ration':146 'read':670,826 'recipi':419 'recipient@example.com':420 'ref':534 'refer':47,63,661,673,677 'references/released_abap_classes.md':671,672 'regex':36,165 'regular':161,731,733 'relat':744 'releas':2,6,44,49,855,857,872 'released-abap-class':1 'rend':43 'render':290,889 'repair':876 'repositori':778,781,788 'represent':708 'request':582,586,868 'respons':588,598,603 'rtts':219,746 'run':694,814 'runtim':118,747 'sap':58 'saver':218 'scal':120 'search':688,690 'section':683,689 'send':401,444,795 'sender':415 'sender@example.com':416 'serial':542 'servic':749,824 'set':414,422,426 'simpl':82 'skill' 'skill-released-abap-classes' 'source-likweitan' 'specif':21 'stack':791,793 'static':473,483 'status':447,449,597,600 'string':32,122,130,521,529,531,722,724 'structur':519,536,675,752,757 'subject':423,424 'sxml':187 'sy':242,342,362,384,657,705,710 'sys':310,322 'system':86,317,329,462,468,478 'tabl':759,896 'target':535,553 'tenant':797,799 'test':41,245,252,256,836,848 'text':605 'text/html':442 'textpart':431 'time':93,101,323,330,346,347,353,358,363,366,367,373,388,389,395,735,738 'time/date':27 'timefm':113 'topic-abap' 'topic-agent-skills' 'topic-sap' 'transact':714,716 'transform':703 'transport':867,873 'tri':404,558 'trigger':902 'tstmp':104 'type':441,748 'typedescr':222 'unit':40,244,248,835,838,839,842 'url':567 'use':13,296,304,333,537,625,651,684,885 'user':15,234,243,623,631,638,641,648,654,658,770,774 'utc':302,339,349,359,369,381,391 'utclong':107 'util':121,127,131,180,294 'uuid':25,84,87,92,459,463,465,469,471,475,479,481,486,489,492,497,501,700,704 'valu':356,378,400,490,504 'various':335 'web':178,198,572,592,608 'write':532,828,894 'x16':466,472 'xco':79,88,90,99,132,182,240,281,334,340,344,351,360,364,371,382,386,393,484,487,494,495,499,512,524,652,655,707 'xlsx':280,283,825,829 'xml/json':776,777 'zip':284,288,831,833 'zone':348,368,390","prices":[{"id":"d910df04-a29d-477e-a48e-276ee2a68b7d","listingId":"4f220d4d-02cf-4e2a-ba59-016c69792f31","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"likweitan","category":"abap-skills","install_from":"skills.sh"},"createdAt":"2026-04-23T13:03:45.686Z"}],"sources":[{"listingId":"4f220d4d-02cf-4e2a-ba59-016c69792f31","source":"github","sourceId":"likweitan/abap-skills/released-abap-classes","sourceUrl":"https://github.com/likweitan/abap-skills/tree/main/skills/released-abap-classes","isPrimary":false,"firstSeenAt":"2026-04-23T13:03:45.686Z","lastSeenAt":"2026-04-24T01:03:17.069Z"}],"details":{"listingId":"4f220d4d-02cf-4e2a-ba59-016c69792f31","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"likweitan","slug":"released-abap-classes","github":{"repo":"likweitan/abap-skills","stars":12,"topics":["abap","agent-skills","sap"],"license":"mit","html_url":"https://github.com/likweitan/abap-skills","pushed_at":"2026-04-17T13:44:41Z","description":"Advance Agent Skills for ABAP Developers","skill_md_sha":"240a289a6496f409d47a1b852ed77b9116ab53a8","skill_md_path":"skills/released-abap-classes/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/likweitan/abap-skills/tree/main/skills/released-abap-classes"},"layout":"multi","source":"github","category":"abap-skills","frontmatter":{"name":"released-abap-classes","description":"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."},"skills_sh_url":"https://skills.sh/likweitan/abap-skills/released-abap-classes"},"updatedAt":"2026-04-24T01:03:17.069Z"}}