ПРОДУКТЫ И ПЕРЕХОДЫP1L3

Адаптация ABAP после перехода: данные, API и финансовая семантика

Как превратить findings конверсии в целевые изменения ABAP: проверить упрощённые объекты и API, сохранить семантику финансовых данных, измерить производительность и подтвердить результат.

Ревизия 1 Сравнение контекстов Частичное покрытие Контекст: CTX-S4-ONPREMКонтекст: CTX-S4-PRIVATE документальная опора: недостаточно данных
Справочный материал. Контракты данных, архитектурные решения и ограничения применения. Источники приведены в материалах, где используются внешние основания.

После анализа кода нужен не массовый «рефакторинг под HANA», а контролируемое исправление тех объектов, которые затрагивает выбранный source-to-target переход. Исправление считается принятым, когда оно соответствует целевому release, сохраняет ожидаемый результат финансовой операции и прошло проверку в целевом окружении.

Превратите finding в конкретное требование#

Для каждого ATC finding, Simplification Item или ошибки после конверсии определите:

  • исходную и целевую версию и используемый check variant;
  • изменившийся SAP-объект, интерфейс, структуру или ограничение и ссылку на SAP Note;
  • точный Z-объект и путь исполнения, который зависит от изменения;
  • тип действия: синтаксис/типизация, изменение доступа к данным, переход на поддерживаемый API, исправление производительности или redesign;
  • финансовый процесс, пользователя, данные и контроль, которые должны остаться неизменными.

Проверьте сообщение по документации конкретной target-версии и примечанию, на которое оно ссылается. Quick fix может уменьшить технический finding, но не решает вопрос бизнес-семантики, роли авторизации или полноты сценария. Применяйте автоматическое исправление как кандидата в code review; после него активируйте объект, повторите ATC и проверьте diff.

Проверяйте смысл изменённых объектов и API#

Не предполагайте, что таблица с тем же названием или compatibility view сохраняет прежнюю структуру, гранулярность и поддержку всех полей. Для каждого прямого доступа определите, какие поля, ключи, суммы, ledger и фильтры реально использует приложение. Сопоставьте их с целевым объектом, совместимостью, ограничениями чтения/записи и целевым контрактом.

Compatibility view может предоставлять ограниченную совместимость для прежнего интерфейса; это не универсальный договор на дальнейшую разработку и не разрешение изменять представленные данные через него. Сверьте назначение и срок поддержки для target release. Для новых чтений выбирайте документированный CDS View из подходящей области VDM и учитывайте его stability contract, статус, авторизации и пригодность для нужного сценария.

View Browser и документация помогают исследовать поля, семантические аннотации, назначение, статус и возможного successor. Выбор successor требует сравнить, что именно возвращает новый объект и какие фильтры/измерения он поддерживает. Одинаковый label у поля не доказывает эквивалентность.

Для финансовой операции сохраняйте необходимые измерения: company code, ledger, account assignment, currency, fiscal period, posting/document date и document/line identity. Не переходите на агрегатный CDS-запрос, если потребителю нужны открытые позиции, сторно, отдельные строки или lineage до исходного документа.

Сохраняйте семантику в изменениях типов и SQL#

Проверьте длину и тип каждого значения на границах SAP API, структуры, внутренней таблицы и внешнего интерфейса. Усечение identifier или сумма с прежней точностью могут не вызывать синтаксическую ошибку, но приводить к неверному поиску объекта, отбрасыванию строк или изменению суммы. Сопоставьте типы, преобразования, округление, null/initial и сортировку на реальных граничных примерах.

Для SQL-переписывания установите, какой результат требует процесс: полный набор строк, точные ключи, понятный порядок, дедупликация или агрегирование. Не полагайтесь на случайный порядок строк без явной сортировки. Проверьте joins, клиентские ограничения, единицы/валюты, фильтры периода и различия между источником и CDS-слоем. Статически корректный SELECT не гарантирует тот же набор бухгалтерских документов.

Если чтение участвует в финансовом расчёте, проверьте currency/amount pair, валюту оценки, ledger, posting date и правила периода. Если читает интерфейс, проверьте его contract и downstream consumers. Изменение доступа к данным не должно незаметно менять формулу, выборку или детализацию.

Измеряйте производительность на критическом пути#

После замены структуры или SQL зафиксируйте прежний и целевой запрос, системные/периодные параметры, объём данных и число результатов. Измеряйте representative execution для фактического процесса на целевой платформе. Сравните runtime, число прочитанных строк, объём переданных данных, количество обращений и memory use там, где доступны эти метрики.

Не оптимизируйте по одному тесту с пустой базой. Проверьте массовую обработку, крупный период, типичные фильтры, редкий длинный документ и межсистемный поток, если они входят в scope. HANA execution plan может отличаться от прежней базы; переписывание должно подтвердить улучшение без потери смысла и корректности.

Стройте исправление вместе с финансовым тестом#

Для каждой адаптации свяжите finding, commit/transport, целевой SAP объект/API, ожидаемый вход и результат, финансовую сверку и regression owner. Используйте малые изменения, которые можно проверить отдельно; массовый quick fix без изолируемого результата затрудняет диагностику.

В минимальном regression-наборе для затронутого объекта проверьте:

  1. обычную и граничную запись, включая длинные ключи, нулевые значения и большие суммы;
  2. несколько валют, ledger, дату документа и дату проводки, включая границу открытого/закрытого периода;
  3. несколько строк документа, сторно, повторную обработку и open/cleared status, если они поддерживаются сценарием;
  4. авторизацию, company/client scope и внешние интерфейсы, которые используют результат;
  5. контрольные суммы, количества документов и трассировку результата к исходной записи;
  6. ATC на целевом варианте и измерение критического performance path после адаптации.

Сравнивайте исходную и исправленную реализацию на одном входном снимке. Каждое допустимое отличие должно быть описано как ожидаемое изменение SAP, а не просто принято из-за нового кода. После конверсии повторите target checks и бизнес-регрессию на фактическом релизе.

Не объединяйте в одну задачу устранение syntax error, замену API, оптимизацию SQL и пересмотр бизнес-правила. Если процесс должен намеренно поменяться, согласуйте его отдельно с владельцем учёта и задайте новую ожидаемую сверку.

Этот материал частично покрывает MIG-09. Руководства Custom Code Migration для S/4HANA 2025 относятся к On-Premise и Private Edition; источники по compatibility views, VDM и View Browser относятся к On-Premise 2025 FPS01. Реальный ABAP код, ATC run, API scope, производительность, финансовые данные и SAP runtime не проверялись; источники остаются metadata_only.

Связанные материалы#

Источники и документация

  1. Custom Code Migration Guide for SAP S/4HANA 2025 ↗
  2. Custom Code Migration Guide for SAP S/4HANA and SAP S/4HANA Cloud Private Edition 2025 ↗
  3. Simplification List for SAP S/4HANA 2025 FPS01 ↗
  4. Compatibility Views and SAP Landscape Transformation Replication Server ↗
  5. Virtual Data Model and CDS Views in SAP S/4HANA 2025 FPS01 ↗
  6. View Browser in SAP S/4HANA 2025 FPS01 ↗

Источники нужны для самостоятельной проверки. Примеры и интерпретации на сайте могут быть учебными упрощениями.