Перейти до вмісту

Новини релізів ABAP

Короткий огляд ключових нововведень мови ABAP для Cloud Development (ABAP for Cloud Development) за останніми релізами. Для повного переліку — офіційна Release News у ABAP Keyword Documentation.

Версіонування: 918 (2602) — 918-й release cycle, кодова назва 26Q1. Нижні цифри — рік/квартал.

  • ABAP SQL: новий оператор MERGE — insert/update/delete в одному statement поверх різних джерел даних.
  • RAP Recommendations: context-aware-пропозиції у BDL.
  • CDS propagated buffers оголошені obsolete.
  • RAP: global side effects тригерять перечитку властивостей.
  • EML: трекінг change-операцій над RAP-instances.
  • System classes: CSV writer factory, методи для GC.

Великий CDS-реліз: stricter association ON conditions, table entity buffering, static external entities, static caches, RAP change documents, RAP copy action, collaborative draft. ABAP SQL — розширення агрегатних і spatial-функцій (11 aggregate spatial), GREATEST/LEAST, DISTINCT у OVER clause, покращення LPAD/RPAD, non-numeric aggregate results. Нові статистичні функції виразів (error/gamma/incomplete gamma). EML: автоматичний retry RAP local events (до 3 спроб). TRANSFORMATIONS: нові SOURCE JSON / RESULT JSON additions. System classes: probability distribution classes, математичні константи у CL_ABAP_MATH.

  • CDS: delegated buffers, type mapping constants.
  • ABAP SQL: level-based hierarchies, STRING_AGG, покращення LTRIM/RTRIM, агрегати в in-memory engine.
  • Факторіальні та біноміальні функції.
  • CDS: writable view entities, CDS table entities, writable external entities, AMDP exposure у service definitions, editable treeview з reorder action, event-driven side effects, non-standard association operations.
  • ABAP SQL: connection objects, client column declaration, OPTIONS для DML.
  • AMDP: client-safe methods, FOR SQL SERVICE.
  • EML: runtime type service для BDEF derived types, custom secondary table keys, нові contract checks.
  • SXML: header options (CO_OPT_VAL_NO, CO_OPT_VAL_WITHOUT_ENCODING, CO_OPT_VAL_FULL).
  • TRANSFORMATIONS: XSDGEO domain, spatial reference system formats.
  • ITAB: READ TABLE ... WHERE, розширення FILTER-предикатів.
  • ABAP SQL: binary float type compatibility.
  • RFC: synchronous calls з remote session.
  • CDS: client safety для table functions.
  • CDS: propagated buffers, aspects, external entities, client parameters, session variables, abstract BDEF hierarchy, alternative keys, explicit save ordering.
  • EML: FORWARDING PRIVILEGED, обмеження late save phase.
  • ITAB: гармонізація table expressions та READ TABLE.

Великий реліз. CDS: extended CURR cast matrix, аналітичні scalar-функції (LN, LOG, EXPONENTIAL, POWER), enumerated elements у conditions, IS INITIAL для RAW/DECFLOAT/DATN/TIMN/UTCL, RAP business events для child entities, subentities як authorization master, factory action result multiplicity, RAP key functions. ABAP SQL: динамічний SELECT, ORDER BY за позицією колонки, OPTIONS, CDS scalar functions як expressions, PROVIDED BY. AMDP: CDS SESSION CLIENT DEPENDENT, client-safe method concept. EML: commit handling у RAP projection contexts. Expressions: string expressions у VALUE, FOR GROUPS з NEW. OO: visibility section обовʼязкова для final subclasses.

  • CDS: концепт BDEF friends.
  • ABAP SQL: hierarchy caching, in-memory engine DB hints.
  • DDIC: прибрано extensibility annotation.
  • Docu: англомовна only, CDS annotation docs.
  • CDS: CURRDECFLOAT casting, mandatory:execute для associations, default-value функції.
  • EML: handler methods для default functions, saver class C1 release.
  • CDS: scalar functions, розширена cast-матриця, enumerated types, WHERE у transactional interfaces, $projection-path expressions, interface BDEF events, optimized draft activation, managed instance filtering, AdditionalSave draft action.
  • AMDP: CLIENT INDEPENDENT.
  • ITAB: optimization WHERE-умов.
  • System classes: numeric classes (bigint, rational), diff comparison, timestamp truncation, RAP phase retrieval.
  • CDS: розширення scope Environment.sql.passValue, passValueForClient, typed literal operands, action-level authorization control.
  • ABAP SQL: multiple internal table processing.
  • EML: business event raising, entity event handlers, event handler classes, transactional phase management.
  • CDS: analytical projection view enhancements, simple type definitions, нова cardinality syntax, DCL switch functions, side effects, abstract BDEF extensions.
  • ABAP SQL: PRIVILEGED ACCESS, нова cardinality syntax для joins.
  • Assignments: CORRESPONDING DEFAULT.
  • CDS: @AbapCatalog.preserveKey obsolete, interface BDEF field characteristics, static default factory actions.
  • ABAP SQL: ABAP SQL expressions у conditions.
  • Assignments: RETURN з expression.
  • Types: absolute type names для line types.

Великий release. CDS: custom entity extensions, LEFT/RIGHT enhancements, CASE ELSE NULL, view-on-view buffering, role SWITCHABLE addition, authorization contexts, privileged mode, draft query views, selective deep results, business events, phase-specific save actions, service definition extensions. ABAP SQL: ORDER BY in-memory engine support. Assignments: динамічний component ASSIGN, ELSE UNASSIGN. EML: entity event raising, deep parameter control. Expressions: FINAL — immutable variable declaration.

  • CDS: розширення SUBSTRING, IF...THEN...ELSE у access conditions, interface behavior definitions, field suppression, full data management, mandatory:execute field characteristic.
  • ABAP SQL: in-memory engine для string-функцій, decfloat buffering.
  • Misc: type n → type c import allowance.
  • CDS: amount/quantity field comparisons, table buffering support, context node parameters, field suppression для unmanaged BOs.
  • EML: business event raising.
  • ITAB: STEP у control, hash key exception handling, негативні FROM.
  • CDS: FLTP casting, application session variables, analytical projection views, transactional interfaces, access control context, late numbering, instance-bound factory actions.
  • Misc: динамічний component access.

Ще один великий реліз CDS: abstract entity to-parent associations, set operators (EXCEPT, INTERSECT), extended expression matrix, RUTDDLSV2MIGRATION tool, уніфікований authorization syntax, user-defined aspect filtering, role-based condition replacement, SACF-based conditions, hierarchy directory access conditions, OPTIONAL_ELEMENT_EXISTS, authorization:update, with control для abstract BDEF. OO: dynamic target dref->(comp_name). ABP: документація ABAP Behavior Pools. Assignments: KEEPING_LINES для CL_ABAP_CORRESPONDING. DDIC: C0 extensibility annotations. ITAB: generically typed internal table access.

  • CDS: expression reuse, extended expression matrix, strict mode, нові projection BDEF actions/functions, augmented field characteristics.
  • ABAP SQL: REPLACE_REGEXPR parameters, SUBSTRING_REGEXPR, null indicator byte fields.
  • EML: перша повноцінна документація ABAP EML.

Якщо дивитись на хронологію 2105 → 2602 — напрямок розвитку очевидний:

  1. CDS як центр мови — майже кожен реліз несе десятки змін у CDS, annotations, access control і behavior definitions.
  2. RAP мужніє — draft, events, side effects, precheck, instance authorization з’являлись поступово і тепер складають повноцінну transactional model.
  3. ABAP SQL наздоганяє SQL-можливості HANA — hierarchies, spatial functions, window functions, типізовані літерали, MERGE.
  4. Controlled SAP LUW розширюється — все більше APIs отримують transactional classification.
  5. Dev experience: FINAL для immutable, краща type inference, розширені table expressions, нові asserts і test-frameworks.

Крім Cloud-гілки, SAP продовжує робити releases і для Standard ABAP (on-premise). Зазвичай з лагом у 1-2 роки після Cloud. Більшість CDS/RAP-можливостей з часом приходять і туди, але bundling technique (update FM, subroutines з ON COMMIT) — тільки у Standard ABAP.

Адаптовано з 33_ABAP_Release_News.md (Apache 2.0). Повний перелік нюансів — в оригіналі.